(jbuild_version 1)

(executable
 ((name cram)
  (libraries (test_common jbuilder))))

(ocamllex (cram))

(alias
 ((name   runtest)
  (deps   ((package jbuilder)
           (files_recursively_in test-cases/redirections)))
  (action
   (chdir test-cases/redirections
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/misc)))
  (action
   (chdir test-cases/misc
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/github20)))
  (action
   (chdir test-cases/github20
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest-js)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/js_of_ocaml)))
  (action
   (chdir test-cases/js_of_ocaml
    (setenv NODE ${bin:node}
     (progn
      (run ${exe:cram.exe} run.t)
      (diff? run.t run.t.corrected)))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/github24)))
  (action
   (chdir test-cases/github24
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/menhir)))
  (action
   (chdir test-cases/menhir
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/github25)))
  (action
   (chdir test-cases/github25/root
    (setenv OCAMLPATH ../findlib-packages
     (progn
      (run ${exe:cram.exe} run.t)
      (diff? run.t run.t.corrected)))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/lib-available)))
  (action
   (chdir test-cases/lib-available
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/copy_files)))
  (action
   (chdir test-cases/copy_files
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/aliases)))
  (action
   (chdir test-cases/aliases
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/force-test)))
  (action
   (chdir test-cases/force-test
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/meta-gen)))
  (action
   (chdir test-cases/meta-gen
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/exec-cmd)))
  (action
   (chdir test-cases/exec-cmd
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/ocaml-syntax)))
  (action
   (chdir test-cases/ocaml-syntax
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/gen-opam-install-file)))
  (action
   (chdir test-cases/gen-opam-install-file
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest-skipped)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/reason)))
  (action
   (chdir test-cases/reason
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/odoc)))
  (action
   (chdir test-cases/odoc
    (progn
     (run ${exe:cram.exe} -ocamlv ${ocaml_version} -skip-versions 4.02.3 run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/select)))
  (action
   (chdir test-cases/select
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/multiple-private-libs)))
  (action
   (chdir test-cases/multiple-private-libs
    (progn
     (run ${exe:cram.exe} -ocamlv ${ocaml_version} -skip-versions 4.02.3 run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/ppx-rewriter)))
  (action
   (chdir test-cases/ppx-rewriter
    (progn
     (run ${exe:cram.exe} -ocamlv ${ocaml_version} -skip-versions 4.02.3 run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/utop)))
  (action
   (chdir test-cases/utop
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/c-stubs)))
  (action
   (chdir test-cases/c-stubs
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/cross-compilation)))
  (action
   (chdir test-cases/cross-compilation
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/promote)))
  (action
   (chdir test-cases/promote
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/include-loop)))
  (action
   (chdir test-cases/include-loop
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/scope-bug)))
  (action
   (chdir test-cases/scope-bug
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/scope-ppx-bug)))
  (action
   (chdir test-cases/scope-ppx-bug
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/loop)))
  (action
   (chdir test-cases/loop
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/intf-only)))
  (action
   (chdir test-cases/intf-only
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/installable-dup-private-libs)))
  (action
   (chdir test-cases/installable-dup-private-libs
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/inline_tests)))
  (action
   (chdir test-cases/inline_tests
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/byte-code-only)))
  (action
   (chdir test-cases/byte-code-only
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/merlin-tests)))
  (action
   (chdir test-cases/merlin-tests
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/findlib)))
  (action
   (chdir test-cases/findlib
    (setenv OCAMLPATH findlib-packages
     (progn
      (run ${exe:cram.exe} run.t)
      (diff? run.t run.t.corrected)))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/odoc-unique-mlds)))
  (action
   (chdir test-cases/odoc-unique-mlds
    (progn
     (run ${exe:cram.exe} -ocamlv ${ocaml_version} -skip-versions 4.02.3 run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/ocamldep-multi-stanzas)))
  (action
   (chdir test-cases/ocamldep-multi-stanzas
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/exclude-missing-module)))
  (action
   (chdir test-cases/exclude-missing-module
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/github534)))
  (action
   (chdir test-cases/github534
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/github568)))
  (action
   (chdir test-cases/github568
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/output-obj)))
  (action
   (chdir test-cases/output-obj
    (progn
     (run ${exe:cram.exe} -ocamlv ${ocaml_version} -skip-versions <4.06.0
      run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/github597)))
  (action
   (chdir test-cases/github597
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/private-public-overlap)))
  (action
   (chdir test-cases/private-public-overlap
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/depend-on-the-universe)))
  (action
   (chdir test-cases/depend-on-the-universe
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/package-dep)))
  (action
   (chdir test-cases/package-dep
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))

(alias
 ((name runtest)
  (deps ((package jbuilder)
         (files_recursively_in test-cases/github644)))
  (action
   (chdir test-cases/github644
    (progn
     (run ${exe:cram.exe} run.t)
     (diff? run.t run.t.corrected))))))
