aboutsummaryrefslogtreecommitdiff
path: root/build2/test/script/parser.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2017-03-15 18:38:03 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2017-03-15 18:38:03 +0200
commit430e46f7e352b1146f289e82f614d0b68c75aab5 (patch)
tree8ede58e3ada80b63ce15a3e3e93e4850d60986f7 /build2/test/script/parser.cxx
parent925d2d0eabe40517254380c5a12baa338b099d3e (diff)
Implement parallel testscript execution for single target
Diffstat (limited to 'build2/test/script/parser.cxx')
-rw-r--r--build2/test/script/parser.cxx9
1 files changed, 5 insertions, 4 deletions
diff --git a/build2/test/script/parser.cxx b/build2/test/script/parser.cxx
index fd21a58..9d17304 100644
--- a/build2/test/script/parser.cxx
+++ b/build2/test/script/parser.cxx
@@ -2832,8 +2832,8 @@ namespace build2
if (!s.empty ())
execute (s, s, r);
-
- s.state = scope_state::passed;
+ else
+ s.state = scope_state::passed;
}
void parser::
@@ -2972,7 +2972,7 @@ namespace build2
//
if (!sched.async (task_count,
[] (scope& s, script& scr, runner& r,
- const diag_frame* ds)
+ const diag_frame* ds) noexcept
{
diag_frame df (ds);
@@ -2980,7 +2980,6 @@ namespace build2
{
parser p;
p.execute (s, scr, r);
- s.state = scope_state::passed;
}
catch (const failed&)
{
@@ -3024,6 +3023,8 @@ namespace build2
assert (false);
runner_->leave (*scope_, scope_->end_loc_);
+
+ scope_->state = scope_state::passed;
}
void parser::