diff options
Diffstat (limited to 'internal/game/hardening_fixes_batch2_test.go')
| -rw-r--r-- | internal/game/hardening_fixes_batch2_test.go | 40 |
1 files changed, 1 insertions, 39 deletions
diff --git a/internal/game/hardening_fixes_batch2_test.go b/internal/game/hardening_fixes_batch2_test.go index e81dd9c..cdebc4c 100644 --- a/internal/game/hardening_fixes_batch2_test.go +++ b/internal/game/hardening_fixes_batch2_test.go @@ -1,11 +1,9 @@ package game // Regression tests for the second hardening pass: transactional trigger -// effects, ammo preservation on death, safespot clearing on teleport, and -// economy-journal torn-tail repair. +// effects, ammo preservation on death, and safespot clearing on teleport. import ( - "os" "path/filepath" "testing" @@ -165,39 +163,3 @@ func TestTeleportPlayerClearsSafespot(t *testing.T) { t.Fatalf("room after teleport = %d, want 2", p.RoomID) } } - -// TestEconomyJournalRepairsTornTail: a torn final line must be truncated -// before the next append, so the journal does not become permanently -// unreadable (which would disable recovery and compaction). -func TestEconomyJournalRepairsTornTail(t *testing.T) { - dir := t.TempDir() - j := newEconomyJournal(dir) - if err := os.MkdirAll(filepath.Join(dir, "economy"), 0700); err != nil { - t.Fatal(err) - } - if err := os.WriteFile(j.path, []byte(`{"id":"torn","kind":"payout","status":"open"`), 0600); err != nil { - t.Fatal(err) - } - - if err := j.append(economyRecord{ID: "good", Player: "alice", Kind: "payout", Status: "open", Credit: 5}); err != nil { - t.Fatalf("append after torn tail: %v", err) - } - open, err := j.loadOpen() - if err != nil { - t.Fatalf("loadOpen after torn-tail repair: %v", err) - } - for _, rec := range open { - if rec.ID == "torn" { - t.Fatal("torn record survived repair") - } - } - found := false - for _, rec := range open { - if rec.ID == "good" { - found = true - } - } - if !found { - t.Fatal("valid record missing after torn-tail repair") - } -} |
