11open Import
22open Memo.O
33
4- let alias mode ~dir =
5- match mode with
6- | `js mode -> Jsoo_rules. js_of_ocaml_runtest_alias ~dir ~mode
7- | `exe | `bc -> Memo. return Alias0. runtest
4+ let runtest_alias mode ~dir =
5+ (match mode with
6+ | `js mode -> Jsoo_rules. js_of_ocaml_runtest_alias ~dir ~mode
7+ | `exe | `bc -> Memo. return Alias0. runtest)
8+ >> | Alias. make ~dir
89;;
910
1011let test_kind dir_contents (loc , name , ext ) =
@@ -68,8 +69,7 @@ let rules (t : Tests.t) ~sctx ~dir ~scope ~expander ~dir_contents =
6869 | false ->
6970 let loc = Nonempty_list. hd t.exes.names |> fst in
7071 Memo. parallel_iter runtest_modes ~f: (fun mode ->
71- let * alias_name = alias mode ~dir in
72- let alias = Alias. make alias_name ~dir in
72+ let * alias = runtest_alias mode ~dir in
7373 Simple_rules.Alias_rules. add_empty sctx ~loc ~alias )
7474 | true ->
7575 Nonempty_list. to_list t.exes.names
@@ -97,7 +97,7 @@ let rules (t : Tests.t) ~sctx ~dir ~scope ~expander ~dir_contents =
9797 in
9898 Pform.Map. singleton test_pform [ Value. Path test_exe_path ]
9999 in
100- let * runtest_alias = alias runtest_mode ~dir in
100+ let * runtest_alias = runtest_alias runtest_mode ~dir in
101101 let deps =
102102 (* is this useless? we are going to infer the dependency anyway *)
103103 match custom_runner with
@@ -114,9 +114,10 @@ let rules (t : Tests.t) ~sctx ~dir ~scope ~expander ~dir_contents =
114114 | `js JS | `exe | `bc -> t.deps)
115115 in
116116 let add_alias ~loc ~action =
117+ let alias = Alias. make ~dir (Alias.Name. of_string s) in
117118 (* CR rgrinberg: why are we going through the stanza api? *)
118- let alias =
119- { Alias_conf. name = runtest_alias
119+ let alias_conf =
120+ { Alias_conf. name = Alias. name alias
120121 ; locks = t.locks
121122 ; package = t.package
122123 ; deps
@@ -125,7 +126,10 @@ let rules (t : Tests.t) ~sctx ~dir ~scope ~expander ~dir_contents =
125126 ; loc
126127 }
127128 in
128- Simple_rules. alias sctx ~extra_bindings ~dir ~expander alias
129+ Rules.Produce.Alias. add_deps
130+ runtest_alias
131+ (Action_builder. dep (Dep. alias alias))
132+ >>> Simple_rules. alias sctx ~extra_bindings ~dir ~expander alias_conf
129133 in
130134 match test_kind dir_contents (loc, s, ext) with
131135 | `Regular -> add_alias ~loc ~action: run_action
0 commit comments