Skip to content

Commit 6df2d36

Browse files
committed
Alternative names
1 parent 6dd5d4f commit 6df2d36

File tree

6 files changed

+32
-19
lines changed

6 files changed

+32
-19
lines changed

src/dune_rules/dir_status.ml

+7-4
Original file line numberDiff line numberDiff line change
@@ -178,12 +178,15 @@ let directory_targets_of_library
178178
| false -> Path.Build.Map.empty
179179
| true ->
180180
let dir_target =
181-
let lib_name = Lib_name.Local.to_string (snd name) in
181+
let lib_name = snd name in
182182
let inline_test_dir =
183-
let inline_test_name = sprintf "%s.inline-tests" lib_name in
184-
Path.Build.relative dir ("." ^ inline_test_name)
183+
Path.Build.relative
184+
dir
185+
(Inline_tests_info.inline_test_dirname lib_name)
185186
in
186-
Path.Build.relative inline_test_dir ("run" ^ Js_of_ocaml.Ext.wasm_dir)
187+
Path.Build.relative
188+
inline_test_dir
189+
(Inline_tests_info.inline_test_runner ^ Js_of_ocaml.Ext.wasm_dir)
187190
in
188191
Path.Build.Map.singleton dir_target loc)
189192
>>= when_enabled ~dir ~enabled_if

src/dune_rules/inline_tests.ml

+10-9
Original file line numberDiff line numberDiff line change
@@ -81,14 +81,13 @@ include Sub_system.Register_end_point (struct
8181
in
8282
let loc = lib.buildable.loc in
8383
let lib_name = snd lib.name in
84-
let inline_test_name =
85-
sprintf "%s.inline-tests" (Lib_name.Local.to_string lib_name)
84+
let inline_test_dir =
85+
Path.Build.relative dir (Inline_tests_info.inline_test_dirname lib_name)
8686
in
87-
let inline_test_dir = Path.Build.relative dir ("." ^ inline_test_name) in
88-
let name = "run" in
89-
let obj_dir = Obj_dir.make_exe ~dir:inline_test_dir ~name in
87+
let runner_name = Inline_tests_info.inline_test_runner in
88+
let obj_dir = Obj_dir.make_exe ~dir:inline_test_dir ~name:"t" in
9089
let main_module =
91-
let name = Module_name.of_string name in
90+
let name = Module_name.of_string "main" in
9291
Module.generated ~kind:Impl ~src_dir:inline_test_dir [ name ]
9392
in
9493
let modules = Modules.With_vlib.singleton_exe main_module in
@@ -212,7 +211,7 @@ include Sub_system.Register_end_point (struct
212211
in
213212
Exe.build_and_link
214213
cctx
215-
~program:{ name; main_module_name = Module.name main_module; loc }
214+
~program:{ name = runner_name; main_module_name = Module.name main_module; loc }
216215
~linkages
217216
~link_args
218217
~promote:None
@@ -269,7 +268,7 @@ include Sub_system.Register_end_point (struct
269268
| Native | Best | Byte -> None
270269
| Jsoo _ -> Some Jsoo_rules.runner
271270
in
272-
let exe = Path.build (Path.Build.relative inline_test_dir (name ^ ext)) in
271+
let exe = Path.build (Path.Build.relative inline_test_dir (runner_name ^ ext)) in
273272
let open Action_builder.O in
274273
let+ action =
275274
match custom_runner with
@@ -301,7 +300,9 @@ include Sub_system.Register_end_point (struct
301300
| Jsoo Wasm ->
302301
Action_builder.path
303302
(Path.build
304-
(Path.Build.relative inline_test_dir (name ^ Js_of_ocaml.Ext.wasm_dir)))
303+
(Path.Build.relative
304+
inline_test_dir
305+
(runner_name ^ Js_of_ocaml.Ext.wasm_dir)))
305306
in
306307
Action.chdir (Path.build dir) action
307308
in

src/dune_rules/inline_tests_info.ml

+6
Original file line numberDiff line numberDiff line change
@@ -183,3 +183,9 @@ module Tests = struct
183183
purposes *)
184184
let encode _t = assert false
185185
end
186+
187+
let inline_test_dirname lib_name =
188+
sprintf ".%s.inline-tests" (Lib_name.Local.to_string lib_name)
189+
;;
190+
191+
let inline_test_runner = "inline-test-runner"

src/dune_rules/inline_tests_info.mli

+3
Original file line numberDiff line numberDiff line change
@@ -52,3 +52,6 @@ module Tests : sig
5252

5353
include Sub_system_info.S with type t := t
5454
end
55+
56+
val inline_test_dirname : Lib_name.Local.t -> string
57+
val inline_test_runner : string

test/blackbox-tests/test-cases/inline_tests/parallel.t/run.t

+4-4
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@ First, build silently to avoid some noise
55
See that `test1/runtest`, which uses `fake_backend_1, only runs one inline test runner
66

77
$ dune build --display short @test1/runtest 2>&1 | grep alias
8-
run alias test1/runtest
8+
inline-test-runner alias test1/runtest
99

1010
See that `test2/runtest`, which uses `fake_backend_2`, runs one inline test runner per partition
1111

1212
$ dune build --display short @test2/runtest 2>&1 | grep alias
13-
run alias test2/runtest
14-
run alias test2/runtest
15-
run alias test2/runtest
13+
inline-test-runner alias test2/runtest
14+
inline-test-runner alias test2/runtest
15+
inline-test-runner alias test2/runtest
1616

1717
See that we indeed have 3 partitions
1818

test/blackbox-tests/test-cases/inline_tests/simple.t

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
File "dune", line 9, characters 1-40:
2828
9 | (inline_tests (backend backend_simple)))
2929
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
30-
Fatal error: exception File ".foo_simple.inline-tests/run.ml-gen", line 1, characters 40-46: Assertion failed
30+
Fatal error: exception File ".foo_simple.inline-tests/main.ml-gen", line 1, characters 40-46: Assertion failed
3131
[1]
3232

3333
The expected behavior for the following three tests is to output nothing: the tests are disabled or ignored.
@@ -41,5 +41,5 @@ The expected behavior for the following three tests is to output nothing: the te
4141
File "dune", line 9, characters 1-40:
4242
9 | (inline_tests (backend backend_simple)))
4343
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
44-
Fatal error: exception File ".foo_simple.inline-tests/run.ml-gen", line 1, characters 40-46: Assertion failed
44+
Fatal error: exception File ".foo_simple.inline-tests/main.ml-gen", line 1, characters 40-46: Assertion failed
4545
[1]

0 commit comments

Comments
 (0)