(executables
 (names QCheck_ounit_test QCheck_test)
 (libraries ounit2 qcheck-ounit))

(rule
 (enabled_if (and (= %{arch_sixtyfour} true) (>= %{ocaml_version} 5)))
 (action (copy QCheck_ounit_test.expected.ocaml5.64 QCheck_ounit_test.expected)))

(rule
 (enabled_if (and (= %{arch_sixtyfour} false) (>= %{ocaml_version} 5)))
 (action (copy QCheck_ounit_test.expected.ocaml5.32 QCheck_ounit_test.expected)))

(rule
 (enabled_if (and (= %{arch_sixtyfour} true) (< %{ocaml_version} 5)))
 (action (copy QCheck_ounit_test.expected.ocaml4.64 QCheck_ounit_test.expected)))

(rule
 (enabled_if (and (= %{arch_sixtyfour} false) (< %{ocaml_version} 5)))
 (action (copy QCheck_ounit_test.expected.ocaml4.32 QCheck_ounit_test.expected)))

(rule
 (targets QCheck_ounit_test.output)
 (deps ./QCheck_ounit_test.exe)
 (enabled_if (= %{os_type} "Unix"))
 (action
  (with-accepted-exit-codes 1
   (with-stdout-to %{targets}
    (run ./run_ounit.sh -runner=sequential -seed 1234)))))

(rule
 (alias runtest)
 (package qcheck-ounit)
 (enabled_if (= %{os_type} "Unix"))
 (action (diff QCheck_ounit_test.expected QCheck_ounit_test.output)))
