From 3ac73edb42ee61b3716ef434f31747f484159508 Mon Sep 17 00:00:00 2001 From: Rudi Grinberg Date: Mon, 18 Dec 2017 23:38:23 +0800 Subject: [PATCH 1/2] move copy-sources for reason tests to own dir So that the originals aren't used accidentally --- .../test-cases/reason/{ => copy-sources}/pped.pp.re | 0 .../test-cases/reason/{ => copy-sources}/pped.rei.pp | 0 test/blackbox-tests/test-cases/reason/jbuild | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) rename test/blackbox-tests/test-cases/reason/{ => copy-sources}/pped.pp.re (100%) rename test/blackbox-tests/test-cases/reason/{ => copy-sources}/pped.rei.pp (100%) diff --git a/test/blackbox-tests/test-cases/reason/pped.pp.re b/test/blackbox-tests/test-cases/reason/copy-sources/pped.pp.re similarity index 100% rename from test/blackbox-tests/test-cases/reason/pped.pp.re rename to test/blackbox-tests/test-cases/reason/copy-sources/pped.pp.re diff --git a/test/blackbox-tests/test-cases/reason/pped.rei.pp b/test/blackbox-tests/test-cases/reason/copy-sources/pped.rei.pp similarity index 100% rename from test/blackbox-tests/test-cases/reason/pped.rei.pp rename to test/blackbox-tests/test-cases/reason/copy-sources/pped.rei.pp diff --git a/test/blackbox-tests/test-cases/reason/jbuild b/test/blackbox-tests/test-cases/reason/jbuild index b488093b..43e7037e 100644 --- a/test/blackbox-tests/test-cases/reason/jbuild +++ b/test/blackbox-tests/test-cases/reason/jbuild @@ -1,7 +1,7 @@ (jbuild_version 1) -(rule (copy pped.pp.re pped.re)) -(rule (copy pped.rei.pp pped.rei)) +(rule (copy copy-sources/pped.pp.re pped.re)) +(rule (copy copy-sources/pped.rei.pp pped.rei)) (library ((name rlib) From 2025f1db58fcb8fe8851c891dc8e358d1f82fa82 Mon Sep 17 00:00:00 2001 From: Rudi Grinberg Date: Wed, 20 Dec 2017 17:42:46 +0700 Subject: [PATCH 2/2] Improve reason tests Test that modules are actually built by running their code. --- test/blackbox-tests/test-cases/reason/bar.mli | 2 +- test/blackbox-tests/test-cases/reason/bar.re | 2 +- test/blackbox-tests/test-cases/reason/cppome.re | 1 + test/blackbox-tests/test-cases/reason/cppome.rei | 1 + test/blackbox-tests/test-cases/reason/foo.ml | 2 +- test/blackbox-tests/test-cases/reason/foo.rei | 2 +- test/blackbox-tests/test-cases/reason/hello.re | 5 +---- test/blackbox-tests/test-cases/reason/hello.rei | 3 +-- test/blackbox-tests/test-cases/reason/jbuild | 14 +++++++++++++- test/blackbox-tests/test-cases/reason/rbin.re | 6 ++++++ test/blackbox-tests/test-cases/reason/run.t | 13 ++++++++++++- 11 files changed, 39 insertions(+), 12 deletions(-) create mode 100644 test/blackbox-tests/test-cases/reason/rbin.re diff --git a/test/blackbox-tests/test-cases/reason/bar.mli b/test/blackbox-tests/test-cases/reason/bar.mli index c05e8c6e..733b2a32 100644 --- a/test/blackbox-tests/test-cases/reason/bar.mli +++ b/test/blackbox-tests/test-cases/reason/bar.mli @@ -1 +1 @@ -val y : unit -> int +val run : unit -> unit diff --git a/test/blackbox-tests/test-cases/reason/bar.re b/test/blackbox-tests/test-cases/reason/bar.re index 2e0c74a1..6bd434a1 100644 --- a/test/blackbox-tests/test-cases/reason/bar.re +++ b/test/blackbox-tests/test-cases/reason/bar.re @@ -1 +1 @@ -let y = () => 42; \ No newline at end of file +let run = () => print_endline("Bar"); \ No newline at end of file diff --git a/test/blackbox-tests/test-cases/reason/cppome.re b/test/blackbox-tests/test-cases/reason/cppome.re index e69de29b..6e8bfb2e 100644 --- a/test/blackbox-tests/test-cases/reason/cppome.re +++ b/test/blackbox-tests/test-cases/reason/cppome.re @@ -0,0 +1 @@ +let run = fun () => print_endline("Cppome"); diff --git a/test/blackbox-tests/test-cases/reason/cppome.rei b/test/blackbox-tests/test-cases/reason/cppome.rei index e69de29b..a11b0707 100644 --- a/test/blackbox-tests/test-cases/reason/cppome.rei +++ b/test/blackbox-tests/test-cases/reason/cppome.rei @@ -0,0 +1 @@ +let run : unit => unit \ No newline at end of file diff --git a/test/blackbox-tests/test-cases/reason/foo.ml b/test/blackbox-tests/test-cases/reason/foo.ml index 5384d88f..dab6a3d2 100644 --- a/test/blackbox-tests/test-cases/reason/foo.ml +++ b/test/blackbox-tests/test-cases/reason/foo.ml @@ -1 +1 @@ -let x = 43 +let run () = print_endline "Foo" diff --git a/test/blackbox-tests/test-cases/reason/foo.rei b/test/blackbox-tests/test-cases/reason/foo.rei index 86982fe0..a7937ade 100644 --- a/test/blackbox-tests/test-cases/reason/foo.rei +++ b/test/blackbox-tests/test-cases/reason/foo.rei @@ -1 +1 @@ -let x : int \ No newline at end of file +let run : unit => unit; \ No newline at end of file diff --git a/test/blackbox-tests/test-cases/reason/hello.re b/test/blackbox-tests/test-cases/reason/hello.re index cc78fee1..f58a07d2 100644 --- a/test/blackbox-tests/test-cases/reason/hello.re +++ b/test/blackbox-tests/test-cases/reason/hello.re @@ -1,4 +1 @@ - -let hw = fun () => "hello world"; - -print_endline(hw()); \ No newline at end of file +let run = fun () => print_endline("hello world"); \ No newline at end of file diff --git a/test/blackbox-tests/test-cases/reason/hello.rei b/test/blackbox-tests/test-cases/reason/hello.rei index 660a0366..a7937ade 100644 --- a/test/blackbox-tests/test-cases/reason/hello.rei +++ b/test/blackbox-tests/test-cases/reason/hello.rei @@ -1,2 +1 @@ - -let hw : unit => string; \ No newline at end of file +let run : unit => unit; \ No newline at end of file diff --git a/test/blackbox-tests/test-cases/reason/jbuild b/test/blackbox-tests/test-cases/reason/jbuild index 43e7037e..a51a3f06 100644 --- a/test/blackbox-tests/test-cases/reason/jbuild +++ b/test/blackbox-tests/test-cases/reason/jbuild @@ -6,14 +6,26 @@ (library ((name rlib) (public_name rlib) + (modules (bar cppome foo hello pped)) (preprocess (per_module ((pps (reasonppx)) (foo)) ((pps (reasonppx (-lint false))) (hello)) ((action (run ./pp/reasononlypp.exe ${<})) (cppome)))))) +(executable + ((name rbin) + (modules (rbin)) + (preprocess (action (run ./pp/reasononlypp.exe ${<}))) + (libraries (rlib)))) + ;; we want to make sure that .rei files are present (alias - ((name runtest) + ((name install-file) (deps (rlib.install)) (action (echo "${read:rlib.install}")))) + +(alias + ((name runtest) + (deps (rbin.exe)) + (action (run ${<})))) \ No newline at end of file diff --git a/test/blackbox-tests/test-cases/reason/rbin.re b/test/blackbox-tests/test-cases/reason/rbin.re new file mode 100644 index 00000000..987b19b2 --- /dev/null +++ b/test/blackbox-tests/test-cases/reason/rbin.re @@ -0,0 +1,6 @@ +open Rlib; + +Cppome.run(); +Hello.run(); +Bar.run(); +Foo.run(); \ No newline at end of file diff --git a/test/blackbox-tests/test-cases/reason/run.t b/test/blackbox-tests/test-cases/reason/run.t index a976511e..4d4fc656 100644 --- a/test/blackbox-tests/test-cases/reason/run.t +++ b/test/blackbox-tests/test-cases/reason/run.t @@ -1,4 +1,4 @@ - $ $JBUILDER runtest -j1 --root . + $ $JBUILDER build @runtest @install-file -j1 --root . refmt bar.re.ml ocamldep pp/reasononlypp.depends.ocamldep-output ocamldep ppx/reasonppx.depends.ocamldep-output @@ -17,13 +17,16 @@ ocamlopt ppx/reasonppx.{a,cmxa} reasononlypp cppome.pp.re reasononlypp cppome.pp.rei + reasononlypp rbin.pp.re ocamlopt .ppx/reasonppx/ppx.exe refmt cppome.pp.re.ml refmt cppome.pp.re.mli + refmt rbin.pp.re.ml ppx foo.pp.ml ppx hello.re.pp.ml ppx foo.re.pp.mli ppx hello.re.pp.mli + ocamldep rbin.depends.ocamldep-output ocamldep rlib.depends.ocamldep-output ocamldep rlib.dependsi.ocamldep-output ocamlc rlib__Bar.{cmi,cmti} @@ -41,8 +44,10 @@ ocamlopt rlib__Hello.{cmx,o} ocamlc rlib__Pped.{cmo,cmt} ocamlopt rlib__Pped.{cmx,o} + ocamlc rbin.{cmi,cmo,cmt} ocamlc rlib.cma ocamlopt rlib.{a,cmxa} + ocamlopt rbin.{cmx,o} ocamlopt rlib.cmxs lib: [ "_build/install/default/lib/rlib/META" {"META"} @@ -81,3 +86,9 @@ "_build/install/default/lib/rlib/rlib.a" "_build/install/default/lib/rlib/rlib.cmxs" ] + ocamlopt rbin.exe + rbin alias runtest + Cppome + hello world + Bar + Foo