|
|
@@ -464,10 +464,16 @@ struct ITestRunner {
|
|
|
|
|
|
};
|
|
|
|
|
|
+struct TestConfig
|
|
|
+{
|
|
|
+ std::string filterTag;
|
|
|
+};
|
|
|
+
|
|
|
struct ITestCaseRegistry
|
|
|
{
|
|
|
virtual ~ITestCaseRegistry() {}
|
|
|
- virtual std::vector<TestCase> const& getAllTests() const = 0;
|
|
|
+ /** TODO: relate with Entity Name*/
|
|
|
+ virtual std::vector<TestCase> const& getAllTests(TestConfig const& config) const = 0;
|
|
|
};
|
|
|
|
|
|
struct ITestRegistryHub {
|
|
|
@@ -497,15 +503,15 @@ SPBASE_API void RegisterTestCaseFunction(TestFunction function,
|
|
|
template<typename TClass>
|
|
|
class MethodTestCase : public IMethodTestCase {
|
|
|
public :
|
|
|
- MethodTestCase(void (TClass::* method)()) : m_method(method) {}
|
|
|
+ MethodTestCase(ErrorCodeEnum(TClass::* method)()) : m_method(method) {}
|
|
|
virtual ErrorCodeEnum RunTest() {
|
|
|
TClass obj;
|
|
|
- (obj.*m_method)();
|
|
|
- return Error_Succeed;
|
|
|
+ return (obj.*m_method)();
|
|
|
+ //return Error_Succeed;
|
|
|
}
|
|
|
private:
|
|
|
virtual ~MethodTestCase() {}
|
|
|
- void (TClass::* m_method)();
|
|
|
+ ErrorCodeEnum(TClass::* m_method)();
|
|
|
};
|
|
|
|
|
|
class DefaultFuncTestCase : public IMethodTestCase {
|
|
|
@@ -539,7 +545,7 @@ struct TestAutoReg {
|
|
|
/** for test Class*/
|
|
|
template<typename TClass>
|
|
|
TestAutoReg(
|
|
|
- void (TClass::* method)(),
|
|
|
+ ErrorCodeEnum(TClass::* method)(),
|
|
|
char const* lpcszClassName,
|
|
|
NameAndDesc const& nameAndDesc,
|
|
|
SourceLineInfo const& lineInfo)
|
|
|
@@ -620,11 +626,11 @@ public:
|
|
|
#define INTERNAL_RVC_TEST_CASE_METHOD2(TestName, ClassName, ...) \
|
|
|
namespace { \
|
|
|
struct TestName : ClassName { \
|
|
|
- void Test(); \
|
|
|
+ ErrorCodeEnum Test(); \
|
|
|
}; \
|
|
|
TestAutoReg RVC_INTERVAL_UNIQUE_NAME(testAutoReg)(&TestName::Test, RVC_INTERVAL_STRINGFY(ClassName), SP::Detail::NameAndDesc(__VA_ARGS__), SP_INTERNAL_LINEINFO); \
|
|
|
} \
|
|
|
- void TestName::Test()
|
|
|
+ ErrorCodeEnum TestName::Test()
|
|
|
|
|
|
#define INTERNAL_RVC_TEST_CASE_METHOD(ClassName, ...) \
|
|
|
INTERNAL_RVC_TEST_CASE_METHOD2(RVC_INTERVAL_UNIQUE_NAME(CVRssalCtseTduS), ClassName, __VA_ARGS__)
|