summaryrefslogtreecommitdiffstats
path: root/test/watchdog_test.hpp
blob: 0d1d62806f380f28d6a19a5e7655ec621872bcd0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <timer_test.hpp>
#include <chrono>
#include <watchdog.hpp>

using namespace std::chrono;
using namespace std::chrono_literals;

// Test Watchdog functionality
class WdogTest : public TimerTest
{
    public:
        // Gets called as part of each TEST_F construction
        WdogTest()
            : bus(sdbusplus::bus::new_default()),
              wdog(bus, TEST_PATH, eventP),
              defaultInterval(milliseconds(wdog.interval())),
              defaultDrift(30)
        {
            // Check for successful creation of
            // event handler and bus handler
            EXPECT_GE(rc, 0);

            // Initially the watchdog would be disabled
            EXPECT_EQ(false, wdog.enabled());
        }

        //sdbusplus handle
        sdbusplus::bus::bus bus;

        // Watchdog object
        phosphor::watchdog::Watchdog wdog;

        // This is the default interval as given in Interface definition
        milliseconds defaultInterval;

        // Acceptable drift when we compare the interval to timeRemaining.
        // This is needed since it depends on when do we get scheduled and it
        // has happened that remaining time was off by few msecs.
        milliseconds defaultDrift;

    private:
        // Dummy name for object path
        // This is just to satisfy the constructor. Does not have
        // a need to check if the objects paths have been created.
        static constexpr auto TEST_PATH = "/test/path";
};
OpenPOWER on IntegriCloud