diff --git a/ptests/ptests.ml b/ptests/ptests.ml index 886062b192d53ff4fb7b2bbf425637a929697b1c..1aba9251bdb3428e1ea8b87a00cd568ab1f0a566 100644 --- a/ptests/ptests.ml +++ b/ptests/ptests.ml @@ -434,6 +434,12 @@ module Macros = struct type t = string StringMap.t + let add_defaults ~defaults macros = + StringMap.merge (fun _k default cur -> + match cur with + | Some _ -> cur + | _ -> default) defaults macros + let empty = StringMap.empty let macro_regex = Str.regexp "\\([^@]*\\)@\\([^@]*\\)@\\(.*\\)" @@ -1482,6 +1488,7 @@ let process_file ~env ~result_fmt ~oracle_fmt file directory config modules = let nth = !i in incr i ; let macros = ptest_vars ~nth macros in + let macros = Macros.add_defaults ~defaults:config.dc_macros macros in let log_files = List.map (Macros.expand ~file macros) logs in let deps = deps_command ~file macros deps in update_modules ~file modules deps; @@ -1508,6 +1515,7 @@ let process_file ~env ~result_fmt ~oracle_fmt file directory config modules = let nth = !e in incr e ; let macros = ptest_vars ~nth Macros.empty in + let macros = Macros.add_defaults ~defaults:config.dc_macros macros in let cmd = let deps = deps_command ~file macros execnow.ex_deps in update_modules ~file modules deps;