add_test( [==[parseCommand handles single-verb commands]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=parseCommand handles single-verb commands]==])
set_tests_properties( [==[parseCommand handles single-verb commands]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[parseCommand splits device and trailing numeric value]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=parseCommand splits device and trailing numeric value]==])
set_tests_properties( [==[parseCommand splits device and trailing numeric value]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[parseCommand keeps option plus value]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=parseCommand keeps option plus value]==])
set_tests_properties( [==[parseCommand keeps option plus value]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[parseCommand keeps non-numeric option (raw motor command)]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=parseCommand keeps non-numeric option (raw motor command)]==])
set_tests_properties( [==[parseCommand keeps non-numeric option (raw motor command)]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[parseCommand on empty input]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=parseCommand on empty input]==])
set_tests_properties( [==[parseCommand on empty input]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[ConfigLoader maps and defaults typed values]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=ConfigLoader maps and defaults typed values]==])
set_tests_properties( [==[ConfigLoader maps and defaults typed values]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[environment overrides file credentials]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=environment overrides file credentials]==])
set_tests_properties( [==[environment overrides file credentials]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[ConfigLoader validates input]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=ConfigLoader validates input]==])
set_tests_properties( [==[ConfigLoader validates input]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[AxisMap converts degrees and counts with an offset]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=AxisMap converts degrees and counts with an offset]==])
set_tests_properties( [==[AxisMap converts degrees and counts with an offset]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[AxisMap clamps to the soft range on the way out]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=AxisMap clamps to the soft range on the way out]==])
set_tests_properties( [==[AxisMap clamps to the soft range on the way out]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[AxisMap supports a negative (flipped) direction]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=AxisMap supports a negative (flipped) direction]==])
set_tests_properties( [==[AxisMap supports a negative (flipped) direction]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[AxisMap toDeg guards against a zero scale]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=AxisMap toDeg guards against a zero scale]==])
set_tests_properties( [==[AxisMap toDeg guards against a zero scale]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[parseCategories maps names, all/none, and flags unknown tokens]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=parseCategories maps names\, all/none\, and flags unknown tokens]==])
set_tests_properties( [==[parseCategories maps names, all/none, and flags unknown tokens]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[catFromString round-trips and flags unknown]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=catFromString round-trips and flags unknown]==])
set_tests_properties( [==[catFromString round-trips and flags unknown]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[category enable/disable/set round-trip]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=category enable/disable/set round-trip]==])
set_tests_properties( [==[category enable/disable/set round-trip]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[LOG_TRACE_CAT gating is independent of the linear level]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=LOG_TRACE_CAT gating is independent of the linear level]==])
set_tests_properties( [==[LOG_TRACE_CAT gating is independent of the linear level]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[expandUser expands ~ and environment variables]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=expandUser expands ~ and environment variables]==])
set_tests_properties( [==[expandUser expands ~ and environment variables]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[configSearchPaths honours the CLI argument first]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=configSearchPaths honours the CLI argument first]==])
set_tests_properties( [==[configSearchPaths honours the CLI argument first]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[parseScanCsv reads waypoints and skips comments/blanks]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=parseScanCsv reads waypoints and skips comments/blanks]==])
set_tests_properties( [==[parseScanCsv reads waypoints and skips comments/blanks]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[parseScanCsv throws on a malformed line]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=parseScanCsv throws on a malformed line]==])
set_tests_properties( [==[parseScanCsv throws on a malformed line]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[generateScanGrid produces yaw_intervals x pitch_levels points]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=generateScanGrid produces yaw_intervals x pitch_levels points]==])
set_tests_properties( [==[generateScanGrid produces yaw_intervals x pitch_levels points]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[ScanGrid cursor ping-pongs at both ends]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=ScanGrid cursor ping-pongs at both ends]==])
set_tests_properties( [==[ScanGrid cursor ping-pongs at both ends]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[ScanGrid single point and empty are safe]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=ScanGrid single point and empty are safe]==])
set_tests_properties( [==[ScanGrid single point and empty are safe]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[CaptureScheduler sweeps the scan grid with MOVE + settle + trigger]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=CaptureScheduler sweeps the scan grid with MOVE + settle + trigger]==])
set_tests_properties( [==[CaptureScheduler sweeps the scan grid with MOVE + settle + trigger]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[CaptureScheduler ControlCode 1 drives yaw to the target heading]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=CaptureScheduler ControlCode 1 drives yaw to the target heading]==])
set_tests_properties( [==[CaptureScheduler ControlCode 1 drives yaw to the target heading]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[CaptureScheduler clamps the target heading to the soft range]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=CaptureScheduler clamps the target heading to the soft range]==])
set_tests_properties( [==[CaptureScheduler clamps the target heading to the soft range]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[CaptureScheduler stays idle when capture inactive]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=CaptureScheduler stays idle when capture inactive]==])
set_tests_properties( [==[CaptureScheduler stays idle when capture inactive]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[parseTelemetryLine reads a two-axis ST line]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=parseTelemetryLine reads a two-axis ST line]==])
set_tests_properties( [==[parseTelemetryLine reads a two-axis ST line]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[parseTelemetryLine reads a yaw-only ST line (no flags field)]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=parseTelemetryLine reads a yaw-only ST line (no flags field)]==])
set_tests_properties( [==[parseTelemetryLine reads a yaw-only ST line (no flags field)]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[parseTelemetryLine rejects non-ST and malformed lines]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=parseTelemetryLine rejects non-ST and malformed lines]==])
set_tests_properties( [==[parseTelemetryLine rejects non-ST and malformed lines]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[parseTelemetryLine tolerates trailing CR]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=parseTelemetryLine tolerates trailing CR]==])
set_tests_properties( [==[parseTelemetryLine tolerates trailing CR]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[axisStateLabel maps every state]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=axisStateLabel maps every state]==])
set_tests_properties( [==[axisStateLabel maps every state]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[axisStateColor signals health]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=axisStateColor signals health]==])
set_tests_properties( [==[axisStateColor signals health]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[formatDegrees: one decimal, sign preserved, degree sign appended]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=formatDegrees: one decimal\, sign preserved\, degree sign appended]==])
set_tests_properties( [==[formatDegrees: one decimal, sign preserved, degree sign appended]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[formatTimeAgo: buckets and the never case]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=formatTimeAgo: buckets and the never case]==])
set_tests_properties( [==[formatTimeAgo: buckets and the never case]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
add_test( [==[pendingSensorsView: all fields absent until drivers land]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=pendingSensorsView: all fields absent until drivers land]==])
set_tests_properties( [==[pendingSensorsView: all fields absent until drivers land]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
set( fgc_tests_TESTS [==[parseCommand handles single-verb commands]==] [==[parseCommand splits device and trailing numeric value]==] [==[parseCommand keeps option plus value]==] [==[parseCommand keeps non-numeric option (raw motor command)]==] [==[parseCommand on empty input]==] [==[ConfigLoader maps and defaults typed values]==] [==[environment overrides file credentials]==] [==[ConfigLoader validates input]==] [==[AxisMap converts degrees and counts with an offset]==] [==[AxisMap clamps to the soft range on the way out]==] [==[AxisMap supports a negative (flipped) direction]==] [==[AxisMap toDeg guards against a zero scale]==] [==[parseCategories maps names, all/none, and flags unknown tokens]==] [==[catFromString round-trips and flags unknown]==] [==[category enable/disable/set round-trip]==] [==[LOG_TRACE_CAT gating is independent of the linear level]==] [==[expandUser expands ~ and environment variables]==] [==[configSearchPaths honours the CLI argument first]==] [==[parseScanCsv reads waypoints and skips comments/blanks]==] [==[parseScanCsv throws on a malformed line]==] [==[generateScanGrid produces yaw_intervals x pitch_levels points]==] [==[ScanGrid cursor ping-pongs at both ends]==] [==[ScanGrid single point and empty are safe]==] [==[CaptureScheduler sweeps the scan grid with MOVE + settle + trigger]==] [==[CaptureScheduler ControlCode 1 drives yaw to the target heading]==] [==[CaptureScheduler clamps the target heading to the soft range]==] [==[CaptureScheduler stays idle when capture inactive]==] [==[parseTelemetryLine reads a two-axis ST line]==] [==[parseTelemetryLine reads a yaw-only ST line (no flags field)]==] [==[parseTelemetryLine rejects non-ST and malformed lines]==] [==[parseTelemetryLine tolerates trailing CR]==] [==[axisStateLabel maps every state]==] [==[axisStateColor signals health]==] [==[formatDegrees: one decimal, sign preserved, degree sign appended]==] [==[formatTimeAgo: buckets and the never case]==] [==[pendingSensorsView: all fields absent until drivers land]==])
