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

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

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

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

(executable
 (name QCheck_alcotest_test)
 (libraries qcheck-core qcheck-alcotest alcotest))

(rule
 (targets QCheck_alcotest_test.output)
 (deps ./QCheck_alcotest_test.exe)
 (enabled_if (= %{os_type} "Unix"))
 (action
  (with-accepted-exit-codes 1
   (setenv CI false ; Don't run tests as if Alcotest was run in CI
    (setenv QCHECK_SEED 1234
     (with-stdout-to %{targets}
      (run ./run_alcotest.sh --color=never)))))))

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