diff options
| author | Ben Sima <ben@bensima.com> | 2025-11-24 22:42:24 -0500 |
|---|---|---|
| committer | Ben Sima <ben@bensima.com> | 2025-11-24 22:42:24 -0500 |
| commit | 683c8d597f3570c3c5bacead331298c7925b6bce (patch) | |
| tree | 9699319ddf453bcf3d616b86d0f3c69e035adf3a /Omni/Task/RaceTest.hs | |
| parent | 05b36fd8799cbd18febc8f46b3780cc330c4fff9 (diff) | |
fix(task): ensure thread safety and isolate tests
Re-introduces MVar locking in Task Core to prevent race conditions
during Read-Modify-Write cycles (e.g. ID generation). Updates tests
to use isolated SQLite databases instead of the production DB or
JSONL files. Removes legacy test artifacts.
Amp-Thread-ID:
https://ampcode.com/threads/T-ac41b9b6-d117-46de-9e4f-842887a22f1d
Co-authored-by: Amp <amp@ampcode.com>
Diffstat (limited to 'Omni/Task/RaceTest.hs')
| -rw-r--r-- | Omni/Task/RaceTest.hs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/Omni/Task/RaceTest.hs b/Omni/Task/RaceTest.hs index 0cd6464..860272d 100644 --- a/Omni/Task/RaceTest.hs +++ b/Omni/Task/RaceTest.hs @@ -20,10 +20,13 @@ raceTest = Test.unit "concurrent child creation (race condition)" <| do -- Set up test mode setEnv "TASK_TEST_MODE" "1" - setEnv "TASK_DB_PATH" ".tasks/race-test.jsonl" + -- Unset TASK_DB_PATH to ensure we use the test mode default (or set it to .tasks/race-test.db) + -- Actually, since Core.hs respects TASK_DB_PATH if set, we should unset it or set it to our target. + -- Let's set it to .tasks/race-test.db for isolation. + setEnv "TASK_DB_PATH" ".tasks/race-test.db" -- Clean up test database - let testFile = ".tasks/race-test.jsonl" + let testFile = ".tasks/race-test.db" exists <- doesFileExist testFile when exists <| removeFile testFile initTaskDb |
