Easy Navigation
Loading...
Searching...
No Matches
system_safety_mode_tests.cpp File Reference

Configuration validation, safety mode, frozen configuration and configuration hash. More...

#include <algorithm>
#include <atomic>
#include <chrono>
#include <iterator>
#include <limits>
#include <memory>
#include <optional>
#include <thread>
#include <regex>
#include <string>
#include <vector>
#include "gtest/gtest.h"
#include "diagnostic_msgs/msg/diagnostic_status.hpp"
#include "easynav_interfaces/msg/heartbeat.hpp"
#include "easynav_interfaces/msg/safety_status.hpp"
#include "geometry_msgs/msg/twist.hpp"
#include "lifecycle_msgs/msg/state.hpp"
#include "lifecycle_msgs/msg/transition.hpp"
#include "nav_msgs/msg/odometry.hpp"
#include "rclcpp/rclcpp.hpp"
#include "easynav_core/SafetyChannel.hpp"
#include "easynav_system/RealTime.hpp"
#include "easynav_system/SystemNode.hpp"
Include dependency graph for system_safety_mode_tests.cpp:

Classes

class  SystemSafetyChannelTest
class  SystemSafetyModeTest

Functions

 TEST_F (SystemSafetyChannelTest, AnInvalidSafetyStatusStopsTheRobot)
 TEST_F (SystemSafetyChannelTest, AProtectiveStopStopsTheRobotAndItResumesFromZero)
 TEST_F (SystemSafetyChannelTest, ASpeedLimitSlowsTheRobotDownAndIsLifted)
 TEST_F (SystemSafetyChannelTest, InvalidSafetyStatusTimeoutsFailToConfigure)
 TEST_F (SystemSafetyChannelTest, LosingTheSafetyStatusStopsTheRobot)
 TEST_F (SystemSafetyChannelTest, TheRobotOnlyMovesWithAValidSafetyStatus)
 TEST_F (SystemSafetyChannelTest, WithoutSafetyStatusNothingChanges)
 TEST_F (SystemSafetyModeTest, AComponentBlockingLongerThanAWindowIsReported)
 TEST_F (SystemSafetyModeTest, AComponentFasterThanTheSystemCycleFailsToConfigure)
 TEST_F (SystemSafetyModeTest, AComponentKeepingItsFrequencyIsReportedOk)
 TEST_F (SystemSafetyModeTest, AComponentThatCannotKeepItsFrequencyIsOnlyAWarning)
 TEST_F (SystemSafetyModeTest, AControllerOverrunningTheRtCycleIsOnlyReportedOutsideSafetyMode)
 TEST_F (SystemSafetyModeTest, AControllerOverrunningTheRtCycleStopsEasyNavInSafetyMode)
 TEST_F (SystemSafetyModeTest, AnInactivePeriodIsNotALateCycle)
 TEST_F (SystemSafetyModeTest, AnOldRobotPoseBrakesTheRobotInSafetyMode)
 TEST_F (SystemSafetyModeTest, ASlowControllerWithinTheToleranceIsNotReported)
 TEST_F (SystemSafetyModeTest, ConfigurationHashFollowsReconfigurations)
 TEST_F (SystemSafetyModeTest, ConfigurationHashIsAStableSha256OfEveryParameter)
 TEST_F (SystemSafetyModeTest, DefaultsConfigureOutsideSafetyMode)
 TEST_F (SystemSafetyModeTest, InvalidRobotLimitsFailToConfigureAndLeaveNothingConfigured)
 TEST_F (SystemSafetyModeTest, InvalidSystemParametersFailToConfigureInAnyMode)
 TEST_F (SystemSafetyModeTest, IsolatedOverrunsDoNotStopEasyNavInSafetyMode)
 TEST_F (SystemSafetyModeTest, LateRtCyclesAreOnlyReportedOutsideSafetyMode)
 TEST_F (SystemSafetyModeTest, LateRtCyclesStopEasyNavInSafetyMode)
 TEST_F (SystemSafetyModeTest, OutsideSafetyModeTheConfigurationIsNotFrozen)
 TEST_F (SystemSafetyModeTest, RobotLimitsMayNotExceedTheSafetyLimitsWhenGiven)
 TEST_F (SystemSafetyModeTest, SafetyModeConfiguresWithEverythingItRequires)
 TEST_F (SystemSafetyModeTest, SafetyModeFailsToConfigureWithoutWhatItRequires)
 TEST_F (SystemSafetyModeTest, SafetyModeFreezesTheConfiguration)
 TEST_F (SystemSafetyModeTest, SafetyModeRejectsReconfigurationRequests)
 TEST_F (SystemSafetyModeTest, TheHeartbeatStopsWhenTheRtCycleStops)
 TEST_F (SystemSafetyModeTest, TheTimeInactiveIsNotSlowness)
 TEST_F (SystemSafetyModeTest, UninitializedParametersDoNotBreakTheFrequencyCheck)

Detailed Description

Configuration validation, safety mode, frozen configuration and configuration hash.

Function Documentation

◆ TEST_F() [1/33]

TEST_F ( SystemSafetyChannelTest ,
AnInvalidSafetyStatusStopsTheRobot  )

◆ TEST_F() [2/33]

TEST_F ( SystemSafetyChannelTest ,
AProtectiveStopStopsTheRobotAndItResumesFromZero  )

◆ TEST_F() [3/33]

TEST_F ( SystemSafetyChannelTest ,
ASpeedLimitSlowsTheRobotDownAndIsLifted  )

◆ TEST_F() [4/33]

TEST_F ( SystemSafetyChannelTest ,
InvalidSafetyStatusTimeoutsFailToConfigure  )

◆ TEST_F() [5/33]

TEST_F ( SystemSafetyChannelTest ,
LosingTheSafetyStatusStopsTheRobot  )

◆ TEST_F() [6/33]

TEST_F ( SystemSafetyChannelTest ,
TheRobotOnlyMovesWithAValidSafetyStatus  )

◆ TEST_F() [7/33]

TEST_F ( SystemSafetyChannelTest ,
WithoutSafetyStatusNothingChanges  )

◆ TEST_F() [8/33]

TEST_F ( SystemSafetyModeTest ,
AComponentBlockingLongerThanAWindowIsReported  )

◆ TEST_F() [9/33]

TEST_F ( SystemSafetyModeTest ,
AComponentFasterThanTheSystemCycleFailsToConfigure  )

◆ TEST_F() [10/33]

TEST_F ( SystemSafetyModeTest ,
AComponentKeepingItsFrequencyIsReportedOk  )

◆ TEST_F() [11/33]

TEST_F ( SystemSafetyModeTest ,
AComponentThatCannotKeepItsFrequencyIsOnlyAWarning  )

◆ TEST_F() [12/33]

TEST_F ( SystemSafetyModeTest ,
AControllerOverrunningTheRtCycleIsOnlyReportedOutsideSafetyMode  )

◆ TEST_F() [13/33]

TEST_F ( SystemSafetyModeTest ,
AControllerOverrunningTheRtCycleStopsEasyNavInSafetyMode  )

◆ TEST_F() [14/33]

TEST_F ( SystemSafetyModeTest ,
AnInactivePeriodIsNotALateCycle  )

◆ TEST_F() [15/33]

TEST_F ( SystemSafetyModeTest ,
AnOldRobotPoseBrakesTheRobotInSafetyMode  )

◆ TEST_F() [16/33]

TEST_F ( SystemSafetyModeTest ,
ASlowControllerWithinTheToleranceIsNotReported  )

◆ TEST_F() [17/33]

TEST_F ( SystemSafetyModeTest ,
ConfigurationHashFollowsReconfigurations  )

◆ TEST_F() [18/33]

TEST_F ( SystemSafetyModeTest ,
ConfigurationHashIsAStableSha256OfEveryParameter  )

◆ TEST_F() [19/33]

TEST_F ( SystemSafetyModeTest ,
DefaultsConfigureOutsideSafetyMode  )

◆ TEST_F() [20/33]

TEST_F ( SystemSafetyModeTest ,
InvalidRobotLimitsFailToConfigureAndLeaveNothingConfigured  )

◆ TEST_F() [21/33]

TEST_F ( SystemSafetyModeTest ,
InvalidSystemParametersFailToConfigureInAnyMode  )

◆ TEST_F() [22/33]

TEST_F ( SystemSafetyModeTest ,
IsolatedOverrunsDoNotStopEasyNavInSafetyMode  )

◆ TEST_F() [23/33]

TEST_F ( SystemSafetyModeTest ,
LateRtCyclesAreOnlyReportedOutsideSafetyMode  )

◆ TEST_F() [24/33]

TEST_F ( SystemSafetyModeTest ,
LateRtCyclesStopEasyNavInSafetyMode  )

◆ TEST_F() [25/33]

TEST_F ( SystemSafetyModeTest ,
OutsideSafetyModeTheConfigurationIsNotFrozen  )

◆ TEST_F() [26/33]

TEST_F ( SystemSafetyModeTest ,
RobotLimitsMayNotExceedTheSafetyLimitsWhenGiven  )

◆ TEST_F() [27/33]

TEST_F ( SystemSafetyModeTest ,
SafetyModeConfiguresWithEverythingItRequires  )

◆ TEST_F() [28/33]

TEST_F ( SystemSafetyModeTest ,
SafetyModeFailsToConfigureWithoutWhatItRequires  )

◆ TEST_F() [29/33]

TEST_F ( SystemSafetyModeTest ,
SafetyModeFreezesTheConfiguration  )

◆ TEST_F() [30/33]

TEST_F ( SystemSafetyModeTest ,
SafetyModeRejectsReconfigurationRequests  )

◆ TEST_F() [31/33]

TEST_F ( SystemSafetyModeTest ,
TheHeartbeatStopsWhenTheRtCycleStops  )

◆ TEST_F() [32/33]

TEST_F ( SystemSafetyModeTest ,
TheTimeInactiveIsNotSlowness  )

◆ TEST_F() [33/33]

TEST_F ( SystemSafetyModeTest ,
UninitializedParametersDoNotBreakTheFrequencyCheck  )