(library (name expect_test_negative_tests) (libraries core)
 (preprocess (pps ppx_jane)))

(rule
 (deps (:first_dep ./inline_tests_runner) ./inline_tests_runner.exe
  (glob_files *.ml))
 (targets exact.ml.corrected exn.ml.corrected exn_and_trailing.ml.corrected
  exn_missing.ml.corrected expect_output.ml.corrected flexible.ml.corrected
  function_with_distinct_outputs.ml.corrected functor.ml.corrected
  glob.ml.corrected missing.ml.corrected normal_strings.ml.corrected
  pending_output.ml.corrected regexp.ml.corrected semicolon.ml.corrected
  spacing.ml.corrected string_padding.ml.corrected tag.ml.corrected
  trailing.ml.corrected unidiomatic_syntax.ml.corrected test-output)
 (action
  (bash
   "rm -f *.ml.corrected 2>/dev/null; ! %{first_dep} -diff-cmd true -allow-output-patterns 2> test-output")))

(alias (name runtest) (deps exact.ml.corrected.expected exact.ml.corrected)
 (action (bash "diff -a %{deps}")))

(alias (name runtest) (deps exn.ml.corrected.expected exn.ml.corrected)
 (action (bash "diff -a %{deps}")))

(alias (name runtest)
 (deps exn_and_trailing.ml.corrected.expected exn_and_trailing.ml.corrected)
 (action (bash "diff -a %{deps}")))

(alias (name runtest)
 (deps exn_missing.ml.corrected.expected exn_missing.ml.corrected)
 (action (bash "diff -a %{deps}")))

(alias (name runtest)
 (deps expect_output.ml.corrected.expected expect_output.ml.corrected)
 (action (bash "diff -a %{deps}")))

(alias (name runtest)
 (deps flexible.ml.corrected.expected flexible.ml.corrected)
 (action (bash "diff -a %{deps}")))

(alias (name runtest)
 (deps function_with_distinct_outputs.ml.corrected.expected
  function_with_distinct_outputs.ml.corrected)
 (action (bash "diff -a %{deps}")))

(alias (name runtest)
 (deps functor.ml.corrected.expected functor.ml.corrected)
 (action (bash "diff -a %{deps}")))

(alias (name runtest) (deps glob.ml.corrected.expected glob.ml.corrected)
 (action (bash "diff -a %{deps}")))

(alias (name runtest)
 (deps missing.ml.corrected.expected missing.ml.corrected)
 (action (bash "diff -a %{deps}")))

(alias (name runtest)
 (deps normal_strings.ml.corrected.expected normal_strings.ml.corrected)
 (action (bash "diff -a %{deps}")))

(alias (name runtest)
 (deps pending_output.ml.corrected.expected pending_output.ml.corrected)
 (action (bash "diff -a %{deps}")))

(alias (name runtest) (deps regexp.ml.corrected.expected regexp.ml.corrected)
 (action (bash "diff -a %{deps}")))

(alias (name runtest)
 (deps semicolon.ml.corrected.expected semicolon.ml.corrected)
 (action (bash "diff -a %{deps}")))

(alias (name runtest)
 (deps spacing.ml.corrected.expected spacing.ml.corrected)
 (action (bash "diff -a %{deps}")))

(alias (name runtest)
 (deps string_padding.ml.corrected.expected string_padding.ml.corrected)
 (action (bash "diff -a %{deps}")))

(alias (name runtest) (deps tag.ml.corrected.expected tag.ml.corrected)
 (action (bash "diff -a %{deps}")))

(alias (name runtest)
 (deps trailing.ml.corrected.expected trailing.ml.corrected)
 (action (bash "diff -a %{deps}")))

(alias (name runtest)
 (deps unidiomatic_syntax.ml.corrected.expected
  unidiomatic_syntax.ml.corrected)
 (action (bash "diff -a %{deps}")))

(alias (name runtest) (deps test-output.expected test-output)
 (action (bash "diff -a %{deps}")))