Skip to content

Commit 8ad2adf

Browse files
Check support for SetUp and TearDown in HWCMDTEST_F
Change-Id: I5f4120b4b74ba2dd665566216ff6c55177b3a735 Signed-off-by: Maciej Dziuban <[email protected]>
1 parent 39f4a0c commit 8ad2adf

File tree

1 file changed

+35
-2
lines changed

1 file changed

+35
-2
lines changed

unit_tests/gen_common/test.h

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,30 +23,38 @@ extern GFXCORE_FAMILY renderCoreFamily;
2323
#ifdef TESTS_GEN8
2424
#define BDW_TYPED_TEST_BODY testBodyHw<typename NEO::GfxFamilyMapper<IGFX_GEN8_CORE>::GfxFamily>();
2525
#define BDW_TYPED_CMDTEST_BODY runCmdTestHwIfSupported<typename NEO::GfxFamilyMapper<IGFX_GEN8_CORE>::GfxFamily>();
26+
#define BDW_SUPPORTED_TEST(cmdSetBase) NEO::GfxFamilyMapper<IGFX_GEN8_CORE>::GfxFamily::supportsCmdSet(cmdSetBase)
2627
#else
2728
#define BDW_TYPED_TEST_BODY
2829
#define BDW_TYPED_CMDTEST_BODY
30+
#define BDW_SUPPORTED_TEST(cmdSetBase) false
2931
#endif
3032
#ifdef TESTS_GEN9
3133
#define SKL_TYPED_TEST_BODY testBodyHw<typename NEO::GfxFamilyMapper<IGFX_GEN9_CORE>::GfxFamily>();
3234
#define SKL_TYPED_CMDTEST_BODY runCmdTestHwIfSupported<typename NEO::GfxFamilyMapper<IGFX_GEN9_CORE>::GfxFamily>();
35+
#define SKL_SUPPORTED_TEST(cmdSetBase) NEO::GfxFamilyMapper<IGFX_GEN9_CORE>::GfxFamily::supportsCmdSet(cmdSetBase)
3336
#else
3437
#define SKL_TYPED_TEST_BODY
3538
#define SKL_TYPED_CMDTEST_BODY
39+
#define SKL_SUPPORTED_TEST(cmdSetBase) false
3640
#endif
3741
#ifdef TESTS_GEN10
3842
#define CNL_TYPED_TEST_BODY testBodyHw<typename NEO::GfxFamilyMapper<IGFX_GEN10_CORE>::GfxFamily>();
3943
#define CNL_TYPED_CMDTEST_BODY runCmdTestHwIfSupported<typename NEO::GfxFamilyMapper<IGFX_GEN10_CORE>::GfxFamily>();
44+
#define CNL_SUPPORTED_TEST(cmdSetBase) NEO::GfxFamilyMapper<IGFX_GEN10_CORE>::GfxFamily::supportsCmdSet(cmdSetBase)
4045
#else
4146
#define CNL_TYPED_TEST_BODY
4247
#define CNL_TYPED_CMDTEST_BODY
48+
#define CNL_SUPPORTED_TEST(cmdSetBase) false
4349
#endif
4450
#ifdef TESTS_GEN11
4551
#define ICL_TYPED_TEST_BODY testBodyHw<typename NEO::GfxFamilyMapper<IGFX_GEN11_CORE>::GfxFamily>();
4652
#define ICL_TYPED_CMDTEST_BODY runCmdTestHwIfSupported<typename NEO::GfxFamilyMapper<IGFX_GEN11_CORE>::GfxFamily>();
53+
#define ICL_SUPPORTED_TEST(cmdSetBase) NEO::GfxFamilyMapper<IGFX_GEN11_CORE>::GfxFamily::supportsCmdSet(cmdSetBase)
4754
#else
4855
#define ICL_TYPED_TEST_BODY
4956
#define ICL_TYPED_CMDTEST_BODY
57+
#define ICL_SUPPORTED_TEST(cmdSetBase) false
5058
#endif
5159

5260
#define TO_STR2(x) #x
@@ -195,6 +203,31 @@ extern GFXCORE_FAMILY renderCoreFamily;
195203
#define PLATFORM_EXCLUDES_CLASS_NAME(test_suite_name, test_name) \
196204
PLATFORM_EXCLUDES_##test_suite_name##test_name
197205

206+
#define CALL_IF_SUPPORTED(cmdSetBase, expression) \
207+
{ \
208+
bool supported = false; \
209+
switch (::renderCoreFamily) { \
210+
case IGFX_GEN8_CORE: \
211+
supported = BDW_SUPPORTED_TEST(cmdSetBase); \
212+
break; \
213+
case IGFX_GEN9_CORE: \
214+
supported = SKL_SUPPORTED_TEST(cmdSetBase); \
215+
break; \
216+
case IGFX_GEN10_CORE: \
217+
supported = CNL_SUPPORTED_TEST(cmdSetBase); \
218+
break; \
219+
case IGFX_GEN11_CORE: \
220+
supported = ICL_SUPPORTED_TEST(cmdSetBase); \
221+
break; \
222+
default: \
223+
ASSERT_TRUE((false && "Unknown hardware family")); \
224+
break; \
225+
} \
226+
if (supported) { \
227+
expression; \
228+
} \
229+
}
230+
198231
// Macros to provide template based testing.
199232
// Test can use FamilyType in the test -- equivalent to SKLFamily
200233
#define HWCMDTEST_TEST_(cmdset_gen_base, test_suite_name, test_name, parent_class, parent_id) \
@@ -265,12 +298,12 @@ extern GFXCORE_FAMILY renderCoreFamily;
265298
} \
266299
void SetUp() override { \
267300
if (notExcluded()) { \
268-
parent_class::SetUp(); \
301+
CALL_IF_SUPPORTED(cmdset_gen_base, parent_class::SetUp()); \
269302
} \
270303
} \
271304
void TearDown() override { \
272305
if (notExcluded()) { \
273-
parent_class::TearDown(); \
306+
CALL_IF_SUPPORTED(cmdset_gen_base, parent_class::TearDown()); \
274307
} \
275308
} \
276309
static ::testing::TestInfo *const test_info_ GTEST_ATTRIBUTE_UNUSED_; \

0 commit comments

Comments
 (0)