diff options
author | Monika Forstner <Monika_Forstner@mentor.com> | 2020-09-16 10:20:03 +0200 |
---|---|---|
committer | Monika Forstner <Monika_Forstner@mentor.com> | 2020-09-16 10:50:27 +0200 |
commit | 2fb502b4bc23aa13fee1db3395b3cae5e34cc871 (patch) | |
tree | d9cd2c64522f190500dc53291b4fbcf5100b9720 /NodeStateMachineTest/NodeStateTest_WATCHDOG.cpp | |
parent | 253d10aada6bf5cdfe307aaff55363f08194c85e (diff) | |
download | node-state-manager-release_NSM_CommonAPI.tar.gz |
NSM Release 3.0release_NSM_CommonAPI
Diffstat (limited to 'NodeStateMachineTest/NodeStateTest_WATCHDOG.cpp')
-rw-r--r-- | NodeStateMachineTest/NodeStateTest_WATCHDOG.cpp | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/NodeStateMachineTest/NodeStateTest_WATCHDOG.cpp b/NodeStateMachineTest/NodeStateTest_WATCHDOG.cpp new file mode 100644 index 0000000..3cec079 --- /dev/null +++ b/NodeStateMachineTest/NodeStateTest_WATCHDOG.cpp @@ -0,0 +1,95 @@ +/********************************************************************************************************************** + * + * Copyright (C) 2017 BMW AG + * + * Implements tests for NSM + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + **********************************************************************************************************************/ + +#include <gtest/gtest.h> +#include <iostream> +#include <dlt.h> + +#include "../NodeStateManager/Watchdog.hpp" + +DLT_DECLARE_CONTEXT(NsmContext); + +class NSMTest_WATCHDOG: public testing::Test +{ +protected: + virtual void SetUp() + { + + } + + virtual void TearDown() + { + + } + +public: + +}; + +/******************************************************************************************** + * main() + ********************************************************************************************/ + +int main(int argc, char **argv) +{ + int retVal = 1; + DLT_REGISTER_APP("NSMT", "Unit tests for NSM"); + DLT_REGISTER_CONTEXT(NsmContext,"WD","Context for Watchdog Tests"); + + testing::InitGoogleTest(&argc, argv); + retVal = RUN_ALL_TESTS(); + + // unregister debug log and trace + DLT_UNREGISTER_CONTEXT(NsmContext); + DLT_UNREGISTER_APP(); + return retVal; +} + +/******************************************************************************************** + * Timeout Tests + ********************************************************************************************/ + +TEST_F(NSMTest_WATCHDOG, WatchdogTimeout) +{ + RecordProperty("TestCaseID", "WatchdogTimeout"); + RecordProperty("TestCaseDescription", ""); + + DLT_LOG(NsmContext, DLT_LOG_INFO, DLT_STRING("run_test_WatchdogTimeout ==> start")); + + NSMTriggerWatchdog(NsmWatchdogState_Active); + ASSERT_TRUE(NSMWatchdogIsHappy()); + NSMTriggerWatchdog(NsmWatchdogState_Active); + ASSERT_TRUE(NSMWatchdogIsHappy()); + ASSERT_FALSE(NSMWatchdogIsHappy()); + NSMTriggerWatchdog(NsmWatchdogState_Active); + ASSERT_TRUE(NSMWatchdogIsHappy()); + NSMUnregisterWatchdog(); + ASSERT_TRUE(NSMWatchdogIsHappy()); + NSMTriggerWatchdog(NsmWatchdogState_Active); + ASSERT_TRUE(NSMWatchdogIsHappy()); + NSMTriggerWatchdog(NsmWatchdogState_Active); + NSMTriggerWatchdog(NsmWatchdogState_Sleep); + ASSERT_TRUE(NSMWatchdogIsHappy()); + ASSERT_TRUE(NSMWatchdogIsHappy()); + NSMTriggerWatchdog(NsmWatchdogState_Active); + ASSERT_TRUE(NSMWatchdogIsHappy()); + ASSERT_FALSE(NSMWatchdogIsHappy()); + + NSMTriggerWatchdog(NsmWatchdogState_Sleep); + NSMTriggerSpecificWatchdog(NsmWatchdogState_Active, 1); + ASSERT_TRUE(NSMWatchdogIsHappy()); + ASSERT_FALSE(NSMWatchdogIsHappy()); + + DLT_LOG(NsmContext, DLT_LOG_INFO, DLT_STRING("run_test_WatchdogTimeout ==> end")); +} + + |