From 55a62f4e7c596ca3942ffed06bda13fff1563c93 Mon Sep 17 00:00:00 2001 From: Diptorup Deb Date: Thu, 25 Mar 2021 22:51:21 -0500 Subject: [PATCH] Remove code duplication. --- .../tests/test_sycl_device_interface.cpp | 132 ++---------------- 1 file changed, 8 insertions(+), 124 deletions(-) diff --git a/dpctl-capi/tests/test_sycl_device_interface.cpp b/dpctl-capi/tests/test_sycl_device_interface.cpp index 1d18f8a9b4..b78ddd766e 100644 --- a/dpctl-capi/tests/test_sycl_device_interface.cpp +++ b/dpctl-capi/tests/test_sycl_device_interface.cpp @@ -37,16 +37,20 @@ using namespace cl::sycl; struct TestDPCTLSyclDeviceInterface : public ::testing::TestWithParam { - DPCTLSyclDeviceSelectorRef DSRef = nullptr; + DPCTLSyclDeviceRef DRef = nullptr; TestDPCTLSyclDeviceInterface() { - EXPECT_NO_FATAL_FAILURE(DSRef = DPCTLFilterSelector_Create(GetParam())); + auto DS = DPCTLFilterSelector_Create(GetParam()); + if (DS) { + EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DS)); + } + DPCTLDeviceSelector_Delete(DS); } void SetUp() { - if (!DSRef) { + if (!DRef) { auto message = "Skipping as no device of type " + std::string(GetParam()) + "."; GTEST_SKIP_(message.c_str()); @@ -55,30 +59,21 @@ struct TestDPCTLSyclDeviceInterface ~TestDPCTLSyclDeviceInterface() { - EXPECT_NO_FATAL_FAILURE(DPCTLDeviceSelector_Delete(DSRef)); + DPCTLDevice_Delete(DRef); } }; TEST_P(TestDPCTLSyclDeviceInterface, Chk_Copy) { - DPCTLSyclDeviceRef DRef = nullptr; DPCTLSyclDeviceRef Copied_DRef = nullptr; - EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef)); - if (!DRef) - GTEST_SKIP_("Device not found"); EXPECT_NO_FATAL_FAILURE(Copied_DRef = DPCTLDevice_Copy(DRef)); EXPECT_TRUE(bool(Copied_DRef)); EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(Copied_DRef)); - EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef)); } TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetBackend) { - DPCTLSyclDeviceRef DRef = nullptr; DPCTLSyclBackendType BTy = DPCTLSyclBackendType::DPCTL_UNKNOWN_BACKEND; - EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef)); - if (!DRef) - GTEST_SKIP_("Device not found"); EXPECT_NO_FATAL_FAILURE(BTy = DPCTLDevice_GetBackend(DRef)); EXPECT_TRUE([BTy] { switch (BTy) { @@ -94,188 +89,113 @@ TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetBackend) return false; } }()); - EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef)); } TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetDeviceType) { - DPCTLSyclDeviceRef DRef = nullptr; DPCTLSyclDeviceType DTy = DPCTLSyclDeviceType::DPCTL_UNKNOWN_DEVICE; - EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef)); - if (!DRef) - GTEST_SKIP_("Device not found"); EXPECT_NO_FATAL_FAILURE(DTy = DPCTLDevice_GetDeviceType(DRef)); EXPECT_TRUE(DTy != DPCTLSyclDeviceType::DPCTL_UNKNOWN_DEVICE); EXPECT_TRUE(DTy != DPCTLSyclDeviceType::DPCTL_ALL); - EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef)); } TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetDriverInfo) { - DPCTLSyclDeviceRef DRef = nullptr; const char *DriverInfo = nullptr; - EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef)); - if (!DRef) - GTEST_SKIP_("Device not found"); EXPECT_NO_FATAL_FAILURE(DriverInfo = DPCTLDevice_GetDriverInfo(DRef)); EXPECT_TRUE(DriverInfo != nullptr); EXPECT_NO_FATAL_FAILURE(DPCTLCString_Delete(DriverInfo)); - EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef)); } TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetName) { - DPCTLSyclDeviceRef DRef = nullptr; const char *Name = nullptr; - EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef)); - if (!DRef) - GTEST_SKIP_("Device not found"); EXPECT_NO_FATAL_FAILURE(Name = DPCTLDevice_GetName(DRef)); EXPECT_TRUE(Name != nullptr); EXPECT_NO_FATAL_FAILURE(DPCTLCString_Delete(Name)); - EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef)); } TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetVendorName) { - DPCTLSyclDeviceRef DRef = nullptr; const char *VendorName = nullptr; - EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef)); - if (!DRef) - GTEST_SKIP_("Device not found"); EXPECT_NO_FATAL_FAILURE(VendorName = DPCTLDevice_GetVendorName(DRef)); EXPECT_TRUE(VendorName != nullptr); EXPECT_NO_FATAL_FAILURE(DPCTLCString_Delete(VendorName)); - EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef)); } TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetMaxComputeUnits) { - DPCTLSyclDeviceRef DRef = nullptr; size_t n = 0; - EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef)); - if (!DRef) - GTEST_SKIP_("Device not found"); EXPECT_NO_FATAL_FAILURE(n = DPCTLDevice_GetMaxComputeUnits(DRef)); EXPECT_TRUE(n > 0); - EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef)); } TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetMaxWorkItemDims) { - DPCTLSyclDeviceRef DRef = nullptr; size_t n = 0; - EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef)); - if (!DRef) - GTEST_SKIP_("Device not found"); EXPECT_NO_FATAL_FAILURE(n = DPCTLDevice_GetMaxWorkItemDims(DRef)); EXPECT_TRUE(n > 0); - EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef)); } TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetMaxWorkItemSizes) { - DPCTLSyclDeviceRef DRef = nullptr; size_t *sizes = nullptr; - EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef)); - if (!DRef) - GTEST_SKIP_("Device not found"); EXPECT_NO_FATAL_FAILURE(sizes = DPCTLDevice_GetMaxWorkItemSizes(DRef)); EXPECT_TRUE(sizes != nullptr); EXPECT_NO_FATAL_FAILURE(DPCTLSize_t_Array_Delete(sizes)); - EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef)); } TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetMaxWorkGroupSize) { - DPCTLSyclDeviceRef DRef = nullptr; size_t n = 0; - EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef)); - if (!DRef) - GTEST_SKIP_("Device not found"); EXPECT_NO_FATAL_FAILURE(n = DPCTLDevice_GetMaxWorkGroupSize(DRef)); if (DPCTLDevice_IsAccelerator(DRef)) EXPECT_TRUE(n >= 0); else EXPECT_TRUE(n > 0); - EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef)); } TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetMaxNumSubGroups) { - DPCTLSyclDeviceRef DRef = nullptr; size_t n = 0; - EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef)); - if (!DRef) - GTEST_SKIP_("Device not found"); EXPECT_NO_FATAL_FAILURE(n = DPCTLDevice_GetMaxNumSubGroups(DRef)); if (DPCTLDevice_IsAccelerator(DRef)) EXPECT_TRUE(n >= 0); else EXPECT_TRUE(n > 0); - EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef)); } TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetPlatform) { - DPCTLSyclDeviceRef DRef = nullptr; DPCTLSyclPlatformRef PRef = nullptr; - EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef)); - if (!DRef) - GTEST_SKIP_("Device not found"); EXPECT_NO_FATAL_FAILURE(PRef = DPCTLDevice_GetPlatform(DRef)); ASSERT_TRUE(PRef); - EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef)); EXPECT_NO_FATAL_FAILURE(DPCTLPlatform_Delete(PRef)); } TEST_P(TestDPCTLSyclDeviceInterface, Chk_IsAccelerator) { - DPCTLSyclDeviceRef DRef = nullptr; - EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef)); - if (!DRef) - GTEST_SKIP_("Device not found"); EXPECT_NO_FATAL_FAILURE(DPCTLDevice_IsAccelerator(DRef)); - EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef)); } TEST_P(TestDPCTLSyclDeviceInterface, Chk_IsCPU) { - DPCTLSyclDeviceRef DRef = nullptr; - EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef)); - if (!DRef) - GTEST_SKIP_("Device not found"); EXPECT_NO_FATAL_FAILURE(DPCTLDevice_IsCPU(DRef)); - EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef)); } TEST_P(TestDPCTLSyclDeviceInterface, Chk_IsGPU) { - DPCTLSyclDeviceRef DRef = nullptr; - EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef)); - if (!DRef) - GTEST_SKIP_("Device not found"); EXPECT_NO_FATAL_FAILURE(DPCTLDevice_IsGPU(DRef)); - EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef)); } TEST_P(TestDPCTLSyclDeviceInterface, Chk_IsHost) { - DPCTLSyclDeviceRef DRef = nullptr; - EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef)); - if (!DRef) - GTEST_SKIP_("Device not found"); EXPECT_NO_FATAL_FAILURE(DPCTLDevice_IsHost(DRef)); - EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef)); } TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetSubGroupIndependentForwardProgress) { - DPCTLSyclDeviceRef DRef = nullptr; bool sub_group_progress = 0; - EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef)); - if (!DRef) - GTEST_SKIP_("Device not found"); EXPECT_NO_FATAL_FAILURE( sub_group_progress = DPCTLDevice_GetSubGroupIndependentForwardProgress(DRef)); @@ -283,81 +203,51 @@ TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetSubGroupIndependentForwardProgress) auto get_sub_group_progress = D->get_info(); EXPECT_TRUE(get_sub_group_progress == sub_group_progress); - EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef)); } TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetPreferredVectorWidthChar) { - DPCTLSyclDeviceRef DRef = nullptr; size_t vector_width_char = 0; - EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef)); - if (!DRef) - GTEST_SKIP_("Device not found"); EXPECT_NO_FATAL_FAILURE(vector_width_char = DPCTLDevice_GetPreferredVectorWidthChar(DRef)); EXPECT_TRUE(vector_width_char != 0); - EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef)); } TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetPreferredVectorWidthShort) { - DPCTLSyclDeviceRef DRef = nullptr; size_t vector_width_short = 0; - EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef)); - if (!DRef) - GTEST_SKIP_("Device not found"); EXPECT_NO_FATAL_FAILURE(vector_width_short = DPCTLDevice_GetPreferredVectorWidthShort(DRef)); EXPECT_TRUE(vector_width_short != 0); - EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef)); } TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetPreferredVectorWidthInt) { - DPCTLSyclDeviceRef DRef = nullptr; size_t vector_width_int = 0; - EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef)); - if (!DRef) - GTEST_SKIP_("Device not found"); EXPECT_NO_FATAL_FAILURE(vector_width_int = DPCTLDevice_GetPreferredVectorWidthInt(DRef)); EXPECT_TRUE(vector_width_int != 0); - EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef)); } TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetPreferredVectorWidthLong) { - DPCTLSyclDeviceRef DRef = nullptr; size_t vector_width_long = 0; - EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef)); - if (!DRef) - GTEST_SKIP_("Device not found"); EXPECT_NO_FATAL_FAILURE(vector_width_long = DPCTLDevice_GetPreferredVectorWidthLong(DRef)); EXPECT_TRUE(vector_width_long != 0); - EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef)); } TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetPreferredVectorWidthFloat) { - DPCTLSyclDeviceRef DRef = nullptr; size_t vector_width_float = 0; - EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef)); - if (!DRef) - GTEST_SKIP_("Device not found"); EXPECT_NO_FATAL_FAILURE(vector_width_float = DPCTLDevice_GetPreferredVectorWidthFloat(DRef)); EXPECT_TRUE(vector_width_float != 0); - EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef)); } TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetPreferredVectorWidthDouble) { - DPCTLSyclDeviceRef DRef = nullptr; size_t vector_width_double = 0; - EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef)); - if (!DRef) - GTEST_SKIP_("Device not found"); EXPECT_NO_FATAL_FAILURE( vector_width_double = DPCTLDevice_GetPreferredVectorWidthDouble(DRef)); if (DPCTLDevice_HasAspect(DRef, DPCTL_SyclAspectToDPCTLAspectType( @@ -368,16 +258,11 @@ TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetPreferredVectorWidthDouble) else { EXPECT_TRUE(vector_width_double == 0); } - EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef)); } TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetPreferredVectorWidthHalf) { - DPCTLSyclDeviceRef DRef = nullptr; size_t vector_width_half = 0; - EXPECT_NO_FATAL_FAILURE(DRef = DPCTLDevice_CreateFromSelector(DSRef)); - if (!DRef) - GTEST_SKIP_("Device not found"); EXPECT_NO_FATAL_FAILURE(vector_width_half = DPCTLDevice_GetPreferredVectorWidthHalf(DRef)); if (DPCTLDevice_HasAspect(DRef, DPCTL_SyclAspectToDPCTLAspectType( @@ -388,7 +273,6 @@ TEST_P(TestDPCTLSyclDeviceInterface, Chk_GetPreferredVectorWidthHalf) else { EXPECT_TRUE(vector_width_half == 0); } - EXPECT_NO_FATAL_FAILURE(DPCTLDevice_Delete(DRef)); } INSTANTIATE_TEST_SUITE_P(DPCTLDevice_Fns,