Back to catalog

uMayFinish

H03 uMayFinish Unit

Mission utility tests for uMayFinish. These cases verify default MISSION_EVALUATED exits, custom finish variables, mismatched finish-value timeouts, and missing-finish timeouts.

Stem Mission

Baseline scenario context

The stem mission runs a single shoreside MOOS community with pMissionEval, uTimerScript, logging, and process-watch support. The harness starts uMayFinish directly with unique aliases so each case can assert the process exit code.

Examples

Representative runs

These uMayFinish GIFs are generated process-flow views instead of raw pMarineViewer captures because the meaningful evidence is finish-variable matching, timeout behavior, and process exit code. The visuals call out the evidence that makes each case pass.

Default Finish Exit

Description: Runs a directly launched, uniquely aliased uMayFinish with its default finish condition while pMissionEval posts MISSION_EVALUATED=true, testing normal completion; passes when uMayFinish exits with code 0 and the evaluator's result row grades pass.

Custom Value Timeout

Description: Configures finish_var=CUSTOM_DONE and finish_val=complete but has pMissionEval publish CUSTOM_DONE=almost, testing that uMayFinish ignores a delivered value that does not equal its configured finish value; the harness passes when the .alog records exactly CUSTOM_DONE=almost and the directly launched process reaches its six-second limit with exit code 1.

Case Matrix

All cases

mayfinish_default_exit_pass

Runs a directly launched, uniquely aliased uMayFinish with its default finish condition while pMissionEval posts MISSION_EVALUATED=true, testing normal completion; passes when uMayFinish exits with code 0 and the evaluator's result row grades pass.

mayfinish_custom_finish_pass

Configures the aliased process with finish_var=CUSTOM_DONE and finish_val=complete, then has pMissionEval post that exact pair, testing a custom finish condition; passes when the .alog contains CUSTOM_DONE=complete, uMayFinish exits with code 0, and the evaluator grades pass.

mayfinish_custom_value_timeout_fail

Configures finish_var=CUSTOM_DONE and finish_val=complete but has pMissionEval publish CUSTOM_DONE=almost, testing that uMayFinish ignores a delivered value that does not equal its configured finish value; the harness passes when the .alog records exactly CUSTOM_DONE=almost and the directly launched process reaches its six-second limit with exit code 1.

mayfinish_timeout_fail

Configures pMissionEval behind the unmet lead condition NEVER_READY=true, so MISSION_EVALUATED is never intentionally posted, testing the direct --max_time path; the harness passes when uMayFinish reaches its two-second limit and exits with code 1.

Source links

Harness README Mission README