Files
hockey_new/tests/test_build199_aux_gate.py

54 lines
2.4 KiB
Python

"""Actual auxiliary-permission, controller and transport regressions."""
from pathlib import Path
import os
import shutil
import subprocess
import pytest
ROOT = Path(__file__).resolve().parents[1]
CASES = [
"default_closed_keeps_all_automatic_plates_hidden",
"default_closed_blocks_direct_and_legacy_plate_in",
"default_closed_preserves_data_preview_main_and_foreign",
"default_closed_native_transport_keeps_clock_commands",
"feature_on_waits_for_saved_flag_without_reseeding",
"feature_off_hides_owned_layers_preserves_main_and_clocks",
"feature_off_does_not_remove_foreign_owner",
"feature_rearm_keeps_original_five_second_deadline",
"feature_old_mapping_cannot_replay_after_off_on",
"feature_off_error_stays_closed_and_retryable",
"feature_on_error_never_shows_plate",
"feature_selection_change_cannot_apply_old_permission",
"feature_rapid_on_off_does_not_apply_old_on",
"feature_viewer_and_text_focus_do_not_toggle_f2",
"feature_inactive_configured_penalty_target_is_still_guarded",
"feature_new_game_does_not_inherit_old_armed_control",
"feature_bad_auxiliary_candidate_cannot_block_main",
"feature_queued_mixed_off_keeps_native_and_main",
"feature_off_on_waits_for_physical_out_before_rearm",
"feature_remote_off_hides_owned_without_another_flag_write",
"feature_off_does_not_render_full_runtime_before_dispatch",
"feature_action_queued_while_closed_cannot_replay_after_external_on",
"feature_failed_pending_out_keeps_rearm_closed",
"feature_reacquire_before_space_prepares_stopped_clock",
"feature_f1_then_f2_same_native_input_is_shown_once",
"feature_persisted_on_reacquire_prepares_without_flag_write",
"feature_initial_armed_control_event_prepares_before_in",
"feature_live_native_caption_updates_without_rein_and_fences_context",
"feature_native_ack_during_caption_mapping_cannot_duplicate_in",
]
@pytest.mark.parametrize("case", CASES)
def test_auxiliary_gate(case):
node = shutil.which("node")
assert node, "Node is required"
runtime_root = Path(os.environ.get("BUILD199_RUNTIME_ROOT", ROOT))
result = subprocess.run(
[node, str(ROOT / "tests/build199_aux_gate.cjs"), case, str(runtime_root)],
cwd=ROOT, capture_output=True, text=True, timeout=25,
)
assert result.returncode == 0, result.stdout + result.stderr
assert f"PASS BUILD199 auxiliary: {case}" in result.stdout, result.stdout + result.stderr