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}/.

v5 went further: hooks no longer run from the suite directory at all. See Migrating from v4 to v5.

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).