Skip to main content

Migrating from v2 to v3

Artifact layout change

v3 changes where test outputs are written. All per-test files now live under artefacts/ in the suite directory instead of logs/.

Single run

v2v3
logs/{test_name}.logartefacts/{test_name}/test.log
logs/{test_name}.errartefacts/{test_name}/test.err
logs/{test_name}.randseedartefacts/{test_name}/test.randseed
logs/{test_name}.coverage.datartefacts/{test_name}/coverage.dat
logs/{test_name}.compile.logartefacts/{test_name}/compile.log

Repeated runs (randtest)

Each randtest iteration now writes into a numbered subdirectory:

artefacts/{test_name}/run-0001/test.log
artefacts/{test_name}/run-0001/test.err
artefacts/{test_name}/run-0001/test.randseed
artefacts/{test_name}/run-0001/coverage.dat

Compile outputs (compile.log, run.f) remain at artefacts/{test_name}/ — they are shared across all iterations of the same test.

Hook scripts that previously relied on suite-relative file paths resolving from the simulator working directory must now resolve those paths explicitly. Use the preproc hook's suite_dir variable for suite-local inputs; keep output filenames artifact-relative when they should land under artefacts/{test_name}/.

The convenience symlinks test.log, test.err, and test.randseed at the suite root still exist and still point to the latest run.

What to update

.gitignore

Replace any logs/ entry with artefacts/:

-logs/
+artefacts/

CI scripts

Update any scripts that reference logs/{test_name}.* paths to the new locations above.

Coverage path references

Scripts that process coverage files should look for artefacts/{test_name}/coverage.dat (single run) or artefacts/{test_name}/run-*/coverage.dat (randtest).