diff --git a/src/dune_rules/gen_rules.ml b/src/dune_rules/gen_rules.ml index 542e2f223d50..fc8cdcd6a675 100644 --- a/src/dune_rules/gen_rules.ml +++ b/src/dune_rules/gen_rules.ml @@ -111,15 +111,18 @@ end = struct | Alias alias -> let+ () = Simple_rules.alias sctx alias ~dir ~expander in empty_none - | Tests tests -> - let+ cctx, merlin = - Test_rules.rules tests ~sctx ~dir ~scope ~expander ~dir_contents - in - { merlin = Some merlin - ; cctx = Some (tests.exes.buildable.loc, cctx) - ; js = None - ; source_dirs = None - } + | Tests tests -> ( + Expander.eval_blang expander tests.enabled_if >>= function + | false -> Memo.return empty_none + | true -> + let+ cctx, merlin = + Test_rules.rules tests ~sctx ~dir ~scope ~expander ~dir_contents + in + { merlin = Some merlin + ; cctx = Some (tests.exes.buildable.loc, cctx) + ; js = None + ; source_dirs = None + }) | Copy_files { files = glob; _ } -> let* source_dirs = let loc = String_with_vars.loc glob in diff --git a/test/blackbox-tests/test-cases/tests-stanza/github6132.t b/test/blackbox-tests/test-cases/tests-stanza/github6132.t index 9e2b049b6e91..947e51b767ec 100644 --- a/test/blackbox-tests/test-cases/tests-stanza/github6132.t +++ b/test/blackbox-tests/test-cases/tests-stanza/github6132.t @@ -16,11 +16,4 @@ > EOF $ touch missing_test.ml -FIXME: both the missing_test and lib_not are disabled so this error could be -ignored. $ dune build @all - File "dune", line 9, characters 10-17: - 9 | (modules lib_not) - ^^^^^^^ - Error: Module Lib_not doesn't exist. - [1]