API
 
Loading...
Searching...
No Matches

Unit tests for the streamWriter application. More...

Collaboration diagram for streamWriter Unit Tests:

Namespaces

namespace  libXWCTest::streamWriterTest
 Namespace for streamWriter lifecycle unit tests.
 

Functions

 libXWCTest::streamWriterTest::TEST_CASE ("streamWriter configuration loads defaults and overrides", "[streamWriter]")
 Verify setupConfig() and loadConfig() preserve defaults, overrides, and clamp invalid accelerations.
 
 libXWCTest::streamWriterTest::TEST_CASE ("streamWriter lifecycle handles startup validation and nominal shutdown", "[streamWriter]")
 Verify appStartup(), appLogic(), and appShutdown() cover the basic streamWriter lifecycle.
 
 libXWCTest::streamWriterTest::TEST_CASE ("streamWriter appLogic reports backlog and save status", "[streamWriter]")
 Verify streamWriter publishes backlog summaries, INDI status, and save telemetry from the main loop.
 
 libXWCTest::streamWriterTest::TEST_CASE ("streamWriter fgThreadExec ingests stream data and manages write scheduling", "[streamWriter]")
 Verify fgThreadExec() ingests shmim frames, tracks gaps, and schedules save work.
 
 libXWCTest::streamWriterTest::SCENARIO ("streamWriter INDI Callbacks", "[streamWriter]")
 Verify the streamWriter INDI callback validator accepts only the expected property.
 
 libXWCTest::streamWriterTest::TEST_CASE ("streamWriter writing toggle transitions and stopped writes", "[streamWriter]")
 Verify the streamWriter writing toggle transitions and stop-write flushes preserve the final queued frame.
 
 libXWCTest::streamWriterTest::TEST_CASE ("streamWriter allocation and encode edge cases", "[streamWriter]")
 Verify streamWriter encode/setup helpers cover allocation and write-failure edge cases.
 
 libXWCTest::streamWriterTest::TEST_CASE ("streamWriter fault injection covers XRIF setup and write warnings", "[streamWriter]")
 Verify injected XRIF and file-write faults exercise streamWriter warning and failure handling.
 
 libXWCTest::streamWriterTest::SCENARIO ("streamWriter Configuration", "[streamWriter]")
 Verify the streamWriter test harness exposes the expected default configuration state.
 
 libXWCTest::streamWriterTest::SCENARIO ("streamWriter encoding data", "[streamWriter]")
 Verify streamWriter encodes raw image buffers into XRIF archives without corrupting frame data.
 
 libXWCTest::streamWriterTest::SCENARIO ("streamWriter Buffer Sizing", "[streamWriter]")
 Verify streamWriter::getCircBuffLengths() selects bounded circular-buffer and write-chunk sizes.
 

Detailed Description

Unit tests for the streamWriter application.

Additional unit tests for the streamWriter application.

Additional lifecycle tests for the streamWriter application.

Function Documentation

◆ SCENARIO() [1/4]

libXWCTest::streamWriterTest::SCENARIO ( "streamWriter Buffer Sizing"  ,
""  [streamWriter] 
)

Verify streamWriter::getCircBuffLengths() selects bounded circular-buffer and write-chunk sizes.

Definition at line 33 of file streamWriterSizing_test.cpp.

References MagAOX::app::streamWriter::getCircBuffLengths().

◆ SCENARIO() [2/4]

libXWCTest::streamWriterTest::SCENARIO ( "streamWriter Configuration"  ,
""  [streamWriter] 
)

Verify the streamWriter test harness exposes the expected default configuration state.

Definition at line 1022 of file streamWriter_test.cpp.

◆ SCENARIO() [3/4]

libXWCTest::streamWriterTest::SCENARIO ( "streamWriter encoding data"  ,
""  [streamWriter] 
)

Verify streamWriter encodes raw image buffers into XRIF archives without corrupting frame data.

Definition at line 1040 of file streamWriter_test.cpp.

◆ SCENARIO() [4/4]

libXWCTest::streamWriterTest::SCENARIO ( "streamWriter INDI Callbacks"  ,
""  [streamWriter] 
)

Verify the streamWriter INDI callback validator accepts only the expected property.

Definition at line 638 of file streamWriter_test.cpp.

References MagAOX::app::streamWriter::doEncode(), and XWCTEST_INDI_NEW_CALLBACK.

◆ TEST_CASE() [1/7]

libXWCTest::streamWriterTest::TEST_CASE ( "streamWriter allocation and encode edge cases"  ,
""  [streamWriter] 
)

Verify streamWriter encode/setup helpers cover allocation and write-failure edge cases.

Definition at line 745 of file streamWriter_test.cpp.

References MagAOX::app::streamWriter::allocate_circbufs(), MagAOX::app::streamWriter::allocate_xrif(), MagAOX::app::streamWriter::doEncode(), NOT_WRITING, WRITING, and XWCTEST_DOXYGEN_REF.

◆ TEST_CASE() [2/7]

libXWCTest::streamWriterTest::TEST_CASE ( "streamWriter appLogic reports backlog and save status"  ,
""  [streamWriter] 
)

◆ TEST_CASE() [3/7]

libXWCTest::streamWriterTest::TEST_CASE ( "streamWriter configuration loads defaults and overrides"  ,
""  [streamWriter] 
)

Verify setupConfig() and loadConfig() preserve defaults, overrides, and clamp invalid accelerations.

Definition at line 571 of file streamWriter_lifecycle_test.cpp.

References MagAOX::app::streamWriter::loadConfig(), MAGAOX_env_rawimage, MAGAOX_rawimageRelPath, MagAOX::app::streamWriter::setupConfig(), and XWCTEST_DOXYGEN_REF.

◆ TEST_CASE() [4/7]

libXWCTest::streamWriterTest::TEST_CASE ( "streamWriter fault injection covers XRIF setup and write warnings"  ,
""  [streamWriter] 
)

Verify injected XRIF and file-write faults exercise streamWriter warning and failure handling.

Definition at line 865 of file streamWriter_test.cpp.

References MagAOX::app::streamWriter::allocate_xrif(), MagAOX::app::streamWriter::doEncode(), MagAOX::app::streamWriter::initialize_xrif(), and XWCTEST_DOXYGEN_REF.

◆ TEST_CASE() [5/7]

libXWCTest::streamWriterTest::TEST_CASE ( "streamWriter fgThreadExec ingests stream data and manages write scheduling"  ,
""  [streamWriter] 
)

◆ TEST_CASE() [6/7]

libXWCTest::streamWriterTest::TEST_CASE ( "streamWriter lifecycle handles startup validation and nominal shutdown"  ,
""  [streamWriter] 
)

◆ TEST_CASE() [7/7]

libXWCTest::streamWriterTest::TEST_CASE ( "streamWriter writing toggle transitions and stopped writes"  ,
""  [streamWriter] 
)

Verify the streamWriter writing toggle transitions and stop-write flushes preserve the final queued frame.

Definition at line 654 of file streamWriter_test.cpp.

References MagAOX::app::streamWriter::doEncode(), NOT_WRITING, START_WRITING, STOP_WRITING, WRITING, and XWCTEST_DOXYGEN_REF.