diff --git a/flake.nix b/flake.nix index 8f5ffac7f..228d9d89d 100644 --- a/flake.nix +++ b/flake.nix @@ -52,9 +52,12 @@ ]; }; - # Due to a Reason version mismatch, the generated OCaml PPX diff - # looks different - doCheck = false; + doCheck = true; + nativeCheckInputs = [ + reason + merlin + pkgs.jq + ]; propagatedBuildInputs = [ ppxlib_gt_0_37 ]; }; @@ -81,6 +84,8 @@ nativeBuildInputs = [ melange reason + merlin + pkgs.jq ]; propagatedBuildInputs = [ melange diff --git a/ppx/test/dune b/ppx/test/dune index 1e0a153a6..129e2c645 100644 --- a/ppx/test/dune +++ b/ppx/test/dune @@ -1,10 +1,11 @@ (cram (package reason-react-ppx) (deps - (package reason-react) %{bin:reason-react-ppx} %{bin:refmt} %{bin:dune} %{bin:jq} %{bin:ocamlmerlin} - ppx.sh)) + %{bin:bash} + ppx.sh + run-ppx.sh)) diff --git a/ppx/test/ppx.sh b/ppx/test/ppx.sh index 773d601db..dd0078ab2 100755 --- a/ppx/test/ppx.sh +++ b/ppx/test/ppx.sh @@ -1,27 +1,3 @@ -#!/bin/bash -set -eo pipefail - -function usage() { - echo "Usage: $(basename "$0") --output re [file.re]" - echo " $(basename "$0") --output ml [file.re]" -} - -if [ -z "$3" ]; then - usage - exit -fi - -refmt --parse re --print ml "$3" > output.ml -reason-react-ppx --impl output.ml -o temp.ml - -if [ "$2" == "ml" ]; then - cat temp.ml - exit -elif [ "$2" == "re" ]; then - refmt --parse ml --print re temp.ml - exit -else - usage - exit -fi +root_path=$PWD +bash "$(dirname "$0")/run-ppx.sh" "$@" diff --git a/ppx/test/run-ppx.sh b/ppx/test/run-ppx.sh new file mode 100755 index 000000000..32db6906a --- /dev/null +++ b/ppx/test/run-ppx.sh @@ -0,0 +1,25 @@ +set -eo pipefail + +function usage() { + echo "Usage: $(basename "$0") --output re [file.re]" + echo " $(basename "$0") --output ml [file.re]" +} + +if [ -z "$3" ]; then + usage + exit +fi + +refmt --parse re --print ml "$3" > output.ml +reason-react-ppx --impl output.ml -o temp.ml + +if [ "$2" == "ml" ]; then + cat temp.ml + exit +elif [ "$2" == "re" ]; then + refmt --parse ml --print re temp.ml + exit +else + usage + exit +fi diff --git a/ppx/test/components-destructured-error.t/component.re b/test/blackbox-tests/components-destructured-error.t/component.re similarity index 100% rename from ppx/test/components-destructured-error.t/component.re rename to test/blackbox-tests/components-destructured-error.t/component.re diff --git a/ppx/test/components-destructured-error.t/run.t b/test/blackbox-tests/components-destructured-error.t/run.t similarity index 100% rename from ppx/test/components-destructured-error.t/run.t rename to test/blackbox-tests/components-destructured-error.t/run.t diff --git a/ppx/test/hover.t b/test/blackbox-tests/hover.t similarity index 100% rename from ppx/test/hover.t rename to test/blackbox-tests/hover.t diff --git a/ppx/test/issue-429.t/component.re b/test/blackbox-tests/issue-429.t/component.re similarity index 100% rename from ppx/test/issue-429.t/component.re rename to test/blackbox-tests/issue-429.t/component.re diff --git a/ppx/test/issue-429.t/run.t b/test/blackbox-tests/issue-429.t/run.t similarity index 100% rename from ppx/test/issue-429.t/run.t rename to test/blackbox-tests/issue-429.t/run.t diff --git a/ppx/test/key-as-prop-error.t/component.re b/test/blackbox-tests/key-as-prop-error.t/component.re similarity index 100% rename from ppx/test/key-as-prop-error.t/component.re rename to test/blackbox-tests/key-as-prop-error.t/component.re diff --git a/ppx/test/key-as-prop-error.t/run.t b/test/blackbox-tests/key-as-prop-error.t/run.t similarity index 100% rename from ppx/test/key-as-prop-error.t/run.t rename to test/blackbox-tests/key-as-prop-error.t/run.t diff --git a/ppx/test/keys.t/component.re b/test/blackbox-tests/keys.t/component.re similarity index 100% rename from ppx/test/keys.t/component.re rename to test/blackbox-tests/keys.t/component.re diff --git a/ppx/test/keys.t/run.t b/test/blackbox-tests/keys.t/run.t similarity index 100% rename from ppx/test/keys.t/run.t rename to test/blackbox-tests/keys.t/run.t diff --git a/ppx/test/optional-arg-check.t b/test/blackbox-tests/optional-arg-check.t similarity index 100% rename from ppx/test/optional-arg-check.t rename to test/blackbox-tests/optional-arg-check.t diff --git a/ppx/test/react.t b/test/blackbox-tests/react.t similarity index 100% rename from ppx/test/react.t rename to test/blackbox-tests/react.t diff --git a/ppx/test/simple.t/component.re b/test/blackbox-tests/simple.t/component.re similarity index 100% rename from ppx/test/simple.t/component.re rename to test/blackbox-tests/simple.t/component.re diff --git a/ppx/test/simple.t/run.t b/test/blackbox-tests/simple.t/run.t similarity index 100% rename from ppx/test/simple.t/run.t rename to test/blackbox-tests/simple.t/run.t diff --git a/ppx/test/uppercase.t/component.re b/test/blackbox-tests/uppercase.t/component.re similarity index 100% rename from ppx/test/uppercase.t/component.re rename to test/blackbox-tests/uppercase.t/component.re diff --git a/ppx/test/uppercase.t/run.t b/test/blackbox-tests/uppercase.t/run.t similarity index 100% rename from ppx/test/uppercase.t/run.t rename to test/blackbox-tests/uppercase.t/run.t