From bec8e6aec85b6e3f875c58bdd59eb15613978358 Mon Sep 17 00:00:00 2001 From: Yong He Date: Fri, 24 Sep 2021 11:33:44 -0700 Subject: Move existing unit tests to a standalone dll. (#1945) --- tools/unit-test/slang-unit-test.cpp | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) (limited to 'tools/unit-test/slang-unit-test.cpp') 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 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 }); } -- cgit v1.2.3