Skip to content

Serialize tests that share result files#498

Merged
krystophny merged 1 commit into
mainfrom
agent/isolate-result-file-tests-clean
Jul 17, 2026
Merged

Serialize tests that share result files#498
krystophny merged 1 commit into
mainfrom
agent/isolate-result-file-tests-clean

Conversation

@krystophny

Copy link
Copy Markdown
Member

Summary

  • give the restart-I/O and result-accounting tests the same CTest resource lock
  • prevent their shared times_lost.dat and related files from racing under parallel fo

This is a test-infrastructure-only PR stacked on #497. It does not change the runtime binary.

Validation

  • reproduced the race as simultaneous failures of both tests
  • each failed test passed immediately when rerun alone
  • generated CTest metadata contains the shared resource lock
  • complete fo pipeline passed: static analysis, build, tests, and lint (460.9 s)

@krystophny
krystophny force-pushed the agent/hermetic-netcdf-link-clean branch from 4c4173b to 5ae3d4b Compare July 17, 2026 06:33
@krystophny
krystophny force-pushed the agent/isolate-result-file-tests-clean branch from bf893c7 to 0bf739d Compare July 17, 2026 06:33
@krystophny
krystophny force-pushed the agent/hermetic-netcdf-link-clean branch from 5ae3d4b to 4e94045 Compare July 17, 2026 06:40
@krystophny
krystophny force-pushed the agent/isolate-result-file-tests-clean branch from 0bf739d to 5c4412b Compare July 17, 2026 06:40
@krystophny
krystophny force-pushed the agent/hermetic-netcdf-link-clean branch from 4e94045 to ac1a68e Compare July 17, 2026 07:53
Base automatically changed from agent/hermetic-netcdf-link-clean to main July 17, 2026 07:55
@krystophny
krystophny force-pushed the agent/isolate-result-file-tests-clean branch from 5c4412b to f9777af Compare July 17, 2026 07:55
@krystophny
krystophny merged commit b242fa6 into main Jul 17, 2026
4 of 5 checks passed
@krystophny
krystophny deleted the agent/isolate-result-file-tests-clean branch July 17, 2026 07:56
krystophny added a commit that referenced this pull request Jul 17, 2026
## Summary

- keep Newton warning recovery bounded; the obsolete unbounded
finite-iterate policy from closed PR #495 is not included
- recover failed non-SPECTRE symplectic steps through the established
adaptive RK path, cap recovery at 10,000 internal steps, and stop
repeating identical failed recovery work
- reject non-finite, non-local, or out-of-domain RK and symplectic
states before they can be committed or mislabeled as physical LCFS
losses
- retain the reviewed SPECTRE hardening and the independent fixes from
PRs #494, #496, #497, and #498
- compare golden outcomes by physical contract: identities, initial
invariants, exit status/time, valid resolved endpoints, and strict
physical events; completed chaotic survivor phase points may decorrelate

## Validation

- full `fo` at `c57f419`: static analysis, build, complete test suite,
and lint passed in 304.4 s
- focused `test_sympl_testfield` and `test_newton_solver_status` pass
- 13 golden-comparator unit tests pass
- fresh Albert golden run completed without the former stall; all 32
markers resolved, every endpoint was finite, and mapped final radius
stayed in 0.017 to 1.013
- the golden comparison identifies 27 recovered numerical exits and
corrects three old physical-loss records whose reference endpoints had
radial coordinates of roughly 5e5 to 2e6

PR #495 was closed because its generic policy admitted arbitrarily large
finite Newton iterates and produced invalid physical outcomes. This
branch was rebuilt without it. The final performance comparison will be
rerun without the concurrent large LFS archive upload before merge.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant