Rob Bocchino 02a351c600
FPP v2.3.0a1 (#3066)
* Update requirements to use new fpp version

* Removed unneeded files

* update FppTest for new autocoder changes

* Get unit tests updated and working for fpp state machines phase 1 delivery

* Rename Fw/SMTest to Fw/Sm

* Update STARS to use FW_ASSERT

* Rename SMSignalBuffer to SmSignalBuffer

* Fix spelling issues with CI

* Update requirements to the FPP alpha release v2.2.0a3

* Fix requirements.txt

* Fix requirements.txt

* Initialize data in the constructor of SmSignalBuffer

* Add constructor list to all the constructors in SmSignalBuffer

* Reorganize FppTest directories

Move external state machine tests to state_machine/external

* Add missing file

* Reorganize FppTest/state_machine

external --> external_instance

* Add state machine test harness

* Revise SmGuard

* Fix include guard

* Add header file for test harness

* Revise Basic state machine

* Revise Basic test

* Add Junction test

* Add missing file

* Refactor internal state machine tests

* Add Nested state machine

* Revise Nested test

* Revise state machine tests

* Fix issues in string utils

* Revise FppTest

Add signals to state machine tests

* Refactor state machine test harness

* Revise autocode for Basic test

Replace with actual autocode

* Update fpp version

Fix F Prime to match
Switch initial/basic test from checked-in to auto-generated

* Revise FppTest

Make state machine guards const

* Update fpp version

Convert initial/Junction test to autocode

* Update fpp version

Make initial/nested test use autocode

* Start to add State/Basic test

* Revise FppTest

Revise namespaces in state machine tests

* Revise SmState::Basic test

* Update fpp version

Convert SmState/Basic test to use autocoding

* Update FppTest

* Add SmState/BasicSelf test

* Add state/BasicGuard test

* Add SmState/BasicU32 test

* Revise state machine tests

* Refactor state machine tests

* Revise FppTest

* Revise comments

* Refactor state machine tests

* Refactor state machine tests

* Refactor state machine tests

* Refactor state machine tests

* Revise state machine tests

* Revise state machine tests

* Revise state machine tests

* Revise state machine tests

* Revise fpp tests

* Revise state machine tests

* Revise state machine tests

* Revise state machine tests

* Revise state machine tests

* Revise state machine tests

* Add README files to FPP tests

* Start to add StateToState test

* Revise StateToState test

* Revise StateToState test

* Revise StateToState test

* Revise StateToState test

* Revise StateToState test

Remove hand-generated files

* Revise StateToState tests

* Add BasicInternal test

* Update fpp version

* Revise state machine tests

* Add state-to-junction test

* Add Internal state machine test

* Add Polymorphism test

* Add StateToChild test

* Revise README files

* Add junction/Basic test

* Revise FppTest build

* Update fpp version; revise Basic test

* Revise junction tests

* Add BasicGuardU32 test

* Add BasicGuardString test

* Add BasicGuardTestAbsType test

* Add BasicGuardTestArray test

* Add BasicGuardTestEnum test

* Add BasicGuardTestStruct test

* Add junction/Sequence test

* Add junction/SequenceU32 test

* Add junction/InputPairU16U32 test

* Add JunctionToState.fpp

* Add junction/JunctionToState test

* Add junction/JunctionToJunction test

* Update fpp version

* Update fpp version

Revise test code to match

* Update fpp version

* Update fpp version

* Fix CMakeLists

* Update fpp version

* Update fpp version

* Refactor sm tests

* Refactor sm tests

* Refactor sm tests

* Update fpp version

* Start to add internal_instance tests

* Add missing files

* Revise state machine tests

* Revise state machine tests

* Revise sm instance initial tests

* Revise sm instance init tests

* Revise sm instance initial tests

* Revise sm instance initial tests

* Add sm instance state tests

* Revise sm instance state tests

* Revise sm instance state tests

* Revise sm instance state tests

* Revise sm instance state tests

* Revise internal instance state tests

* Revise sm instance state tests

* Revise sm instance state tests

* Revsie BasicGuardTestAbsType

* Revise sm instance state tests

* Revise BasicGuardTestAbsType

* Add BasicGuardTestArray

* Add BasicGuardTestEnum

* Add BasicGuardTestStruct

* Add BasicGuardU32

* Add BasicInternal

* Revise BasicInternal

* Add BasicSelf

* Reformat code

* Add BasicString test

* Add BasicTestAbsType

* Add BasicTestArray

* Add BasicTestEnum

* Add BasicTestStruct

* Add BasicU32

* Remove extraneous file

* Remove extraneous files

* Revise sm tests

* Revise state machine tests

* Add Internal test

* Add Polymorphism test

* Add StateToChild test

* Add StateToJunction test

* Add StateToSelf test

* Add StateToState test

* Add junction/Basic

* Add BasicU32 test

* Add InputPairU16U32

* Add JunctionToJunction

* Revise comments

* Add JunctionToState

* Revise JunctionToState

* Revise JunctionToJunction

* Add Sequence test

* Add Sequence test

* Revise SequenceU32 test

* Revise state machine tests

Add tests for queued components

* Revise Basic test

Add schedIn handler

* Revise junction/Basic test

Add schedIn handler

* Revise state/Basic test

Add schedIn handler

* Revise initial/Basic test

Add multiple instances of the same state machine

* Revise state/Basic test

Add multiple instances of the same state machine

* Reformat code

* Update fpp version

* Update fpp; revise FppTest

* Refactor internal/initial tests

* Revise state machine tests

* Revise internal/state tests

* Revise state-machine/internal tests

Rename junction to choice

* Revise state-machine/internal tests

* Reformat C++ files

* Revise state-machine/internal_instance/initial tests

* Revise internal_instance/state tests

* Format code

* Revise internal_instance/choice tests

* Update fpp version

* Format code

* Update fpp version

* Improve const correctness in Fw/Port

* Update design

* Revise state machines design

* Revise state machine design

* Revise state machine design

* Revise state machine design

* Revise state machine design

* Revise state machines design

* Revise state machines design

* Revise state machines design

* Revise state machines design

* Revise state machines design

* Revise state machines design

* Revise state machines design

* Revise state machines design

* Revise state machines design

* Revise state machines design

* Revise state machines design

* Revise state machines design

* Revise state machines design

* Revise state machines design

* Revise state machines design

* Revise state machines design

* Revise state machines design

* Revise state machines design

* Revise state machines design

* Revise state machines design

* Revise state machines design

* Revise state machines design

* Revise state machines design

* Revise state machines design

* Revise state machines design

* Revise state machines design

* Revise state machines design

* Revise state machines design

* Revise state machine instances design

* Revise state machines design

* Revise state machines design

* Revise state machines design

* Update fpp version

* Update fpp version; revise code to match

* Update fpp version

* Revise state machines design

* Revise state machines design

Add class diagram

* Revise state machines design

* Revise state machines design

* Revise typography

Close up spaces in names with embedded variables

* Revise state machines design

* Revise state machines design

* Revise state machines design

* Revise state machine unit tests

* Revise state machine tests

Increase code coverage

* Revise state machine tests

Increase code coverage

* Update fpp version

* Update spelling

* Remove Design directory

This directory no longer exists in fprime/devel

* Update mkdocs

---------

Co-authored-by: watney <garth.j.watney@jpl.nasa.gov>
Co-authored-by: garthwatney <160269551+garthwatney@users.noreply.github.com>
Co-authored-by: M Starch <LeStarch@googlemail.com>
2025-01-06 14:58:54 -08:00

83 lines
2.4 KiB
C++

// ======================================================================
// \title SmTest/test/ut/Tester.hpp
// \author watney
// \brief hpp file for SmTest test harness implementation class
// ======================================================================
#ifndef FppTest_SmTest_Tester_HPP
#define FppTest_SmTest_Tester_HPP
#include "SmTestGTestBase.hpp"
#include "FppTest/state_machine/external_instance/SmTest.hpp"
#include "STest/Pick/Pick.hpp"
namespace FppTest {
class SmTestTester : public SmTestGTestBase {
// ----------------------------------------------------------------------
// Construction and destruction
// ----------------------------------------------------------------------
public:
// Maximum size of histories storing events, telemetry, and port outputs
static constexpr FwSizeType MAX_HISTORY_SIZE = 10;
// Instance ID supplied to the component instance under test
static constexpr FwSizeType TEST_INSTANCE_ID = 0;
// Queue depth supplied to component instance under test
static constexpr FwSizeType TEST_INSTANCE_QUEUE_DEPTH = 10;
// The component id base
static constexpr FwDpIdType ID_BASE = 100;
// The max string length for string data
static constexpr FwSizeType MAX_STRING_LENGTH = 100;
//! Construct object Tester
//!
SmTestTester();
//! Destroy object Tester
//!
~SmTestTester();
public:
// ----------------------------------------------------------------------
// Tests
// ----------------------------------------------------------------------
//! schedIn OK
void schedIn_OK();
private:
// ----------------------------------------------------------------------
// Handlers for data product ports
// ----------------------------------------------------------------------
private:
// ----------------------------------------------------------------------
// Helper methods
// ----------------------------------------------------------------------
//! Connect ports
//!
void connectPorts();
//! Initialize components
//!
void initComponents();
void dispatchAll();
private:
// ----------------------------------------------------------------------
// Variables
// ----------------------------------------------------------------------
//! The component under test
SmTest component;
};
} // end namespace FppTest
#endif