Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add cram tests for CFGs #1360

Merged
merged 25 commits into from
Feb 21, 2024
Merged

Add cram tests for CFGs #1360

merged 25 commits into from
Feb 21, 2024

Conversation

sim642
Copy link
Member

@sim642 sim642 commented Feb 9, 2024

This cherry-picks some commits from #847, but uses graph-easy to visualize the .dot output instead of testing the Graphviz code directly.

For end-to-end YAML witness location testing, #1357 is what we finally want, it's not super convenient and general to have to check for node locations through YAML witnesses. This is slightly more direct by both testing the CFG structure (which we've had problems about) and all node locations simultaneously.

TODO

  • Get rid of __goblint_dummy_init, at least in these tests.
  • Go back to per-function CFGs in these tests because 00-sanity/21-empty-loops output is massive only due to the big switch in main, which is orthogonal to the test.
  • Fix GobView (Adapt to compute_cfg move gobview#41).

@sim642 sim642 added the testing label Feb 9, 2024
@sim642 sim642 self-assigned this Feb 9, 2024
@sim642 sim642 marked this pull request as ready for review February 14, 2024 14:11
.github/workflows/coverage.yml Outdated Show resolved Hide resolved
tests/regression/cfg/util/cfgDot.ml Outdated Show resolved Hide resolved
src/common/util/cilLocation.ml Outdated Show resolved Hide resolved
@sim642 sim642 added this to the v2.4.0 milestone Feb 21, 2024
@sim642 sim642 merged commit 119592b into master Feb 21, 2024
16 of 17 checks passed
@sim642 sim642 deleted the cfg-test branch February 21, 2024 16:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants