STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
test_main.cpp File Reference
#include <string.h>
#include "unity.h"
#include "../../../src/radio/arm_gate.cpp"
#include "../../../src/radio/frame.cpp"
Include dependency graph for test_main.cpp:

Go to the source code of this file.

Functions

void setUp (void)
void tearDown (void)
static Frame arm_frame (uint16_t seq, uint32_t key, uint32_t inv, uint8_t target)
static Frame good_arm (uint16_t seq)
static Frame simple (FrameType type, uint16_t seq)
static ArmAction feed (const Frame &f, uint32_t t)
static void test_single_arm_does_not_arm (void)
static void test_two_consecutive_arms_in_window_arm (void)
static void test_confirm_exactly_at_window_edge_arms (void)
static void test_confirm_after_window_does_not_arm (void)
static void test_non_consecutive_sequence_does_not_arm (void)
static void test_wrong_key_rejected (void)
static void test_wrong_inverse_rejected (void)
static void test_wrong_target_rejected (void)
static void test_rejected_key_cancels_pending (void)
static void test_rejected_target_cancels_pending (void)
static void test_rejected_stale_cancels_pending (void)
static void test_duplicate_sequence_is_stale (void)
static void test_replayed_old_arms_are_stale (void)
static void test_sequence_wraps (void)
static void test_time_counter_wraps (void)
static void test_tick_expires_pending (void)
static void test_un_arm_always_honored (void)
static void test_un_arm_honored_even_when_stale (void)
static void test_un_arm_cancels_pending_arm (void)
static void test_other_frame_types_ignored (void)
static void test_other_frames_do_not_cancel_pending (void)
static void test_ground_reboot_rejects_arm_until_rocket_reboots (void)
int main (void)

Variables

static const uint8_t kMe = 7
static ArmGate g (kMe)

Function Documentation

◆ arm_frame()

◆ feed()

◆ good_arm()

◆ main()

◆ setUp()

void setUp ( void )

Definition at line 17 of file test_main.cpp.

References g, and kMe.

◆ simple()

◆ tearDown()

void tearDown ( void )

Definition at line 20 of file test_main.cpp.

◆ test_confirm_after_window_does_not_arm()

void test_confirm_after_window_does_not_arm ( void )
static

Definition at line 67 of file test_main.cpp.

References radio_link::Arm, feed(), good_arm(), radio_link::kArmConfirmWindowMs, and radio_link::Pending.

Referenced by main().

◆ test_confirm_exactly_at_window_edge_arms()

void test_confirm_exactly_at_window_edge_arms ( void )
static

Definition at line 61 of file test_main.cpp.

References radio_link::Arm, feed(), good_arm(), radio_link::kArmConfirmWindowMs, and radio_link::Pending.

Referenced by main().

◆ test_duplicate_sequence_is_stale()

void test_duplicate_sequence_is_stale ( void )
static

Definition at line 124 of file test_main.cpp.

References feed(), good_arm(), radio_link::Pending, and radio_link::RejectStale.

Referenced by main().

◆ test_ground_reboot_rejects_arm_until_rocket_reboots()

void test_ground_reboot_rejects_arm_until_rocket_reboots ( void )
static

◆ test_non_consecutive_sequence_does_not_arm()

void test_non_consecutive_sequence_does_not_arm ( void )
static

Definition at line 76 of file test_main.cpp.

References feed(), good_arm(), and radio_link::Pending.

Referenced by main().

◆ test_other_frame_types_ignored()

void test_other_frame_types_ignored ( void )
static

Definition at line 172 of file test_main.cpp.

References feed(), radio_link::Heartbeat, radio_link::None, radio_link::SelfTest, and simple().

Referenced by main().

◆ test_other_frames_do_not_cancel_pending()

void test_other_frames_do_not_cancel_pending ( void )
static

◆ test_rejected_key_cancels_pending()

void test_rejected_key_cancels_pending ( void )
static

Definition at line 102 of file test_main.cpp.

References arm_frame(), feed(), good_arm(), radio_link::kArmKey, kMe, radio_link::Pending, and radio_link::RejectKey.

Referenced by main().

◆ test_rejected_stale_cancels_pending()

void test_rejected_stale_cancels_pending ( void )
static

Definition at line 118 of file test_main.cpp.

References feed(), good_arm(), radio_link::Pending, and radio_link::RejectStale.

Referenced by main().

◆ test_rejected_target_cancels_pending()

void test_rejected_target_cancels_pending ( void )
static

Definition at line 109 of file test_main.cpp.

References arm_frame(), feed(), good_arm(), radio_link::kArmKey, kMe, radio_link::Pending, and radio_link::RejectTarget.

Referenced by main().

◆ test_replayed_old_arms_are_stale()

void test_replayed_old_arms_are_stale ( void )
static

Definition at line 129 of file test_main.cpp.

References radio_link::Arm, feed(), good_arm(), radio_link::Pending, and radio_link::RejectStale.

Referenced by main().

◆ test_sequence_wraps()

void test_sequence_wraps ( void )
static

Definition at line 137 of file test_main.cpp.

References radio_link::Arm, feed(), good_arm(), and radio_link::Pending.

Referenced by main().

◆ test_single_arm_does_not_arm()

void test_single_arm_does_not_arm ( void )
static

Definition at line 52 of file test_main.cpp.

References feed(), good_arm(), and radio_link::Pending.

Referenced by main().

◆ test_tick_expires_pending()

void test_tick_expires_pending ( void )
static

Definition at line 149 of file test_main.cpp.

References feed(), g, good_arm(), radio_link::kArmConfirmWindowMs, and radio_link::Pending.

Referenced by main().

◆ test_time_counter_wraps()

void test_time_counter_wraps ( void )
static

Definition at line 142 of file test_main.cpp.

References radio_link::Arm, feed(), good_arm(), and radio_link::Pending.

Referenced by main().

◆ test_two_consecutive_arms_in_window_arm()

void test_two_consecutive_arms_in_window_arm ( void )
static

Definition at line 56 of file test_main.cpp.

References radio_link::Arm, feed(), good_arm(), and radio_link::Pending.

Referenced by main().

◆ test_un_arm_always_honored()

void test_un_arm_always_honored ( void )
static

Definition at line 155 of file test_main.cpp.

References radio_link::Disarm, feed(), simple(), and radio_link::UnArm.

Referenced by main().

◆ test_un_arm_cancels_pending_arm()

void test_un_arm_cancels_pending_arm ( void )
static

Definition at line 166 of file test_main.cpp.

References radio_link::Disarm, feed(), good_arm(), radio_link::Pending, simple(), and radio_link::UnArm.

Referenced by main().

◆ test_un_arm_honored_even_when_stale()

void test_un_arm_honored_even_when_stale ( void )
static

Definition at line 159 of file test_main.cpp.

References radio_link::Disarm, feed(), good_arm(), radio_link::Pending, simple(), and radio_link::UnArm.

Referenced by main().

◆ test_wrong_inverse_rejected()

void test_wrong_inverse_rejected ( void )
static

Definition at line 86 of file test_main.cpp.

References arm_frame(), feed(), radio_link::kArmKey, kMe, and radio_link::RejectKey.

Referenced by main().

◆ test_wrong_key_rejected()

void test_wrong_key_rejected ( void )
static

Definition at line 81 of file test_main.cpp.

References arm_frame(), feed(), radio_link::kArmKey, kMe, and radio_link::RejectKey.

Referenced by main().

◆ test_wrong_target_rejected()

void test_wrong_target_rejected ( void )
static

Definition at line 94 of file test_main.cpp.

References arm_frame(), feed(), radio_link::kArmKey, kMe, and radio_link::RejectTarget.

Referenced by main().

Variable Documentation

◆ g

◆ kMe