uwarp-space
2026-02-17
Corporation persistence corrected, 24 failing tests fixed by updating asyncio pattern, and test infrastructure reorganized
291 files · 3,508+ · 1,797-
Corporation persistence fixes
2 files changed
corporation.pyCorp IDs corrected to 1-indexed; mark_dirty calls added; model_dump used correctlymodels.pyCorp binary parser: correct 110-byte format field layout
- Corp IDs are now correctly 1-indexed instead of 0-indexed
decouple
internal
1 file
corporation.py
- Added
mark_dirtycalls so corp changes are flushed to storage instantiate internal1 file
corporation.py
- Fixed serialization:
model_dump()used correctly for corp data remediate internal1 file
corporation.py
- Fixed corp binary parser: correct 110-byte format field layout
remediate
errata
1 file
models.py
TWGS round-trip parser fixes
1 file changed
sqlite.pyTwo parser bugs fixed that caused data corruption on load/save
Test suite — 24 failing tests fixed
4 files changed
admin.pyEngine commands updated for new asyncio patterngame_loop.pySession game loop updated for new asyncio patternconftest.pyReplaced deprecated asyncio event loop fixture; session-scoped _proof_player_id fixturetest_game_state.pyTests updated to use pytest-asyncio current recommended approach
- Replaced deprecated
asyncio.get_event_loop()/ custom event loop fixture pattern withpytest-asyncio’s current recommended approach across 24 test files qualify behavioral2 files
conftest.pytest_game_state.py
- Fixed
_proof_player_idstate sharing bug: switched to session-scoped fixture to avoid cross-test contamination qualify internal1 file
conftest.py
Test infrastructure — seed players and fixtures
3 files changed
seed_players.pyCanonical seed player generator script (13 players)constants.pyseeds/players.yml registered as sole source of truth for uwarp/tim credentialstest_game_state.pyGameD test fixtures updated; universe game.db updated
- Added
scripts/seed_players.pyto generate canonical seed players instantiate internal1 file
seed_players.py
- Expanded seed roster to 13 players:
uwarp/timsysops + 11 varied characters (traders, combatants, corp members) decouple internal1 file
seed_players.py
seeds/players.ymlis now the sole source of truth foruwarp/timcredentials decouple internal1 file
constants.py
- Added GameD test fixtures and updated universe
game.dbqualify internal1 file
test_game_state.py
- Removed old screenshots committed during testing
qualify
internal
1 file
screenshots
Tests directory reorganization
4 files changed
test_game_state_sqlite.pyStardock e2e tests organized into per-facility filestest_alias_persistence.pyStorage tests consolidatedtest_mercenary_expiration.pyStorage tests consolidatedtest_menu_system.pyWebSocket test helpers consolidated into ws_helpers module
- Reorganized
tests/structure: fixed e2e naming conventions, consolidated scattered test directories qualify internal1 file
conftest.py
- Reorganized Stardock e2e tests into per-facility files (tavern, police, underground)
qualify
internal
1 file
test_game_state_sqlite.py
- Consolidated duplicated WebSocket test helpers into shared
ws_helpersmodule qualify internal1 file
test_menu_system.py
- Fixed warnings, hardcoded paths, and stale
xfailmarkers remediate internal1 file
conftest.py
Merge: evaluate-uwarp-rename PR
1 file changed
__init__.pygame_loop import corrected after merge
Admin load fix
1 file changed
service.pyis_admin flag now loaded from SQLite on game startup
- Fixed
is_adminflag never being loaded from SQLite on game startup remediate behavioral1 file
service.py