(env
 (_
  (binaries
    ./cfg/util/cfgDot.exe
    ../util/yamlWitnessStrip.exe
    ../util/yamlWitnessStripDiff.exe)))

(rule
 (alias runtest)
 (deps
   (package goblint)
   ../../goblint ; update_suite calls local goblint
   (:update_suite ../../scripts/update_suite.rb)
   ../../Makefile ; update_suite calls `make headers`
   ../../make.sh ; needed for Makefile
   (glob_files_rec ??-*.c)
   (glob_files_rec 28-race_reach/racemacros.h)
   (glob_files_rec 56-witness/??-*.yml) ; excluding witness.yml, etc. which might exist due to running update_suite outside of dune
   (source_tree ../../linux-headers))
 (locks /update_suite)
 (action (chdir ../.. (run %{update_suite} -q))))

(cram
 (applies_to :whole_subtree)
 (alias runcramtest)
 (deps
   (package goblint)
   %{bin:yamlWitnessStrip}
   %{bin:yamlWitnessStripDiff}))
