about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--050scenario.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/050scenario.cc b/050scenario.cc
index 8f8d2d8f..a7f59c68 100644
--- a/050scenario.cc
+++ b/050scenario.cc
@@ -188,7 +188,8 @@ void run_mu_scenario(const scenario& s) {
   mark_autogenerated(tmp.at(0));
   bind_special_scenario_names(tmp.at(0));
   transform_all();
-  run(tmp.front());
+  if (!trace_contains_errors())
+    run(tmp.front());
   // End Mu Test Teardown
   if (!Hide_errors && trace_contains_errors() && !Scenario_testing_scenario)
     Passed = false;
@@ -259,6 +260,14 @@ def scenario-foo [
 ]
 +error: redefining recipe scenario-foo
 
+:(scenario scenario_containing_transform_error)
+% Hide_errors = true;
+def main [
+  local-scope
+  add x, 1
+]
+# no crash
+
 :(after "bool should_check_for_redefine(const string& recipe_name)")
   if (recipe_name.find("scenario-") == 0) return true;