diff options
author | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2019-10-12 09:28:39 -0500 |
---|---|---|
committer | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2019-10-12 09:28:39 -0500 |
commit | 6a2bbf81ae81a409565f55a825d330cd63772087 (patch) | |
tree | 760b41d60ab068bdf2905586a7ba0d8854ae71c9 | |
parent | 90397f6a91e3e960609952486707ec76b332465e (diff) | |
download | horizon-6a2bbf81ae81a409565f55a825d330cd63772087.tar.gz horizon-6a2bbf81ae81a409565f55a825d330cd63772087.tar.bz2 horizon-6a2bbf81ae81a409565f55a825d330cd63772087.tar.xz horizon-6a2bbf81ae81a409565f55a825d330cd63772087.zip |
hscript: Add Script::execute() and Simulate option
-rw-r--r-- | hscript/script.cc | 17 | ||||
-rw-r--r-- | hscript/script.hh | 5 |
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. */ |