mirror of
https://github.com/opencv/opencv.git
synced 2025-07-20 19:17:36 +08:00
Merge pull request #24223 from asmorkalov:as/24186_revert
Revert PR 24186 as it forces skipping tests
This commit is contained in:
commit
af9be78ead
@ -917,41 +917,5 @@ REGISTER_TYPED_TEST_CASE_P(Rect_Test, Overflows);
|
|||||||
typedef ::testing::Types<int, float, double> RectTypes;
|
typedef ::testing::Types<int, float, double> RectTypes;
|
||||||
INSTANTIATE_TYPED_TEST_CASE_P(Negative_Test, Rect_Test, RectTypes);
|
INSTANTIATE_TYPED_TEST_CASE_P(Negative_Test, Rect_Test, RectTypes);
|
||||||
|
|
||||||
// Expected that SkipTestException thrown in the constructor should skip test but not fail
|
|
||||||
struct TestFixtureSkip: public ::testing::Test {
|
|
||||||
TestFixtureSkip(bool throwEx = true) {
|
|
||||||
if (throwEx) {
|
|
||||||
throw SkipTestException("Skip test at constructor");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
TEST_F(TestFixtureSkip, NoBodyRun) {
|
|
||||||
FAIL() << "Unreachable code called";
|
|
||||||
}
|
|
||||||
|
|
||||||
// Check no test body started in case of skip exception at static SetUpTestCase
|
|
||||||
struct TestSetUpTestCaseSkip: public ::testing::Test {
|
|
||||||
static void SetUpTestCase() {
|
|
||||||
throw SkipTestException("Skip test at SetUpTestCase");
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
TEST_F(TestSetUpTestCaseSkip, NoBodyRun) {
|
|
||||||
FAIL() << "Unreachable code called";
|
|
||||||
}
|
|
||||||
TEST_F(TestSetUpTestCaseSkip, NoBodyRun2) {
|
|
||||||
FAIL() << "Unreachable code called";
|
|
||||||
}
|
|
||||||
|
|
||||||
struct TestSetUpSkip: public ::testing::Test {
|
|
||||||
virtual void SetUp() {
|
|
||||||
throw SkipTestException("Skip test at SetUp");
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
TEST_F(TestSetUpSkip, NoBodyRun) {
|
|
||||||
FAIL() << "Unreachable code called";
|
|
||||||
}
|
|
||||||
|
|
||||||
}} // namespace
|
}} // namespace
|
||||||
|
@ -36,8 +36,6 @@ class NewOpenCVTests(unittest.TestCase):
|
|||||||
return candidate
|
return candidate
|
||||||
if required:
|
if required:
|
||||||
self.fail('File ' + filename + ' not found')
|
self.fail('File ' + filename + ' not found')
|
||||||
else:
|
|
||||||
self.skipTest('File ' + filename + ' not found')
|
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
@ -47,18 +47,6 @@ bool checkBigDataTests();
|
|||||||
} \
|
} \
|
||||||
} \
|
} \
|
||||||
|
|
||||||
#define CV__TEST_SETUP_IMPL(parent_class) \
|
|
||||||
{ \
|
|
||||||
try { \
|
|
||||||
parent_class::SetUp(); \
|
|
||||||
} catch (const cvtest::details::SkipTestExceptionBase& e) { \
|
|
||||||
printf("[ SKIP ] %s\n", e.what()); \
|
|
||||||
} \
|
|
||||||
}
|
|
||||||
|
|
||||||
struct DummyTest : public ::testing::Test {
|
|
||||||
virtual void TestBody() CV_OVERRIDE {}
|
|
||||||
};
|
|
||||||
|
|
||||||
#undef TEST
|
#undef TEST
|
||||||
#define TEST_(test_case_name, test_name, parent_class, bodyMethodName, BODY_ATTR, BODY_IMPL) \
|
#define TEST_(test_case_name, test_name, parent_class, bodyMethodName, BODY_ATTR, BODY_IMPL) \
|
||||||
@ -72,17 +60,6 @@ struct DummyTest : public ::testing::Test {
|
|||||||
GTEST_DISALLOW_COPY_AND_ASSIGN_(\
|
GTEST_DISALLOW_COPY_AND_ASSIGN_(\
|
||||||
GTEST_TEST_CLASS_NAME_(test_case_name, test_name));\
|
GTEST_TEST_CLASS_NAME_(test_case_name, test_name));\
|
||||||
};\
|
};\
|
||||||
class test_case_name##test_name##_factory : public ::testing::internal::TestFactoryBase { \
|
|
||||||
public:\
|
|
||||||
virtual ::testing::Test* CreateTest() { \
|
|
||||||
try { \
|
|
||||||
return new GTEST_TEST_CLASS_NAME_(test_case_name, test_name); \
|
|
||||||
} catch (const cvtest::details::SkipTestExceptionBase& e) { \
|
|
||||||
printf("[ SKIP ] %s\n", e.what()); \
|
|
||||||
return new DummyTest(); \
|
|
||||||
} \
|
|
||||||
} \
|
|
||||||
};\
|
|
||||||
\
|
\
|
||||||
::testing::TestInfo* const GTEST_TEST_CLASS_NAME_(test_case_name, test_name)\
|
::testing::TestInfo* const GTEST_TEST_CLASS_NAME_(test_case_name, test_name)\
|
||||||
::test_info_ =\
|
::test_info_ =\
|
||||||
@ -92,7 +69,8 @@ struct DummyTest : public ::testing::Test {
|
|||||||
(::testing::internal::GetTestTypeId()), \
|
(::testing::internal::GetTestTypeId()), \
|
||||||
parent_class::SetUpTestCase, \
|
parent_class::SetUpTestCase, \
|
||||||
parent_class::TearDownTestCase, \
|
parent_class::TearDownTestCase, \
|
||||||
new test_case_name##test_name##_factory);\
|
new ::testing::internal::TestFactoryImpl<\
|
||||||
|
GTEST_TEST_CLASS_NAME_(test_case_name, test_name)>);\
|
||||||
void GTEST_TEST_CLASS_NAME_(test_case_name, test_name)::TestBody() BODY_IMPL( #test_case_name "_" #test_name ) \
|
void GTEST_TEST_CLASS_NAME_(test_case_name, test_name)::TestBody() BODY_IMPL( #test_case_name "_" #test_name ) \
|
||||||
void GTEST_TEST_CLASS_NAME_(test_case_name, test_name)::bodyMethodName()
|
void GTEST_TEST_CLASS_NAME_(test_case_name, test_name)::bodyMethodName()
|
||||||
|
|
||||||
@ -131,22 +109,10 @@ struct DummyTest : public ::testing::Test {
|
|||||||
private:\
|
private:\
|
||||||
virtual void TestBody() CV_OVERRIDE;\
|
virtual void TestBody() CV_OVERRIDE;\
|
||||||
virtual void Body(); \
|
virtual void Body(); \
|
||||||
virtual void SetUp() CV_OVERRIDE; \
|
|
||||||
static ::testing::TestInfo* const test_info_ GTEST_ATTRIBUTE_UNUSED_;\
|
static ::testing::TestInfo* const test_info_ GTEST_ATTRIBUTE_UNUSED_;\
|
||||||
GTEST_DISALLOW_COPY_AND_ASSIGN_(\
|
GTEST_DISALLOW_COPY_AND_ASSIGN_(\
|
||||||
GTEST_TEST_CLASS_NAME_(test_fixture, test_name));\
|
GTEST_TEST_CLASS_NAME_(test_fixture, test_name));\
|
||||||
};\
|
};\
|
||||||
class test_fixture##test_name##_factory : public ::testing::internal::TestFactoryBase { \
|
|
||||||
public:\
|
|
||||||
virtual ::testing::Test* CreateTest() { \
|
|
||||||
try { \
|
|
||||||
return new GTEST_TEST_CLASS_NAME_(test_fixture, test_name); \
|
|
||||||
} catch (const cvtest::details::SkipTestExceptionBase& e) { \
|
|
||||||
printf("[ SKIP ] %s\n", e.what()); \
|
|
||||||
return new DummyTest(); \
|
|
||||||
} \
|
|
||||||
} \
|
|
||||||
};\
|
|
||||||
\
|
\
|
||||||
::testing::TestInfo* const GTEST_TEST_CLASS_NAME_(test_fixture, test_name)\
|
::testing::TestInfo* const GTEST_TEST_CLASS_NAME_(test_fixture, test_name)\
|
||||||
::test_info_ =\
|
::test_info_ =\
|
||||||
@ -156,9 +122,9 @@ struct DummyTest : public ::testing::Test {
|
|||||||
(::testing::internal::GetTypeId<test_fixture>()), \
|
(::testing::internal::GetTypeId<test_fixture>()), \
|
||||||
test_fixture::SetUpTestCase, \
|
test_fixture::SetUpTestCase, \
|
||||||
test_fixture::TearDownTestCase, \
|
test_fixture::TearDownTestCase, \
|
||||||
new test_fixture##test_name##_factory);\
|
new ::testing::internal::TestFactoryImpl<\
|
||||||
|
GTEST_TEST_CLASS_NAME_(test_fixture, test_name)>);\
|
||||||
void GTEST_TEST_CLASS_NAME_(test_fixture, test_name)::TestBody() CV__TEST_BODY_IMPL( #test_fixture "_" #test_name ) \
|
void GTEST_TEST_CLASS_NAME_(test_fixture, test_name)::TestBody() CV__TEST_BODY_IMPL( #test_fixture "_" #test_name ) \
|
||||||
void GTEST_TEST_CLASS_NAME_(test_fixture, test_name)::SetUp() CV__TEST_SETUP_IMPL(test_fixture) \
|
|
||||||
void GTEST_TEST_CLASS_NAME_(test_fixture, test_name)::Body()
|
void GTEST_TEST_CLASS_NAME_(test_fixture, test_name)::Body()
|
||||||
|
|
||||||
// Don't use directly
|
// Don't use directly
|
||||||
|
@ -11,7 +11,7 @@ namespace cvtest {
|
|||||||
static bool printTestTag = false;
|
static bool printTestTag = false;
|
||||||
|
|
||||||
static std::vector<std::string> currentDirectTestTags, currentImpliedTestTags;
|
static std::vector<std::string> currentDirectTestTags, currentImpliedTestTags;
|
||||||
static std::vector<const ::testing::TestCase*> skipped_tests;
|
static std::vector<const ::testing::TestInfo*> skipped_tests;
|
||||||
|
|
||||||
static std::map<std::string, int>& getTestTagsSkipCounts()
|
static std::map<std::string, int>& getTestTagsSkipCounts()
|
||||||
{
|
{
|
||||||
@ -26,7 +26,7 @@ static std::map<std::string, int>& getTestTagsSkipExtraCounts()
|
|||||||
void testTagIncreaseSkipCount(const std::string& tag, bool isMain, bool appendSkipTests)
|
void testTagIncreaseSkipCount(const std::string& tag, bool isMain, bool appendSkipTests)
|
||||||
{
|
{
|
||||||
if (appendSkipTests)
|
if (appendSkipTests)
|
||||||
skipped_tests.push_back(::testing::UnitTest::GetInstance()->current_test_case());
|
skipped_tests.push_back(::testing::UnitTest::GetInstance()->current_test_info());
|
||||||
std::map<std::string, int>& counts = isMain ? getTestTagsSkipCounts() : getTestTagsSkipExtraCounts();
|
std::map<std::string, int>& counts = isMain ? getTestTagsSkipCounts() : getTestTagsSkipExtraCounts();
|
||||||
std::map<std::string, int>::iterator i = counts.find(tag);
|
std::map<std::string, int>::iterator i = counts.find(tag);
|
||||||
if (i == counts.end())
|
if (i == counts.end())
|
||||||
@ -280,11 +280,6 @@ static bool isTestTagSkipped(const std::string& testTag, CV_OUT std::string& ski
|
|||||||
|
|
||||||
void checkTestTags()
|
void checkTestTags()
|
||||||
{
|
{
|
||||||
if (std::find(skipped_tests.begin(), skipped_tests.end(),
|
|
||||||
::testing::UnitTest::GetInstance()->current_test_case()) != skipped_tests.end()) {
|
|
||||||
throw details::SkipTestExceptionBase(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
std::string skipTag;
|
std::string skipTag;
|
||||||
const std::vector<std::string>& testTags = currentDirectTestTags;
|
const std::vector<std::string>& testTags = currentDirectTestTags;
|
||||||
{
|
{
|
||||||
@ -312,7 +307,7 @@ void checkTestTags()
|
|||||||
}
|
}
|
||||||
if (found != tags.size())
|
if (found != tags.size())
|
||||||
{
|
{
|
||||||
skipped_tests.push_back(::testing::UnitTest::GetInstance()->current_test_case());
|
skipped_tests.push_back(::testing::UnitTest::GetInstance()->current_test_info());
|
||||||
throw details::SkipTestExceptionBase("Test tags don't pass required tags list (--test_tag parameter)", true);
|
throw details::SkipTestExceptionBase("Test tags don't pass required tags list (--test_tag parameter)", true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -346,7 +341,7 @@ void checkTestTags()
|
|||||||
|
|
||||||
if (!skip_message.empty())
|
if (!skip_message.empty())
|
||||||
{
|
{
|
||||||
skipped_tests.push_back(::testing::UnitTest::GetInstance()->current_test_case());
|
skipped_tests.push_back(::testing::UnitTest::GetInstance()->current_test_info());
|
||||||
throw details::SkipTestExceptionBase(skip_message, true);
|
throw details::SkipTestExceptionBase(skip_message, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user