................usage: test_native_package.py [-h] [--project {core}] --session SESSION --compat COMPAT [--steam STEAM] [--timeout TIMEOUT] [--external-addons EXTERNAL_ADDONS] [--silent-workbench | --exit-after-init] [--continue-on-failure] test_native_package.py: error: argument --exit-after-init: not allowed with argument --silent-workbench ................................ ---------------------------------------------------------------------- Ran 48 tests in 14.268s OK ....... ---------------------------------------------------------------------- Ran 7 tests in 0.358s OK .............. ---------------------------------------------------------------------- Ran 14 tests in 2.617s OK .... ---------------------------------------------------------------------- Ran 4 tests in 0.496s OK .... ---------------------------------------------------------------------- Ran 4 tests in 0.087s OK PASS: actual finite-courier age, token, exact ownership/callback and delivered-status admission reject stale, replayed, captured, canceled and ambiguous work PASS: actual native-gun ownership gate rejects player/foreign/replaced/dead occupant, faction change, missing seat and missing registry PASS: four-battery courier selection preserves pending trip/report/transfer identity, skips unavailable crews, and selects the next depleted battery without new stock PASS: 64 bounded distinct storage candidates; native gates, five-store barrier and finite-stock ownership retained; native placement pending PASS: 128 coarse+80 local refinement+169 airport grid candidates retain all native clearance gates; real terrain untested PASS: actual prison registration/crossing policies reject missing/duplicate/destroyed initial gate, incomplete ownership/scan, outside-only body, jumps and stale samples; physical exit independent of later gate damage PASS: actual prison door execution blocks direct AI/UI bypass while locked and delegates unchanged native action once after unlock and permission approval .................. ---------------------------------------------------------------------- Ran 18 tests in 2.302s OK ..... ---------------------------------------------------------------------- Ran 5 tests in 1.368s OK PASS: native local-admission snapshot rejects changed life/key/body/participant/pending state; authentication is not simulated PASS: actual mortar report ledger prevents duplicate response after cancellation, expiry and interleaved reports; native scheduler separate ......... ---------------------------------------------------------------------- Ran 9 tests in 0.018s OK .... ---------------------------------------------------------------------- Ran 4 tests in 0.202s OK PASS: actual aim renewal requires fresh same-report solve and original-command equivalence; native firing untested ........ ---------------------------------------------------------------------- Ran 8 tests in 0.014s OK PASS: actual startup/generation/ownership/timeout/callback policies and native-counter wait; integration preserves one-shot allocation and pending-crew cancellation PASS: rapid mortar cycle counts eight physical rounds once and waits for native completion without a ninth aim or shell PASS: actual probe binds native events to fresh immutable commits, permits delayed emission, rejects unrelated expiry closure and premature stop PASS: actual noSplash Load body requires both explicit diagnostic and noSplash, preserves vanilla otherwise, and handles repeated Load/reload PASS: actual fixture method permits one native resilience operation and restores either prior protection state, including failure paths PASS: actual safe-exit boundary policy, native action/door selection, stop/cache cleanup, separate old mechanism and opt-in runner contracts PASS: actual one-shot deadline/stability policies and preparation ownership, fuel, cleanup integration contracts PASS: pending-only cancellation retires copied instance intent, preserves physical/control actors, and stops once PASS: actual short-cast hit, upward support normal, no self support and no dynamic support PASS: actual committed-ticket structure preserves reservation after death, rejects missing bodies/seats and ends at observation expiry PASS: actual pending callback expires an empty-server reservation once, preserves its full lease, and cancels on completion/Stop PASS: rescue lease expiry/reordering, fresh five-second settling, independent rescue ranges and grounded upright aircraft motion boundaries PASS: requested guard population requires complete physical conscious membership before deadline ...................................... ---------------------------------------------------------------------- Ran 38 tests in 0.021s OK .......... ---------------------------------------------------------------------- Ran 10 tests in 0.003s OK ..... ---------------------------------------------------------------------- Ran 5 tests in 1.008s OK PASS: authored radio/optional-site bounds and physical horizontal/vertical boundaries ... ---------------------------------------------------------------------- Ran 3 tests in 0.001s OK PASS: all phase transitions, terminal states, defence boundaries, stale/future observations, intel discovery PASS: Core document-discovery alias, companion-only alias exclusion, strict integer parsing and setting boundaries PASS: player admission phase/life/identity/controller matrix, preload displacement limits, pending reservation overlap and owner exclusion PASS: actual gate and pre-inventory document guards reject noncanonical/faction/life/disconnect/server mismatches; canonical reconnect and unconscious carried intel preserved PASS: WB-only native fault injection restores both body mutations before checks/returns and requires eligible held-document negative/positive proof; runtime pending PASS: actual discovery coordinates disclose stable 500m cell center until identified, then exact point, including negative/boundary coordinates PASS: actual local admission context/selection/latch, same-round late identity, replacement/mode failure, fresh round and untouched network path PASS: prison search packs 16 unique 3m-spaced inside-wall centers, prioritizes inner/edge positions and never bypasses clearance PASS: physical body occupancy rejects overlap, permits diagonal neighboring slots, and excludes own body and unrelated broad-phase bounds PASS: recovery state excludes dead bodies, preserves reservations, requires controlled rescuers and distinguishes empty/all-dead teams PASS: authority-scoped slow recovery, bleeding pauses resilience, medicine unaffected, player-only lethal damage cap without healing PASS: bleeding severity survives low health, retains armour, causes no knockout and restores the actual damage/blood-loss cap PASS: viable passive recovery survives native delay; bleeding, disabled/full effects and low-blood resilience do not block defeat PASS: every minute round-trips, malformed clocks rejected, defaults limited to added keys, progression bounds and day duration aligned PASS: native settings policy matches calendar boundaries 1900-2050, date/profile parsing is strict, authored defaults preserve old worlds PASS: view-distance bounds, default, save failures, command parsing, temporary ownership, server/platform limits and lifecycle wiring ..... ---------------------------------------------------------------------- Ran 5 tests in 0.663s OK . ---------------------------------------------------------------------- Ran 1 test in 0.452s OK PASS: radio authorization/discovery/phase matrix, exact distance limits, defender handover, interruption, empty samples, clock regression and duration boundary PASS: actual radio feedback policy, initial wait, interruption persistence, resumption and terminal/new-round reset ............... ---------------------------------------------------------------------- Ran 15 tests in 2.328s OK .............................................. ---------------------------------------------------------------------- Ran 46 tests in 0.991s OK PASS: legacy values preserved, unsupported fields reported, invalid data rejected, existing files protected, runtime bounds aligned PASS: failed initial settings promotion leaves defaults writable after restart; prior/fallback saves survive copy, readback and mismatch faults PASS: real-carrier shortest-hop paths, 500m boundary, three-hop cap, no-manpack failure, three-second originating-call interruption, unchanged downlink hop timing, completed-hop survival, interrupted final uplink, radio loss, capture, motion, timeout, reset and network bounds PASS: migrated aircraft availability policy (controller migration still pending) PASS: migrated salvo offsets are deterministic, spread and bounded (native firing and complete salvo qualification are separate) PASS: 35 prefabs have unique saved root entity IDs REUSED unchanged bound pass: tests/test_objective_map_presentation.py REUSED unchanged bound pass: tests/test_objective_map_element.py REUSED unchanged bound pass: tests/test_native_objective_map_probe.py REUSED unchanged bound pass: tests/test_prefab_identity.py REUSED unchanged bound pass: tests/test_spawn_scene.py REUSED unchanged bound pass: tests/test_spawn_scene_inventory.py REUSED unchanged bound pass: tests/test_spawn_scene_lease.py REUSED unchanged bound pass: tests/test_prison_ai.py REUSED unchanged bound pass: tests/test_native_player_death_fixture.py REUSED unchanged bound pass: tests/test_hq_planner_budget.py REUSED unchanged bound pass: tests/test_observer_ownership.py REUSED unchanged bound pass: tests/test_chat_client_ownership.py REUSED unchanged bound pass: tests/test_native_observer_selector.py REUSED unchanged bound pass: tests/test_ground_depot_loading.py REUSED unchanged bound pass: tests/test_ground_depot_lifecycle.py REUSED unchanged bound pass: tests/test_ground_depot_transfer.py REUSED unchanged bound pass: tests/test_ground_depot_provenance.py PASS: 299 original script entries tracked across 18 unfinished responsibilities PASS: 1 isolated addons, acyclic dependencies, 57 unique resources, exact vanilla/authorized external references REUSED unchanged bound pass: tests/test_native_mounted_intercept.py REUSED unchanged bound pass: tests/test_hq_mounted_dispatch.py REUSED unchanged bound pass: tests/test_hq_mounted_intercept.py REUSED unchanged bound pass: tests/test_native_maintenance_refuel.py REUSED unchanged bound pass: tests/test_mine_intel.py REUSED unchanged bound pass: tests/test_mine_intel_discovery_integration.py REUSED unchanged bound pass: tests/test_infantry_combat.py REUSED unchanged bound pass: tests/test_enemy_medicine.py REUSED unchanged bound pass: tests/test_hunter_combat.py REUSED unchanged bound pass: tests/test_hq_local_awareness.py REUSED unchanged bound pass: tests/test_unconscious_controls.py REUSED unchanged bound pass: tests/test_town_garrisons.py REUSED unchanged bound pass: tests/test_field_sites.py REUSED unchanged bound pass: tests/test_gameplay_session_regressions.py REUSED unchanged bound pass: tests/test_gameplay_review_fixes.py REUSED unchanged bound pass: tests/test_server_log_regressions.py REUSED unchanged bound pass: tests/test_mortar_load_ack.py REUSED unchanged bound pass: tests/test_hunter_profiles.py REUSED unchanged bound pass: tests/test_hunter_lifecycle.py REUSED unchanged bound pass: tests/test_hunter_opening.py REUSED unchanged bound pass: tests/test_enemy_awareness.py REUSED unchanged bound pass: tests/test_intel_body_inspection.py REUSED unchanged bound pass: tests/test_body_recovery_lifecycle.py REUSED unchanged bound pass: tests/test_air_support_policy.py REUSED unchanged bound pass: tests/test_air_logistics_orders.py REUSED unchanged bound pass: tests/test_air_recon.py REUSED unchanged bound pass: tests/test_scouts.py REUSED unchanged bound pass: tests/test_mortar_station.py REUSED unchanged bound pass: tests/test_random_settings.py REUSED unchanged bound pass: tests/test_debug_ai.py REUSED unchanged bound pass: tests/test_generated_sites.py REUSED unchanged bound pass: tests/test_terrain_sites.py REUSED unchanged bound pass: tests/test_terrain_adapter.py REUSED unchanged bound pass: tests/test_terrain_airfields.py REUSED unchanged bound pass: tests/test_terrain_takeover.py REUSED unchanged bound pass: tests/test_terrain_presentation.py REUSED unchanged bound pass: tests/test_terrain_selection.py REUSED unchanged bound pass: tests/test_faction_selection.py REUSED unchanged bound pass: tests/test_faction_menu.py REUSED unchanged bound pass: tests/test_content_policy.py REUSED unchanged bound pass: tests/test_hq_road_intercept.py REUSED unchanged bound pass: tests/test_hq_delivered_task.py REUSED unchanged bound pass: tests/test_hq_local_handoff.py REUSED unchanged bound pass: tests/test_hq_local_handoff_intake.py REUSED unchanged bound pass: tests/test_native_local_handoff_probe.py REUSED unchanged bound pass: tests/test_infantry_resupply_waypoints.py REUSED unchanged bound pass: tests/test_infantry_placement_settle.py REUSED unchanged bound pass: tests/test_native_infantry_fixture_lifecycle.py REUSED unchanged bound pass: tests/test_native_infantry_cargo.py REUSED unchanged bound pass: tests/test_native_infantry_setup.py REUSED unchanged bound pass: tests/test_infantry_ammo_access.py REUSED unchanged bound pass: tests/test_infantry_resupply_planning.py REUSED unchanged bound pass: tests/test_infantry_supply_pool.py REUSED unchanged bound pass: tests/test_hq_multiconvoy_supply.py REUSED unchanged bound pass: tests/test_enemy_gunner_skill.py REUSED unchanged bound pass: tests/test_native_memory_deadlines.py REUSED unchanged bound pass: tests/test_convoy_auto_settings.py REUSED unchanged bound pass: tests/test_convoy_startup.py REUSED unchanged bound pass: tests/test_failure_result_refresh.py REUSED unchanged bound pass: tests/test_infantry_resupply_coordinator.py REUSED unchanged bound pass: tests/test_infantry_mine_coordinator.py REUSED unchanged bound pass: tests/test_infantry_mine_transfer.py REUSED unchanged bound pass: tests/test_infantry_ammo_transfer.py REUSED unchanged bound pass: tests/test_finite_magazine_reservation.py REUSED unchanged bound pass: tests/test_mounted_ammo_transfer.py REUSED unchanged bound pass: tests/test_mounted_ammo_pickup.py REUSED unchanged bound pass: tests/test_mounted_resupply.py REUSED unchanged bound pass: tests/test_mounted_supply_integration.py REUSED unchanged bound pass: tests/test_hq_ammo_reporting.py REUSED unchanged bound pass: tests/test_enemy_radio.py REUSED unchanged bound pass: tests/test_native_maintenance_stock.py REUSED unchanged bound pass: tests/test_packed_external_game.py REUSED unchanged bound pass: tests/test_hq_radio_node.py REUSED unchanged bound pass: tests/test_vehicle_maintenance_stock.py REUSED unchanged bound pass: tests/test_optional_transport.py REUSED unchanged bound pass: tests/test_vehicle_entry_diagnostics.py REUSED unchanged bound pass: tests/test_vehicle_security_native_probe.py REUSED unchanged bound pass: tests/test_vehicle_security.py REUSED unchanged bound pass: tests/test_vehicle_alarm.py REUSED unchanged bound pass: tests/test_vehicle_alarm_perception.py REUSED unchanged bound pass: tests/test_native_convoy_mine_stock.py REUSED unchanged bound pass: tests/test_native_mine_stock_runner.py REUSED unchanged bound pass: tests/test_native_mounted_ammo_probe.py REUSED unchanged bound pass: tests/test_native_mounted_swap_probe.py REUSED unchanged bound pass: tests/test_native_mounted_courier_probe.py REUSED unchanged bound pass: tests/test_native_alarm_hearing.py REUSED unchanged bound pass: tests/test_native_convoy_cover_probe.py REUSED unchanged bound pass: tests/test_enemy_optics.py REUSED unchanged bound pass: tests/test_convoy_combat.py REUSED unchanged bound pass: tests/test_ai_stinger_admin.py REUSED unchanged bound pass: tests/test_hq_ammo_dispatch.py REUSED unchanged bound pass: tests/test_hq_convoy_combat.py REUSED unchanged bound pass: tests/test_hq_ammo_sampler.py REUSED unchanged bound pass: tests/test_hq_mine_sampler.py REUSED unchanged bound pass: tests/test_hq_mounted_ammo_sampler.py REUSED unchanged bound pass: tests/test_hq_mounted_binding.py REUSED unchanged bound pass: tests/test_hq_vehicle_seats.py REUSED unchanged bound pass: tests/test_native_hq_body_probe.py REUSED unchanged bound pass: tests/test_hq_delivered_casualties.py REUSED unchanged bound pass: tests/test_external_profile_review.py REUSED unchanged bound pass: tests/test_hq_uplink_fairness.py REUSED unchanged bound pass: tests/test_actor_group.py REUSED unchanged bound pass: tests/test_native_package_external.py REUSED unchanged bound pass: tests/test_native_convoy_probe.py REUSED unchanged bound pass: tests/test_convoy_placement.py REUSED unchanged bound pass: tests/test_convoy_road_plan.py REUSED unchanged bound pass: tests/test_hq_convoy_dispatch.py REUSED unchanged bound pass: tests/test_convoy_admission.py REUSED unchanged bound pass: tests/test_convoy_dispatch.py REUSED unchanged bound pass: tests/test_convoy_lifecycle.py REUSED unchanged bound pass: tests/test_convoy_budget.py REUSED unchanged bound pass: tests/test_supply_convoys.py REUSED unchanged bound pass: tests/test_supply_budget_admission.py REUSED unchanged bound pass: tests/test_mounted_initial_stock.py REUSED unchanged bound pass: tests/test_convoy_mine_stock.py REUSED unchanged bound pass: tests/test_convoy_column.py REUSED unchanged bound pass: tests/test_hq_body_observer.py REUSED unchanged bound pass: tests/test_hq_status_sampler.py REUSED unchanged bound pass: tests/test_hq_watch.py REUSED unchanged bound pass: tests/test_hq_assignment_lifecycle.py REUSED unchanged bound pass: tests/test_force_ledger.py REUSED unchanged bound pass: tests/test_enemy_equipment.py REUSED unchanged bound pass: tests/test_enemy_loadout.py REUSED unchanged bound pass: tests/test_automatic_equipment.py REUSED unchanged bound pass: tests/test_engineer_mine.py REUSED unchanged bound pass: tests/test_engineer_mine_site.py REUSED unchanged bound pass: tests/test_engineer_mine_hq.py REUSED unchanged bound pass: tests/test_hq_doctrine.py REUSED unchanged bound pass: tests/test_hq_coverage.py REUSED unchanged bound pass: tests/test_hq_task_reservations.py REUSED unchanged bound pass: tests/test_hq_pursuit.py REUSED unchanged bound pass: tests/test_hq_memory.py REUSED unchanged bound pass: tests/test_external_addons.py REUSED unchanged bound pass: tests/test_admin_tick_delivery.py REUSED unchanged bound pass: tests/test_project_schema.py REUSED unchanged bound pass: tests/test_admin_session.py REUSED unchanged bound pass: tests/test_admin_providers.py REUSED unchanged bound pass: tests/test_admin_menu.py REUSED unchanged bound pass: tests/test_journal_readability.py REUSED unchanged bound pass: tests/test_admin_player_tools.py REUSED unchanged bound pass: tests/test_intel_admin.py REUSED unchanged bound pass: tests/test_intel_reroll.py REUSED unchanged bound pass: tests/test_intel_discovery_feedback.py REUSED unchanged bound pass: tests/test_hq_report_selection.py REUSED unchanged bound pass: tests/test_casualty_feedback.py REUSED unchanged bound pass: tests/test_initial_admission_exhaustion.py REUSED unchanged bound pass: tests/test_prison_held_action_proof.py REUSED unchanged bound pass: tests/test_prison_held_action_evidence.py REUSED unchanged bound pass: tests/test_prison_held_input_adapter.py REUSED unchanged bound pass: tests/test_prison_held_runner.py REUSED unchanged bound pass: tests/test_prison_coarse_facing.py REUSED unchanged bound pass: tests/test_aircraft_field_probe.py REUSED unchanged bound pass: tests/test_aircraft_field_runner.py REUSED unchanged bound pass: tests/test_aircraft_field_rules.py REUSED unchanged bound pass: tests/test_aircraft_field_envelope.py REUSED unchanged bound pass: tests/test_aircraft_field_flight.py REUSED unchanged bound pass: tests/test_command_maintenance.py REUSED unchanged bound pass: tests/test_aircraft_service.py REUSED unchanged bound pass: tests/test_aircraft_service_cancel_runner.py REUSED unchanged bound pass: tests/test_prison_action_selection_proof.py REUSED unchanged bound pass: tests/test_prison_action_selection_evidence.py REUSED unchanged bound pass: tests/test_ordinary_gate_choices.py REUSED unchanged bound pass: tests/test_aircraft_control_bridge.py REUSED unchanged bound pass: tests/test_prison_alignment_proof.py REUSED unchanged bound pass: tests/test_prison_alignment_evidence.py REUSED unchanged bound pass: tests/test_aircraft_route_demand.py REUSED unchanged bound pass: tests/test_prison_approach_proof.py REUSED unchanged bound pass: tests/test_prison_approach_evidence.py REUSED unchanged bound pass: tests/test_ordinary_gate_evidence.py REUSED unchanged bound pass: tests/test_ordinary_gate_observer.py REUSED unchanged bound pass: tests/test_ordinary_look_observer.py REUSED unchanged bound pass: tests/test_ordinary_look_evidence.py REUSED unchanged bound pass: tests/test_relative_look_runner.py REUSED unchanged bound pass: tests/test_radio_waiting_text.py REUSED unchanged bound pass: tests/test_inventory_control_runner.py REUSED unchanged bound pass: tests/test_inventory_layout.py REUSED unchanged bound pass: tests/test_headless_input_proof.py REUSED unchanged bound pass: tests/test_headless_input_exercise_runner.py REUSED unchanged bound pass: tests/test_private_prefix_cleanup.py REUSED unchanged bound pass: tests/test_runner_private_cleanup.py REUSED unchanged bound pass: tests/test_ordinary_input_runner.py REUSED unchanged bound pass: tests/test_ordinary_input_observer.py REUSED unchanged bound pass: tests/test_aircraft_route_envelope.py REUSED unchanged bound pass: tests/test_aircraft_route_policy.py REUSED unchanged bound pass: tests/test_aircraft_route_probe.py REUSED unchanged bound pass: tests/test_rough_intel_feedback.py REUSED unchanged bound pass: tests/test_headless_display_probe.py REUSED unchanged bound pass: tests/test_headless_display_runner.py REUSED unchanged bound pass: tests/test_preparation_status.py REUSED unchanged bound pass: tests/test_hint_delivery.py REUSED unchanged bound pass: tests/test_native_end_lifecycle.py REUSED unchanged bound pass: tests/test_native_end_runner.py REUSED unchanged bound pass: tests/test_escape_result_wording.py REUSED unchanged bound pass: tests/test_native_stats.py REUSED unchanged bound pass: tests/test_aircraft_translation.py REUSED unchanged bound pass: tests/test_spawn_retry_budget.py REUSED unchanged bound pass: tests/test_spawn_preload_timeout.py REUSED unchanged bound pass: tests/test_action_feedback.py REUSED unchanged bound pass: tests/test_native_aircraft_control.py REUSED unchanged bound pass: tests/test_aircraft_flight_policy.py REUSED unchanged bound pass: tests/test_aircraft_flight_envelope.py REUSED unchanged bound pass: tests/test_ordinary_screenshot.py REUSED unchanged bound pass: tests/test_participant_selection.py REUSED unchanged bound pass: tests/test_native_shared_map_ownership.py REUSED unchanged bound pass: tests/test_shared_map_ownership.py REUSED unchanged bound pass: tests/test_intel_registration.py REUSED unchanged bound pass: tests/test_mortar_activity_completion.py REUSED unchanged bound pass: tests/test_packed_chat_game.py REUSED unchanged bound pass: tests/test_native_mortar_refresh.py REUSED unchanged bound pass: tests/test_archive_packed.py REUSED unchanged bound pass: tests/test_mortar_refresh.py REUSED unchanged bound pass: tests/test_packed_core_game.py REUSED unchanged bound pass: tests/test_pak_inventory.py REUSED unchanged bound pass: tests/test_native_mortar_salvo.py REUSED unchanged bound pass: tests/test_spectator_guidance.py REUSED unchanged bound pass: tests/test_spectator_recovery.py All repository checks passed. Native compilation and multiplayer tests are separate requirements. Suite exit 0 programs 288 unchanged True