diff --git a/ptests/ptests.ml b/ptests/ptests.ml index 61d3b38decb7b848f2810cfc9d23433148f28fe0..d99f688a4ac700f140617be5cb866a6d4711002d 100644 --- a/ptests/ptests.ml +++ b/ptests/ptests.ml @@ -493,7 +493,7 @@ end = struct end -let macro_regex = Str.regexp "\\([^@]*\\)@\\([^@]+\\)@\\(.*\\)" +let macro_regex = Str.regexp "\\([^@]*\\)@\\([^@]*\\)@\\(.*\\)" type execnow = { @@ -585,15 +585,19 @@ let replace_macros macros s = let rest = Str.matched_group 3 s in let new_n = Str.group_end 1 in let n, new_s = - try - if !verbosity >= 2 then lock_printf "macro is %s\n%!" macro; - let replacement = StringMap.find macro macros in - if !verbosity >= 1 then - lock_printf "replacement for %s is %s\n%!" macro replacement; - new_n, - String.sub s 0 n ^ start ^ replacement ^ rest - with + if macro = "" then begin + new_n + 1, String.sub s 0 new_n ^ "@" ^ rest + end else begin + try + if !verbosity >= 2 then lock_printf "macro is %s\n%!" macro; + let replacement = StringMap.find macro macros in + if !verbosity >= 1 then + lock_printf "replacement for %s is %s\n%!" macro replacement; + new_n, + String.sub s 0 n ^ start ^ replacement ^ rest + with | Not_found -> Str.group_end 2 + 1, s + end in if !verbosity >= 2 then lock_printf "new string is %s\n%!" new_s; let new_acc = ptest_file_matched, new_s in diff --git a/tests/rte/twofunc3.c b/tests/rte/twofunc3.c index b7102aaf7086db45e0bfbf0924a346a8edab1bcb..fab3e66a5abf45ebcf5d3ea1c88983614b468ef6 100644 --- a/tests/rte/twofunc3.c +++ b/tests/rte/twofunc3.c @@ -1,6 +1,6 @@ /* run.config EXECNOW: make -s @PTEST_DIR@/rte_api/rte_get_annot.cmxs - OPT: -load-module @PTEST_DIR@/rte_api/rte_get_annot -journal-disable + OPT: -rte-select @@all -load-module @PTEST_DIR@/rte_api/rte_get_annot -journal-disable */