summaryrefslogtreecommitdiff
path: root/expression-test/expression_test_runner.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'expression-test/expression_test_runner.hpp')
-rw-r--r--expression-test/expression_test_runner.hpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/expression-test/expression_test_runner.hpp b/expression-test/expression_test_runner.hpp
new file mode 100644
index 0000000000..596d5c11b6
--- /dev/null
+++ b/expression-test/expression_test_runner.hpp
@@ -0,0 +1,32 @@
+#pragma once
+
+#include <vector>
+#include <string>
+
+class TestData;
+
+struct TestRunOutput {
+ TestRunOutput(std::string id_) : id(std::move(id_)) {}
+ std::string id;
+ bool passed = false;
+ std::string text;
+ std::string expression;
+ std::string serialized;
+};
+
+class TestStats {
+public:
+ std::size_t testCount() const {
+ return passed.size() + failed.size() + errored.size() +
+ ignorePassed.size() + ignoreFailed.size();
+ }
+
+ std::vector<TestRunOutput> passed;
+ std::vector<TestRunOutput> failed;
+ std::vector<TestRunOutput> errored;
+ std::vector<TestRunOutput> ignorePassed;
+ std::vector<TestRunOutput> ignoreFailed;
+ std::vector<std::string> ids;
+};
+
+TestRunOutput runExpressionTest(TestData&, const std::string& rootPath, const std::string& id);