(env
 (_
  (binaries ../utils/dune_cmd.exe ../utils/dunepp.exe)))

(cram
 (applies_to pp-cwd)
 (deps %{bin:dunepp}))

(cram
 (applies_to :whole_subtree)
 (deps
  %{bin:dune_cmd}
  (package dune)))

(subdir
 jsoo
 (cram
  (deps %{bin:node})
  (alias runtest-js)))

(cram
 (applies_to windows-diff)
 (alias runtest-windows))

; DISABLED TESTS

(subdir
 env
 (cram
  (applies_to envs-and-contexts)
  (enabled_if false)))

(cram
 (applies_to fdo)
 (enabled_if false))

; This test is flaky

(cram
 (applies_to tests-locks)
 (enabled_if false))

; The following test is flaky due to platform sensitivity
; see https://github.com/ocaml/dune/issues/3744

(subdir
 cram
 (cram
  (applies_to error)
  (enabled_if false)))

(cram
 (applies_to sandboxing)
 (deps %{bin:file}))

; CONDITIONALLY DISABLED TESTS

(cram
 (applies_to signal-exit-code)
 (enabled_if
  (and
   (<> %{env:CI=false} true) ;; in github action, CI=true
   (= %{system} macosx))))

(cram
 (applies_to github764)
 (enabled_if
  (<> %{ocaml-config:system} win)))

(subdir
 odoc
 (cram
  ;; XXX (package odoc) doesn't seem to work for some reason
  (deps %{bin:odoc})
  (enabled_if
   (<> %{ocaml_version} 4.02.3))))

(cram
 (applies_to output-obj)
 (enabled_if
  (and
   (and
    (<> %{ocaml-config:system} macosx)
    (<> %{ocaml-config:system} win))
   (>= %{ocaml_version} 4.06.0))))

(cram
 (applies_to ppx-rewriter)
 (enabled_if
  (<> %{ocaml_version} 4.02.3)))

(cram
 (applies_to toplevel-stanza)
 (enabled_if
  (>= %{ocaml_version} 4.05.0)))

(subdir
 utop
 (cram
  (enabled_if
   (>= %{ocaml_version} 4.05.0))))

(cram
 (applies_to wrapped-transition)
 (enabled_if
  (>= %{ocaml_version} 4.06.0)))

(subdir
 cram
 ;  mac has a different sh error message
 (cram
  (applies_to error)
  (enabled_if
   (<> "macosx" %{ocaml-config:system}))))

(cram
 (applies_to github3766)
 (enabled_if
  (>= %{ocaml_version} 4.12.0))
 (deps ./github3766.t/test.exe))

(subdir
 github3766.t
 (executable
  (libraries stdune spawn)
  (name test)))

(subdir
 actions
 (cram
  (deps ../watching/helpers.sh bin/sub_process.exe)))

(subdir
 cram
 (cram
  (applies_to hg-access)
  (enabled_if %{bin-available:hg})))

(cram
 (applies_to patch-back-source-tree)
 (enabled_if
  (<> %{system} macosx)))
