summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hscript/script.cc17
-rw-r--r--hscript/script.hh5
2 files changed, 22 insertions, 0 deletions
diff --git a/hscript/script.cc b/hscript/script.cc
index 9edf0cc..a31fbc3 100644
--- a/hscript/script.cc
+++ b/hscript/script.cc
@@ -378,4 +378,21 @@ bool Script::validate() const {
return (failures == 0);
}
+bool Script::execute() const {
+ bool success;
+
+ /* Runner.Execute.Verify */
+ output_step_start("validate");
+ success = this->validate();
+ output_step_end("validate");
+ if(!success) {
+ /* Runner.Execute.Verify.Failure */
+ output_error("validator", "The HorizonScript failed validation.",
+ "Check the output from the validator.");
+ return false;
+ }
+
+ return false;
+}
+
}
diff --git a/hscript/script.hh b/hscript/script.hh
index daacf96..2d3d5c8 100644
--- a/hscript/script.hh
+++ b/hscript/script.hh
@@ -33,6 +33,8 @@ enum ScriptOptionFlags {
InstallEnvironment,
/*! "Pretty" output - used in interactive tooling only. */
Pretty,
+ /*! Just print commands that would be run, for testing/debug */
+ Simulate,
/*! Count of flags */
NumFlags
};
@@ -67,6 +69,9 @@ public:
/*! Determines if the HorizonScript is valid. */
bool validate() const;
+ /*! Executes the HorizonScript. */
+ bool execute() const;
+
private:
struct ScriptPrivate;
/*! Internal data. */