Skip to content

feat(testcomp): one wrapper and one tool-info module for SV-COMP and Test-Comp - #89

Merged
GuilhermeBn198 merged 2 commits into
developfrom
feat/testcomp-unified-wrapper
Oct 26, 2026
Merged

GuilhermeBn198 merged 2 commits into
developfrom
feat/testcomp-unified-wrapper

Conversation

@GuilhermeBn198

Copy link
Copy Markdown
Collaborator

Summary

Following the review of sosy-lab/benchexec#1352 and fm-tools!1245, Map2Check now has one wrapper and one BenchExec tool-info module for both SV-COMP and Test-Comp.

  • utils/map2check-wrapper.py dispatches on the property: COVER(...) → test generation, ends with DONE; CHECK(...) → verification, as before.
  • map2check-testcomp-wrapper.py and moduleBenchExec/map2check_testcomp.py removed; moduleBenchExec/map2check.py mirrors the upstream module updated in benchexec#1352.
  • Archive scripts (make-archive.sh, smoketest.sh, README, licenses table), package-release.sh, bench-def and the tool-info test updated.
  • Also carries test(testcomp): sweep per-task work dirs left by killed runs, which was only on a local branch.

Verification

  • tests/integration/test_benchexec_toolinfo.py: 24/24; BenchExec test_tool_info on the archive passes.
  • Archive built from a develop build: smoketest.sh passes on clean ubuntu:26.04 and ubuntu:24.04 (python3 gcc-multilib).
  • BenchExec runs (120 s, ILP32) on simple_2-2 and gcd_1: all done, suites collected, 32bit in metadata; TestCov scores the Cover-Error suite.
  • SV-COMP mode: overflow bug → FALSE_OVERFLOW. A trivially safe program ends UNKNOWN after the full budget, identical with the old wrapper flags, so it is pre-existing and not part of this PR.

After merge

Rebuild the archive and publish it under the reserved Zenodo DOI used by fm-tools!1245.

A task killed by a reboot never reached the rm -rf at the end of the loop, so
its mktemp directory stayed in /tmp. Over the V99c campaign a few reboots left
11 GB in one shard container and filled the Windows disk behind the WSL vhdx.
Work directories now live under one root per results dir and shard, emptied
when the harness starts.
…Test-Comp

The BenchExec maintainers asked for Test-Comp support in the existing
tool-info module instead of a second one (sosy-lab/benchexec#1352,
sosy-lab/benchmarking/fm-tools!1245). So:

- utils/map2check-wrapper.py now dispatches on the property file:
  COVER(...) generates tests and ends with DONE, CHECK(...) verifies as
  before. It calls map2check by absolute path, passes --data-model to
  both modes and points map2check at the bundled AFL++ when present.
- map2check-testcomp-wrapper.py and moduleBenchExec/map2check_testcomp.py
  are gone; moduleBenchExec/map2check.py mirrors the updated upstream
  module (DONE -> RESULT_DONE, --data-model/--budget only for v9+,
  UnsupportedFeatureException, version without the "v" prefix).
- The archive (make-archive.sh, smoketest.sh, README, licenses table),
  package-release.sh, the bench-def and the tool-info test follow.
@GuilhermeBn198
GuilhermeBn198 merged commit 0bca42e into develop Oct 26, 2026
10 checks passed
@GuilhermeBn198
GuilhermeBn198 deleted the feat/testcomp-unified-wrapper branch October 26, 2026 17:44
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