From 526c1eef397bf1f5d3ed29c92b2d905f1a3f7ed5 Mon Sep 17 00:00:00 2001 From: Rudi Grinberg Date: Fri, 16 Feb 2018 19:58:11 +0700 Subject: [PATCH 1/2] Test to reproduce bug with duplicate mld's in same package Odoc doesn't actually allow this so this test will turn into an error later on. --- test/blackbox-tests/jbuild | 10 ++++++++++ .../test-cases/odoc-unique-mlds/lib1/jbuild | 5 +++++ .../test-cases/odoc-unique-mlds/lib1/test.mld | 0 .../test-cases/odoc-unique-mlds/lib2/jbuild | 5 +++++ .../test-cases/odoc-unique-mlds/lib2/test.mld | 0 .../test-cases/odoc-unique-mlds/root.opam | 0 .../test-cases/odoc-unique-mlds/run.t | 16 ++++++++++++++++ 7 files changed, 36 insertions(+) create mode 100644 test/blackbox-tests/test-cases/odoc-unique-mlds/lib1/jbuild create mode 100644 test/blackbox-tests/test-cases/odoc-unique-mlds/lib1/test.mld create mode 100644 test/blackbox-tests/test-cases/odoc-unique-mlds/lib2/jbuild create mode 100644 test/blackbox-tests/test-cases/odoc-unique-mlds/lib2/test.mld create mode 100644 test/blackbox-tests/test-cases/odoc-unique-mlds/root.opam create mode 100644 test/blackbox-tests/test-cases/odoc-unique-mlds/run.t diff --git a/test/blackbox-tests/jbuild b/test/blackbox-tests/jbuild index 11e912a7..8aa5fe21 100644 --- a/test/blackbox-tests/jbuild +++ b/test/blackbox-tests/jbuild @@ -338,3 +338,13 @@ (progn (run ${exe:cram.exe} run.t) (diff? run.t run.t.corrected)))))))) + +(alias + ((name runtest) + (deps ((files_recursively_in test-cases/odoc-unique-mlds))) + (action + (chdir test-cases/odoc-unique-mlds + (setenv JBUILDER ${bin:jbuilder} + (progn + (run ${exe:cram.exe} -ocamlv ${ocaml_version} -skip-versions 4.02.3 run.t) + (diff? run.t run.t.corrected))))))) diff --git a/test/blackbox-tests/test-cases/odoc-unique-mlds/lib1/jbuild b/test/blackbox-tests/test-cases/odoc-unique-mlds/lib1/jbuild new file mode 100644 index 00000000..5d1729dd --- /dev/null +++ b/test/blackbox-tests/test-cases/odoc-unique-mlds/lib1/jbuild @@ -0,0 +1,5 @@ +(jbuild_version 1) + +(library + ((name root_lib1) + (public_name root.lib1))) diff --git a/test/blackbox-tests/test-cases/odoc-unique-mlds/lib1/test.mld b/test/blackbox-tests/test-cases/odoc-unique-mlds/lib1/test.mld new file mode 100644 index 00000000..e69de29b diff --git a/test/blackbox-tests/test-cases/odoc-unique-mlds/lib2/jbuild b/test/blackbox-tests/test-cases/odoc-unique-mlds/lib2/jbuild new file mode 100644 index 00000000..e32ea1bc --- /dev/null +++ b/test/blackbox-tests/test-cases/odoc-unique-mlds/lib2/jbuild @@ -0,0 +1,5 @@ +(jbuild_version 1) + +(library + ((name root_lib2) + (public_name root.lib2))) diff --git a/test/blackbox-tests/test-cases/odoc-unique-mlds/lib2/test.mld b/test/blackbox-tests/test-cases/odoc-unique-mlds/lib2/test.mld new file mode 100644 index 00000000..e69de29b diff --git a/test/blackbox-tests/test-cases/odoc-unique-mlds/root.opam b/test/blackbox-tests/test-cases/odoc-unique-mlds/root.opam new file mode 100644 index 00000000..e69de29b diff --git a/test/blackbox-tests/test-cases/odoc-unique-mlds/run.t b/test/blackbox-tests/test-cases/odoc-unique-mlds/run.t new file mode 100644 index 00000000..b7990c13 --- /dev/null +++ b/test/blackbox-tests/test-cases/odoc-unique-mlds/run.t @@ -0,0 +1,16 @@ + $ $JBUILDER build @doc -j1 --display short --root . + odoc _doc/odoc.css + odoc _doc/root.lib1/page-index.odoc + odoc _doc/root.lib1/page-test.odoc + ocamlc lib1/.root_lib1.objs/root_lib1.{cmi,cmo,cmt} + odoc _doc/root.lib2/page-index.odoc + odoc _doc/root.lib2/page-test.odoc + ocamlc lib2/.root_lib2.objs/root_lib2.{cmi,cmo,cmt} + odoc _doc/root.lib1/root_lib1.odoc + odoc _doc/root.lib2/root_lib2.odoc + odoc _doc/root.lib1/index.html + odoc _doc/root.lib1/test.html + odoc _doc/root.lib1/Root_lib1/.jbuilder-keep,_doc/root.lib1/Root_lib1/index.html + odoc _doc/root.lib2/index.html + odoc _doc/root.lib2/test.html + odoc _doc/root.lib2/Root_lib2/.jbuilder-keep,_doc/root.lib2/Root_lib2/index.html From 2b7367828498bd654ac82fb0ebda7a05bdf97c12 Mon Sep 17 00:00:00 2001 From: Rudi Grinberg Date: Sat, 17 Feb 2018 19:12:52 +0700 Subject: [PATCH 2/2] Add test for the same mld's in different scopes This case on the other hand is allowed --- .../test.mld => diff-scope/scope1/foo.mld} | 0 .../odoc-unique-mlds/diff-scope/scope1/jbuild | 5 +++++ .../scope1/scope1.opam} | 0 .../{root.opam => diff-scope/scope2/foo.mld} | 0 .../odoc-unique-mlds/diff-scope/scope2/jbuild | 5 +++++ .../diff-scope/scope2/scope2.opam | 0 .../test-cases/odoc-unique-mlds/run.t | 21 ++++++++++++++++++- .../{ => same-scope}/lib1/jbuild | 0 .../odoc-unique-mlds/same-scope/lib1/test.mld | 0 .../{ => same-scope}/lib2/jbuild | 0 .../odoc-unique-mlds/same-scope/lib2/test.mld | 0 .../odoc-unique-mlds/same-scope/root.opam | 0 12 files changed, 30 insertions(+), 1 deletion(-) rename test/blackbox-tests/test-cases/odoc-unique-mlds/{lib1/test.mld => diff-scope/scope1/foo.mld} (100%) create mode 100644 test/blackbox-tests/test-cases/odoc-unique-mlds/diff-scope/scope1/jbuild rename test/blackbox-tests/test-cases/odoc-unique-mlds/{lib2/test.mld => diff-scope/scope1/scope1.opam} (100%) rename test/blackbox-tests/test-cases/odoc-unique-mlds/{root.opam => diff-scope/scope2/foo.mld} (100%) create mode 100644 test/blackbox-tests/test-cases/odoc-unique-mlds/diff-scope/scope2/jbuild create mode 100644 test/blackbox-tests/test-cases/odoc-unique-mlds/diff-scope/scope2/scope2.opam rename test/blackbox-tests/test-cases/odoc-unique-mlds/{ => same-scope}/lib1/jbuild (100%) create mode 100644 test/blackbox-tests/test-cases/odoc-unique-mlds/same-scope/lib1/test.mld rename test/blackbox-tests/test-cases/odoc-unique-mlds/{ => same-scope}/lib2/jbuild (100%) create mode 100644 test/blackbox-tests/test-cases/odoc-unique-mlds/same-scope/lib2/test.mld create mode 100644 test/blackbox-tests/test-cases/odoc-unique-mlds/same-scope/root.opam diff --git a/test/blackbox-tests/test-cases/odoc-unique-mlds/lib1/test.mld b/test/blackbox-tests/test-cases/odoc-unique-mlds/diff-scope/scope1/foo.mld similarity index 100% rename from test/blackbox-tests/test-cases/odoc-unique-mlds/lib1/test.mld rename to test/blackbox-tests/test-cases/odoc-unique-mlds/diff-scope/scope1/foo.mld diff --git a/test/blackbox-tests/test-cases/odoc-unique-mlds/diff-scope/scope1/jbuild b/test/blackbox-tests/test-cases/odoc-unique-mlds/diff-scope/scope1/jbuild new file mode 100644 index 00000000..d7f98d26 --- /dev/null +++ b/test/blackbox-tests/test-cases/odoc-unique-mlds/diff-scope/scope1/jbuild @@ -0,0 +1,5 @@ +(jbuild_version 1) + +(library + ((name scope1) + (public_name scope1))) diff --git a/test/blackbox-tests/test-cases/odoc-unique-mlds/lib2/test.mld b/test/blackbox-tests/test-cases/odoc-unique-mlds/diff-scope/scope1/scope1.opam similarity index 100% rename from test/blackbox-tests/test-cases/odoc-unique-mlds/lib2/test.mld rename to test/blackbox-tests/test-cases/odoc-unique-mlds/diff-scope/scope1/scope1.opam diff --git a/test/blackbox-tests/test-cases/odoc-unique-mlds/root.opam b/test/blackbox-tests/test-cases/odoc-unique-mlds/diff-scope/scope2/foo.mld similarity index 100% rename from test/blackbox-tests/test-cases/odoc-unique-mlds/root.opam rename to test/blackbox-tests/test-cases/odoc-unique-mlds/diff-scope/scope2/foo.mld diff --git a/test/blackbox-tests/test-cases/odoc-unique-mlds/diff-scope/scope2/jbuild b/test/blackbox-tests/test-cases/odoc-unique-mlds/diff-scope/scope2/jbuild new file mode 100644 index 00000000..4294bbcd --- /dev/null +++ b/test/blackbox-tests/test-cases/odoc-unique-mlds/diff-scope/scope2/jbuild @@ -0,0 +1,5 @@ +(jbuild_version 1) + +(library + ((name scope2) + (public_name scope2))) \ No newline at end of file diff --git a/test/blackbox-tests/test-cases/odoc-unique-mlds/diff-scope/scope2/scope2.opam b/test/blackbox-tests/test-cases/odoc-unique-mlds/diff-scope/scope2/scope2.opam new file mode 100644 index 00000000..e69de29b diff --git a/test/blackbox-tests/test-cases/odoc-unique-mlds/run.t b/test/blackbox-tests/test-cases/odoc-unique-mlds/run.t index b7990c13..810bbbdd 100644 --- a/test/blackbox-tests/test-cases/odoc-unique-mlds/run.t +++ b/test/blackbox-tests/test-cases/odoc-unique-mlds/run.t @@ -1,4 +1,5 @@ - $ $JBUILDER build @doc -j1 --display short --root . +Duplicate mld's in the same scope + $ $JBUILDER build @doc -j1 --display short --root ./same-scope 2>&1 | grep -v Entering odoc _doc/odoc.css odoc _doc/root.lib1/page-index.odoc odoc _doc/root.lib1/page-test.odoc @@ -14,3 +15,21 @@ odoc _doc/root.lib2/index.html odoc _doc/root.lib2/test.html odoc _doc/root.lib2/Root_lib2/.jbuilder-keep,_doc/root.lib2/Root_lib2/index.html + +Duplicate mld's in different scope + $ $JBUILDER build @doc -j1 --display short --root ./diff-scope 2>&1 | grep -v Entering + odoc _doc/odoc.css + odoc _doc/scope1/page-foo.odoc + odoc _doc/scope1/page-index.odoc + ocamlc scope1/.scope1.objs/scope1.{cmi,cmo,cmt} + odoc _doc/scope2/page-foo.odoc + odoc _doc/scope2/page-index.odoc + ocamlc scope2/.scope2.objs/scope2.{cmi,cmo,cmt} + odoc _doc/scope1/scope1.odoc + odoc _doc/scope2/scope2.odoc + odoc _doc/scope1/foo.html + odoc _doc/scope1/index.html + odoc _doc/scope1/Scope1/.jbuilder-keep,_doc/scope1/Scope1/index.html + odoc _doc/scope2/foo.html + odoc _doc/scope2/index.html + odoc _doc/scope2/Scope2/.jbuilder-keep,_doc/scope2/Scope2/index.html diff --git a/test/blackbox-tests/test-cases/odoc-unique-mlds/lib1/jbuild b/test/blackbox-tests/test-cases/odoc-unique-mlds/same-scope/lib1/jbuild similarity index 100% rename from test/blackbox-tests/test-cases/odoc-unique-mlds/lib1/jbuild rename to test/blackbox-tests/test-cases/odoc-unique-mlds/same-scope/lib1/jbuild diff --git a/test/blackbox-tests/test-cases/odoc-unique-mlds/same-scope/lib1/test.mld b/test/blackbox-tests/test-cases/odoc-unique-mlds/same-scope/lib1/test.mld new file mode 100644 index 00000000..e69de29b diff --git a/test/blackbox-tests/test-cases/odoc-unique-mlds/lib2/jbuild b/test/blackbox-tests/test-cases/odoc-unique-mlds/same-scope/lib2/jbuild similarity index 100% rename from test/blackbox-tests/test-cases/odoc-unique-mlds/lib2/jbuild rename to test/blackbox-tests/test-cases/odoc-unique-mlds/same-scope/lib2/jbuild diff --git a/test/blackbox-tests/test-cases/odoc-unique-mlds/same-scope/lib2/test.mld b/test/blackbox-tests/test-cases/odoc-unique-mlds/same-scope/lib2/test.mld new file mode 100644 index 00000000..e69de29b diff --git a/test/blackbox-tests/test-cases/odoc-unique-mlds/same-scope/root.opam b/test/blackbox-tests/test-cases/odoc-unique-mlds/same-scope/root.opam new file mode 100644 index 00000000..e69de29b