summaryrefslogtreecommitdiffstats
path: root/tools/unit-test/slang-unit-test.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2021-09-24 11:33:44 -0700
committerGitHub <noreply@github.com>2021-09-24 11:33:44 -0700
commitbec8e6aec85b6e3f875c58bdd59eb15613978358 (patch)
tree0791fb2ce1be786c17e5a6ee489ed3065fc07332 /tools/unit-test/slang-unit-test.cpp
parentf2a3c933bc11a498c622fa18694c84beca8ca031 (diff)
Move existing unit tests to a standalone dll. (#1945)
Diffstat (limited to 'tools/unit-test/slang-unit-test.cpp')
-rw-r--r--tools/unit-test/slang-unit-test.cpp27
1 files changed, 22 insertions, 5 deletions
diff --git a/tools/unit-test/slang-unit-test.cpp b/tools/unit-test/slang-unit-test.cpp
index a31614c05..28eba3a1f 100644
--- a/tools/unit-test/slang-unit-test.cpp
+++ b/tools/unit-test/slang-unit-test.cpp
@@ -5,13 +5,14 @@
struct SlangUnitTest
{
const char* name;
- slang::UnitTestFunc func;
+ UnitTestFunc func;
};
-class SlangUnitTestModule : public slang::IUnitTestModule
+class SlangUnitTestModule : public IUnitTestModule
{
public:
Slang::List<SlangUnitTest> tests;
+ ITestReporter* testReporter = nullptr;
virtual SlangInt getTestCount() override
{
@@ -22,10 +23,21 @@ public:
return tests[index].name;
}
- virtual slang::UnitTestFunc getTestFunc(SlangInt index) override
+ virtual UnitTestFunc getTestFunc(SlangInt index) override
{
return tests[index].func;
}
+
+ virtual void setTestReporter(ITestReporter* reporter) override
+ {
+ testReporter = reporter;
+ }
+
+ virtual void destroy() override
+ {
+ tests = decltype(tests)();
+ }
+
};
SlangUnitTestModule* _getTestModule()
@@ -34,15 +46,20 @@ SlangUnitTestModule* _getTestModule()
return &testModule;
}
+ITestReporter* getTestReporter()
+{
+ return _getTestModule()->testReporter;
+}
+
extern "C"
{
-SLANG_DLL_EXPORT slang::IUnitTestModule* slangUnitTestGetModule()
+SLANG_DLL_EXPORT IUnitTestModule* slangUnitTestGetModule()
{
return _getTestModule();
}
}
-slang::UnitTestRegisterHelper::UnitTestRegisterHelper(const char* name, UnitTestFunc testFunc)
+UnitTestRegisterHelper::UnitTestRegisterHelper(const char* name, UnitTestFunc testFunc)
{
_getTestModule()->tests.add(SlangUnitTest{ name, testFunc });
}