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

(rule
 (deps
  (:first_dep ./inline_tests_runner)
  ./inline_tests_runner.exe
  %{workspace_root}/bin/apply-style
  jbuild
  (glob_files *.ml))
 (targets chdir.ml.corrected comment.ml.corrected
   escaped_strings.ml.corrected 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
   missing.ml.corrected nine.ml.corrected normal_strings.ml.corrected
   semicolon.ml.corrected similar_distinct_outputs.ml.corrected
   spacing.ml.corrected string_extension_syntax.ml.corrected
   string_padding.ml.corrected tag.ml.corrected three.ml.corrected
   trailing.ml.corrected trailing_in_module.ml.corrected
   unidiomatic_syntax.ml.corrected unusual_payload_location.ml.corrected
   test-output)
 (action
  (bash
    "\nrm -f *.ml.corrected 2>/dev/null\n! %{first_dep} -no-color > test-output 2>&1\nfor f in *.ml.corrected\ndo\n  %{workspace_root}/bin/apply-style \\\n    -directory-config jbuild \\\n    -original-file $(basename $f .corrected) \\\n    - < $f > $f.tmp\n  mv $f.tmp $f\ndone\n")))

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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