From a8ee7bfad5aa24791170e86301a76bcf0d34caaf Mon Sep 17 00:00:00 2001 From: Rudi Grinberg Date: Sat, 17 Mar 2018 02:32:14 +0800 Subject: [PATCH] Add test witnessing generation of backend dune files It shows that jbuilder fails to correctly escape the action field --- .../inline_tests/dune-file/foo.opam | 0 .../test-cases/inline_tests/dune-file/jbuild | 26 +++++++++++++++++++ .../test-cases/inline_tests/run.t | 24 +++++++++++++++++ 3 files changed, 50 insertions(+) create mode 100644 test/blackbox-tests/test-cases/inline_tests/dune-file/foo.opam create mode 100644 test/blackbox-tests/test-cases/inline_tests/dune-file/jbuild diff --git a/test/blackbox-tests/test-cases/inline_tests/dune-file/foo.opam b/test/blackbox-tests/test-cases/inline_tests/dune-file/foo.opam new file mode 100644 index 00000000..e69de29b diff --git a/test/blackbox-tests/test-cases/inline_tests/dune-file/jbuild b/test/blackbox-tests/test-cases/inline_tests/dune-file/jbuild new file mode 100644 index 00000000..37247119 --- /dev/null +++ b/test/blackbox-tests/test-cases/inline_tests/dune-file/jbuild @@ -0,0 +1,26 @@ +(library + ((name foo) + (public_name foo) + (modules ()) + (inline_tests.backend + ((runner_libraries (ppx_inline_test.runner.lib)) + (generate_runner + (progn + (echo "let () = print_int 41") + (echo "\n") + (echo "let () = print_int 42") + (echo "\n") + (echo "let () = print_int 43;;"))) + (flags (inline-test-runner ${library-name} + -source-tree-root ${ROOT} -diff-cmd -)))))) + +(library + ((name foo_tests) + (inline_tests ((backend foo))))) + +(alias + ((name runtest) + (deps (foo.dune)) + (action (echo "${read:foo.dune}")))) + +(jbuild_version 1) diff --git a/test/blackbox-tests/test-cases/inline_tests/run.t b/test/blackbox-tests/test-cases/inline_tests/run.t index e9634f9e..3dc4d485 100644 --- a/test/blackbox-tests/test-cases/inline_tests/run.t +++ b/test/blackbox-tests/test-cases/inline_tests/run.t @@ -19,3 +19,27 @@ $ $JBUILDER runtest many-backends-choose -j1 --display quiet --root . run alias many-backends-choose/runtest backend_mbc1 + + $ $JBUILDER runtest dune-file -j1 --display quiet --root . + (dune + 1 + ((inline_tests.backend + 1.0 + ((runner_libraries (ppx_inline_test.runner.lib)) + (flags + (inline-test-runner + ${library-name} + -source-tree-root + ${ROOT} + -diff-cmd + -)) + (generate_runner + ((progn + (echo let () = print_int 41) + (echo "\n") + (echo let () = print_int 42) + (echo "\n") + (echo let () = print_int 43;;)))) + (extends ()))))) + run alias dune-file/runtest + 414243