tests: the L1 witness may be gone before its teardown; and a correction

The previous commit's message says "Elixir green"; the run it cited had
one failure, which the builder read only after committing (tablet 35's
lesson, repeated). The failure: tablet38_l1_integrity_test's on_exit
stopped a witness linked to the test process after it had already
exited (seed 221974). The teardown now tolerates that. Full suite with
that seed: 607 tests, 0 failures, 46 excluded

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Scott KarpandClaude Fable 5.1 committed 2026-10-15 15:03:07 +00:00
1 parent 42024279b9
commit 33caedb240
1 file changed
+8
@@ -172,7 +172,15 @@ defmodule VavPipeline.Tablet38L1IntegrityTest do
L1Integrity.start_link(l1_root: root, expected_hash: L1Reader.expected_hash(), interval: :never)
on_exit(fn ->
# The witness is linked to the test process and may already be
# gone when on_exit runs (seed 221974, 2026-10-15): stopping a
# process that has exited is not a failure of the scroll.
try do
if Process.alive?(pid), do: GenServer.stop(pid)
catch
:exit, _ -> :ok
end
{:ok, _} = Supervisor.restart_child(VavPipeline.Supervisor, L1Integrity)
MannaLedger.reset()
File.rm(VavPipeline.Manna.provision_file())