185 lines
19 KiB
Plaintext
185 lines
19 KiB
Plaintext
Menu layouts and palette are up to date.
|
||
.......
|
||
----------------------------------------------------------------------
|
||
Ran 7 tests in 0.047s
|
||
|
||
OK
|
||
....
|
||
----------------------------------------------------------------------
|
||
Ran 4 tests in 0.000s
|
||
|
||
OK
|
||
....../usr/lib/python3.14/tempfile.py:538: ResourceWarning: Implicitly cleaning up <HTTPError 429: 'limited'>
|
||
_warnings.warn(self.warn_message, ResourceWarning)
|
||
..........
|
||
----------------------------------------------------------------------
|
||
Ran 16 tests in 0.142s
|
||
|
||
OK
|
||
PASS: authoritative kills/deaths, duplicate-event protection, friendly kills, suicide, GM and vehicle exclusions, down/recovery edges, disconnected escapees and terminal gates
|
||
PASS: production roster reconciliation preserves disconnected names and reconnect counters, refuses connection-ID inheritance, freezes records and bounds retained participants
|
||
PASS: held/tapped AI horn limits, half-second pulses, 30-second cooldown, clock reset, player/passenger/aircraft/replica exclusion and ended mission cleanup
|
||
PASS: telemetry outcomes, exactly-once finish, opt-out gate, stale callbacks, HTTP status handling and bounded retry
|
||
PASS: durable installation credential, restart/endpoint/identity isolation, write failure, corruption, bounded retention and disabled-send gates
|
||
PASS: running dedicated configuration, automatic server config/lobby name, explicit override, startup absence, rename and payload bound
|
||
PASS: map/server/mission/event/outcome validation, bounded counters, stale delivery exclusion, current-round refresh and unavailable recovery
|
||
PASS: deployment init waits for mode, runs once, cancels on deletion/world change and bounds retries; respawn RPC registration stays immediate
|
||
PASS: native chat retained on both peers, nested ownership detached, absent chat supplied by replicated fallback, authored mission chat preserved
|
||
PASS: configurable independent restarts, idle clock reset and live setting changes; last disconnect, pending admission/spectator population, five-hour boundary, repeated empty rounds, preparation, authority and duplicate-end guards
|
||
PASS: faction aircraft profiles provide 12+ cargo capacity; FIA/ION crew comes only from the selected faction
|
||
PASS: fleet space is required before pickup registration; dispatch rechecks/replaces only the secondary within the original 48-candidate footprint budget
|
||
Policy-only arrival from 90 m offset / 150 m height at 15 Hz: original 65.60s, rescue 32.20s
|
||
Policy-only arrival from 90 m offset / 150 m height at 30 Hz: original 65.73s, rescue 32.30s
|
||
Policy-only arrival from 90 m offset / 150 m height at 60 Hz: original 65.72s, rescue 32.33s
|
||
Policy-only arrival from 90 m offset / 150 m height at 120 Hz: original 65.72s, rescue 32.33s
|
||
PASS: faster rescue descent, continuous near-ground braking, alignment gate, unchanged recovery/escort/default profile, and bounded settling at 15/30/60/120 Hz
|
||
PASS: split-fleet boarding, escort rejection, lost transport failure and both transports airborne for thirty seconds
|
||
PASS: actual nearest usable registered-fleet selection, patient reservation priority, independent ranges, audited benches/skids and captured-aircraft handshake guards
|
||
PASS: production Cessna boarding requires exact observed occupancy, activates before requesting, caps retries at three with 5s spacing, and preserves transition, ownership, health and seat restrictions; engine behavior is faked
|
||
PASS: traffic distance/grace, all-observer veto, player claims, foreign custody, bounded spawn cadence, failure/stall retention and shutdown preserve nearby/claimed entities
|
||
PASS: actual observer collection includes spectator targets and controlled bodies; missing views/controllers and open editor cameras veto spawn/cleanup
|
||
PASS: civilian traffic defaults to three; menu command resolves to persisted 0..6 setting with zero disabling new cars
|
||
PASS: bounded exit-road selection can turn along a coastline when the opposite road is unavailable; no-route case is withheld
|
||
PASS: managed traffic pins both native garbage entries; release/retirement removes only those pins, including partial creation
|
||
PASS: native garage families only; rubble/furniture/military garages rejected; oversized and invalid vehicle bounds rejected
|
||
PASS: bodies and spectator targets are collected; unknown, nonfinite and editor views veto spawning/cleanup; no connected players yields an empty known view
|
||
PASS: permanent entry/movement/occupancy claims; far hidden grace cleanup; proximity/visibility/unknown-view resets; one staged operation per update, no same-frame catch-up, stop and client guards
|
||
PASS: saved garage menu settings configure the round once; unit conversion and cleanup radius scale correctly; count/chance zero disable startup; clients and stopped rounds do no work
|
||
PASS: exhausted/blocked opening keeps configured radius; distant objective fallback rejected; bounds, player clearance, separation, force cap and retry delay retained
|
||
PASS: separated rear vehicle approaches, opposite infantry sectors, radio-gated ownership, failed-order preservation, visual cover or bounded supported reconnaissance, bounded dismount/search/regroup and loss cleanup
|
||
PASS: production dismount/boarding allocation, all crew allowances, waypoint ownership, one-time vehicle detach/restore and capture/teardown guards
|
||
PASS: covering support requires the original conscious turret gunner, valid mounted driver, live crew and delivered assignment
|
||
PASS: alternate positions exclude failed and occupied stages, roll back on failed planning/allocation, and preserve the total time budget
|
||
PASS: blocked crew deadline survives combat interruptions, defers unsafe exits, resets after recovery; failed stages survive assignments with bounded expiry
|
||
PASS: native-callback cleanup, bounded retries and budget, pending quarantine, objective/ownership/lifecycle protection, no evidence retirement or forced entity deletion
|
||
PASS: radio intel boundary, exclusions, preparation cap, next-round configuration, sticky unlock, redirection/evidence, fixed retention, automatic recovery and lifecycle guards
|
||
PASS: actual terrain refusal reasons, counted summaries, site/attempt/time context, 30-second rate limit and per-site reset
|
||
PASS: actual low/negative dry terrain, height-correct shallow/lake/ocean/interior water refusal and downstream startup dry-ground gates
|
||
PASS: failure-only menu, repeated-frame/dialog focus, pause fallback, exact error, Esc routing, single local exit, stale/recovered mode guards and listener cleanup; native rendering unverified
|
||
PASS: only original fit loaded healthy uncaptured gunners stay mounted; driver can leave; infantry readiness excludes the retained gunner but regroup requires all survivors
|
||
PASS: actual HQ allocator selects reachable reports, distinct cover/flanks, simultaneous fronts, bounded reservations and failed-radio/placement rollback
|
||
PASS: shared own-force attack spacing, own-group refresh, exact release, expiry/deletion, finite capacity and fresh confirmed sighting-only flank permission
|
||
PASS: actual convoy foot transport detachment is idempotent; regroup restores only its live friendly uncaptured original truck
|
||
PASS: opposing native flank orders are transactional; arrived teams sweep twice, travelling/boarding teams retain orders, failed redirects retry and replayed contacts are ignored
|
||
PASS: expired-report approach, arrival-only search, completion, newer/older/replayed reports, visual priority, interrupted search and bounded travel
|
||
PASS: drone cooldown, capacity, freshness, replay, bounded retries, round cap, stop, optional API and radio boundaries
|
||
PASS: production camera cone/range rejects behind-camera and distant actors; control directions, damping and limits
|
||
PASS: production drone radio queue rejects wrong phase/authority/group, busy or unconscious radios and absent routes; snapshots only eligible observations
|
||
PASS: target equipment counts as character contact; unrelated blockers and cyclic hierarchies stay blocked
|
||
PASS: burial requires a conscious current player, actual held shovel, dead nearby unobstructed corpse and no vehicle; authority and duplicate deletion guards preserve player/tool
|
||
PASS: nearest reported idle team, blocked teams, guards, active/pending orders, combat, radio routes, stale status and distance limit
|
||
PASS: six editor listeners transferred idempotently, unrelated handlers retained, authority guard and lifecycle ordering
|
||
PASS: takeover reconnect creates only missing managers, restores native roles, never grants non-admin access, skips stale/disconnected/client states
|
||
PASS: Game Master button becomes enabled on native permission arrival and disabled on revocation; no permission bypass
|
||
PASS: native creation called once per editor; pending/duplicate ownership waits, host works, retry is bounded and stale-world callbacks cannot create editors
|
||
PASS: catalog-independent cleanup removes original subscriptions once, handles never-initialized/preload items, preserves live validation and opted-out/editor behavior
|
||
PASS: shared config transaction rejects client writes, preserves first-save/prior/fallback state across open, write, backup, partial-copy, readback and mismatch failures
|
||
PASS: actual Save/Commit preserves semantically valid backup across unrelated menu edits and repairs; unknown fields/default sections retained; actual terrain parser; other parsers, catalog and disk doubled
|
||
.....TTS request rejected: authentication failed (403)
|
||
TTS request completed (200)
|
||
....TTS request completed (200)
|
||
TTS request completed (200)
|
||
..
|
||
----------------------------------------------------------------------
|
||
Ran 11 tests in 1.068s
|
||
|
||
OK
|
||
PASS: all 37 fixed messages have validated exact audio, native graph identities and source-bundle inclusion
|
||
PASS: production incremental decoder preserves binary data, bounds each slice, yields on elapsed time and rejects malformed or oversized payloads
|
||
PASS: production speech transfer checks order, exact part sizes and stable bounded totals without changing audio
|
||
PASS: production client callbacks only queue; shared updates prepare one bounded slice, preserve bytes, handle file failures and cancel safely before playback
|
||
PASS: production soldier timeout preserves queued/completed preparation, expires stalled requests and removes stopped graphs only once
|
||
PASS: actual welcome tick waits for URL/readiness/server permit, preserves local once-only state across worlds and refuses stopped callbacks
|
||
PASS: account greeting survives client/controller/round changes; owner validation, delayed readiness, idempotent retry, stale replies and bounded ledger
|
||
PASS: original body/equipment retained past old timeout; expiry, death, canonical account/body, occupied controller, failed handoff, missing/dead/expired body replacement and extraction/duplicate-audit guards
|
||
frame_ms=33.3333 buffered_step_variation=0.0336441 baseline=1.32469
|
||
frame_ms=16.6667 buffered_step_variation=0.0660537 baseline=0.822226
|
||
frame_ms=6.94444 buffered_step_variation=0.0253502 baseline=0.427864
|
||
PASS: actual view buffer validates samples, follows position/roll/FOV, rejects stale/foreign/reordered data, buffers jitter without drift, bounds memory and expires gaps
|
||
PASS: actual relay rejects noncanonical sources, live/foreign/stale viewers, invalid/replayed/fast packets; bounds leases and owner-only target delivery
|
||
PASS: production scope sampling preserves ordinary views, selects active ADS only, carries zoom/zeroing/illumination and rejects mismatched/unstreamed optics; native APIs doubled
|
||
PASS: native head/helmet fade is local, target-scoped, restored on exit/switch and does not overwrite a later camera owner
|
||
PASS: actual orbit branch rotates and zooms without a target; anchor tracking, bounds, collision and menu gating; corpse/vehicle orbit and living player-view fallback preserved
|
||
PASS: production TTS settings/test/enable/failure/disable/timeout flows preserve fallback, secrets, authorization, saved state and late-callback cancellation
|
||
PASS: TTS admin authorization, limits, case preservation and menu control contract
|
||
PASS: actual atlas preparation shows disclosed markers on overview, regional and detail sheets; cover hidden; overlay matches map rectangle above print for square/wide/tall terrains
|
||
PASS: actual objective overlay lifecycle preserves separate ownership, late readiness/reopen, data refresh, pan/zoom/culling, supported sibling/shared-frame parents, coordinate offsets, native task-clear isolation and terminal cleanup; native rendering remains unverified
|
||
PASS: actual map element initializes each widget, retries missing widgets, updates position and changes only stale text/icon data; no native image-load claim
|
||
PASS: all atlas identifiers, including the quoted question mark, match the generator
|
||
PASS: actual native fixture root/config ownership and idempotent cleanup preserve foreign map, selector excludes ordinary route, fixed budgets/screenshots/UGC boundaries retained; native operations not executed
|
||
PASS: actual full Inspect rejects canvas parenting, wrong active container/canvas, omitted origin offset, wrong rendered box and stale coordinates; differing origins and DPI accepted
|
||
PASS: actual long-warning phases retain visible label through1500ms checkpoint then restore radio before close; synthetic marker separated from unmoved player
|
||
PASS: actual Center keeps marker offset within large and small native viewports at both fixture zooms without altering disclosed coordinates
|
||
PASS: missing, child-only, malformed, zero and duplicate prefab root IDs rejected
|
||
PASS: delayed scene/inventory arrival, deferred preload, identity checks, stale replies, timeout and observer cleanup
|
||
PASS: loading protection restores only its own damage change, rejects invalid admission actors, and tolerates repeat/deleted cleanup
|
||
PASS: actual inventory manifest, delayed/missing/wrong-owner item links, finite cap, consumed-stock refresh and preload ordering
|
||
PASS: spawn scene remains held through final acknowledgement and nearby use; leaving, reassignment, disconnect and teardown release it
|
||
PASS: production prison AI hold/release, repeat activation, authority/faction/player exclusion, dead actor and stop cleanup
|
||
PASS: actual protected/capped damage plus exact-actor terminal fixture bypass through delayed native damage, fail-closed ownership and untouched ordinary actor; no native claim
|
||
PASS: actual full planner selection/commit body, 360 equivalence scenarios, orders/reservations/cooldowns identical; one128-unit scan vs >10000 repeated unit visits; no FPS claim
|
||
/tmp/err-policy-47tb2b7p/check.cpp: In member function ‘void Controller::ERR_UpdateObserverClient()’:
|
||
/tmp/err-policy-47tb2b7p/check.cpp:99:21: error: ‘GetTickCount’ is not a member of ‘System’
|
||
99 | int now = System::GetTickCount();
|
||
| ^~~~~~~~~~~~
|
||
/tmp/err-policy-47tb2b7p/check.cpp:103:7: error: ‘m_ERRPendingRecoveryStatus’ was not declared in this scope; did you mean ‘m_ERRShownRecoveryStatus’?
|
||
103 | if (m_ERRPendingRecoveryStatus != recovery || now < m_ERRRecoveryStatusSince)
|
||
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
| m_ERRShownRecoveryStatus
|
||
/tmp/err-policy-47tb2b7p/check.cpp:103:55: error: ‘m_ERRRecoveryStatusSince’ was not declared in this scope; did you mean ‘m_ERRRecoveryDeadline’?
|
||
103 | if (m_ERRPendingRecoveryStatus != recovery || now < m_ERRRecoveryStatusSince)
|
||
| ^~~~~~~~~~~~~~~~~~~~~~~~
|
||
| m_ERRRecoveryDeadline
|
||
/tmp/err-policy-47tb2b7p/check.cpp:108:72: error: ‘m_ERRRecoveryStatusSince’ was not declared in this scope; did you mean ‘m_ERRRecoveryDeadline’?
|
||
108 | if (!contextChanged && m_ERRShownRecoveryStatus != recovery && now - m_ERRRecoveryStatusSince < 3000) return;
|
||
| ^~~~~~~~~~~~~~~~~~~~~~~~
|
||
| m_ERRRecoveryDeadline
|
||
/tmp/err-policy-47tb2b7p/check.cpp:115:26: error: no matching function for call to ‘SCR_HintManagerComponent::ShowCustom(string&, const char [11], int, bool&)’
|
||
115 | if (!hints->ShowCustom(message, "Spectating", 12, m_ERRObserverReady)) return;
|
||
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
• there is 1 candidate
|
||
• candidate 1: ‘bool SCR_HintManagerComponent::ShowCustom(string, string, int)’
|
||
/tmp/err-policy-47tb2b7p/check.cpp:26:144:
|
||
26 | struct SCR_HintManagerComponent{int attempts=0;static SCR_HintManagerComponent*GetInstance(){static SCR_HintManagerComponent h;return &h;}bool ShowCustom(string,string,int){attempts++;return true;}};
|
||
| ^~~~~~~~~~
|
||
• candidate expects 3 arguments, 4 provided
|
||
/tmp/err-policy-47tb2b7p/check.cpp: In member function ‘void Controller::ERR_CloseObserverCamera()’:
|
||
/tmp/err-policy-47tb2b7p/check.cpp:149:3: error: ‘m_ERRPendingRecoveryStatus’ was not declared in this scope; did you mean ‘m_ERRShownRecoveryStatus’?
|
||
149 | m_ERRPendingRecoveryStatus = "";
|
||
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
| m_ERRShownRecoveryStatus
|
||
/tmp/err-policy-47tb2b7p/check.cpp:150:3: error: ‘m_ERRRecoveryStatusSince’ was not declared in this scope; did you mean ‘m_ERRRecoveryDeadline’?
|
||
150 | m_ERRRecoveryStatusSince = 0;
|
||
| ^~~~~~~~~~~~~~~~~~~~~~~~
|
||
| m_ERRRecoveryDeadline
|
||
Traceback (most recent call last):
|
||
File "/home/jakub/devel/escapistsrereintroduced/tests/test_observer_ownership.py", line 23, in <module>
|
||
run(r'''#include <cassert>
|
||
~~~^^^^^^^^^^^^^^^^^^^^^^^
|
||
#include <set>
|
||
^^^^^^^^^^^^^^
|
||
...<120 lines>...
|
||
}
|
||
^
|
||
''')
|
||
^^^^
|
||
File "/home/jakub/devel/escapistsrereintroduced/tests/policy_harness.py", line 13, in run
|
||
subprocess.run(['g++','-std=c++17','-Wall','-Werror',str(p/'check.cpp'),'-o',str(p/'check')],check=True)
|
||
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/usr/lib/python3.14/subprocess.py", line 578, in run
|
||
raise CalledProcessError(retcode, process.args,
|
||
output=stdout, stderr=stderr)
|
||
subprocess.CalledProcessError: Command '['g++', '-std=c++17', '-Wall', '-Werror', '/tmp/err-policy-47tb2b7p/check.cpp', '-o', '/tmp/err-policy-47tb2b7p/check']' returned non-zero exit status 1.
|
||
PASS: 48 prefabs have unique saved root entity IDs
|
||
Traceback (most recent call last):
|
||
File "/home/jakub/devel/escapistsrereintroduced/tools/check.py", line 149, in <module>
|
||
if __name__=='__main__':check()
|
||
~~~~~^^
|
||
File "/home/jakub/devel/escapistsrereintroduced/tools/check.py", line 79, in check
|
||
subprocess.run([sys.executable,str(ROOT/'tests/test_observer_ownership.py')],check=True)
|
||
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
File "/usr/lib/python3.14/subprocess.py", line 578, in run
|
||
raise CalledProcessError(retcode, process.args,
|
||
output=stdout, stderr=stderr)
|
||
subprocess.CalledProcessError: Command '['/usr/bin/python3', '/home/jakub/devel/escapistsrereintroduced/tests/test_observer_ownership.py']' returned non-zero exit status 1.
|