@@ -77,11 +77,19 @@ config :game_server_web, GameServerWeb.Plugs.RateLimiter, enabled: false
7777# keep logging after the test task itself is done.
7878config :game_server_core , GameServer.Accounts.StalePresenceSweeper , enabled: false
7979
80- # Run GameServer.Async side effects inline so assertions observe them without
81- # racing, and so a fire-and-forget task can't outlive the test's DB sandbox
82- # owner (that surfaced as "client #PID exited" Exqlite disconnects). Kept in
83- # sync with the root config/test.exs, which only applies to umbrella runs.
84- config :game_server_core , async_inline: true
80+ # The other periodic workers, for the same reason: neither owns a sandbox
81+ # connection, and on SQLite they collide with the test's open write transaction
82+ # ("database is locked"). Tests drive tick/0 and sweep/0 directly.
83+ config :game_server_core , GameServer.Tournaments.Ticker , enabled: false
84+ config :game_server_core , GameServer.Matchmaking.Worker , enabled: false
85+
86+ # NOTE: deliberately NOT setting `async_inline: true` here, unlike the root
87+ # config/test.exs. Payments call GameServer.Async.run/1 from inside a
88+ # Repo.transaction, and the hook fanout blocks on a Task that needs its own
89+ # connection — inline, that Task waits on the connection its own caller is
90+ # holding for the transaction, times out after 15s and rolls back. It fails
91+ # 7 payments/entitlement tests. The stray "client exited" disconnects that
92+ # inline mode would silence need a fix in Async/Hooks, not this knob.
8593
8694# Jobs run inline on demand in tests (no queues/plugins/cron). Kept in sync with
8795# the root config/test.exs.
@@ -90,4 +98,5 @@ config :game_server_core, Oban, testing: :manual
9098# The declared setting, not just the endpoint's copy: GameServer.Settings
9199# validates `auth.secret_key_base` at boot, and dev should not warn about a
92100# secret it demonstrably has.
93- config :game_server_core , GameServer.Accounts , secret_key_base: "dJoNJZBOt08JlBREyPV5xvuOdwgHPORxK9WHp/k3Cs+g0R9ctyheJ8/CMeg/AdI1"
101+ config :game_server_core , GameServer.Accounts ,
102+ secret_key_base: "dJoNJZBOt08JlBREyPV5xvuOdwgHPORxK9WHp/k3Cs+g0R9ctyheJ8/CMeg/AdI1"
0 commit comments