aboutsummaryrefslogtreecommitdiff
path: root/build2/test/script/script
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2016-10-21 17:41:09 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2016-11-04 09:26:34 +0200
commit64cbe53f7361075f841572854f1065a6f7c6507c (patch)
tree6f37bf0fed1303f1cda337296d35b3dfc8a60a35 /build2/test/script/script
parenta199a557c732af8ec52f52b35d4b81673d607791 (diff)
Add testscript runner scope enter/leave callbacks
Diffstat (limited to 'build2/test/script/script')
-rw-r--r--build2/test/script/script23
1 files changed, 17 insertions, 6 deletions
diff --git a/build2/test/script/script b/build2/test/script/script
index 7fbe949..3095ccf 100644
--- a/build2/test/script/script
+++ b/build2/test/script/script
@@ -119,9 +119,6 @@ namespace build2
const path& id_path; // Id path ($@, relative in POSIX form).
const dir_path& wd_path; // Working dir ($~, absolute and normalized).
- lines setup;
- lines tdown;
-
// Variables.
//
public:
@@ -155,6 +152,16 @@ namespace build2
protected:
scope (const string& id, scope* parent);
+
+ // Pre-parse data.
+ //
+ private:
+ friend class parser;
+
+ location start_loc_;
+ lines setup_;
+ lines tdown_;
+ location end_loc_;
};
class group: public scope
@@ -172,10 +179,14 @@ namespace build2
class test: public scope
{
public:
- lines tests;
-
- public:
test (const string& id, group& p): scope (id, &p) {}
+
+ // Pre-parse data.
+ //
+ private:
+ friend class parser;
+
+ lines tests_;
};
class script_base // Make sure certain things are initialized early.