SWDEV-432951 - Added C unit test

Change-Id: I65a1e5be1782fd325cf1cfb74fbd80b4564df9dc


[ROCm/hip-tests commit: 25af4dd1f4]
This commit is contained in:
Ioannis Assiouras
2023-11-17 02:18:11 +00:00
کامیت شده توسط Rakesh Roy
والد 14f6363879
کامیت babecfe0be
4فایلهای تغییر یافته به همراه123 افزوده شده و 0 حذف شده
@@ -52,6 +52,7 @@ add_subdirectory(gcc)
add_subdirectory(syncthreads)
add_subdirectory(threadfence)
add_subdirectory(virtualMemoryManagement)
add_subdirectory(c_compilation)
if(HIP_PLATFORM STREQUAL "amd")
add_subdirectory(callback)
@@ -0,0 +1,48 @@
# Copyright (c) 2024 Advanced Micro Devices, Inc. All Rights Reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
set(TEST_SRC
hipGetDeviceProp.cc
)
set (PLATFORM_DEFINE __HIP_PLATFORM_AMD__)
if(HIP_PLATFORM MATCHES "nvidia")
set (PLATFORM_DEFINE __HIP_PLATFORM_NVIDIA__)
endif()
# Creating Custom object file
add_custom_target(devprop_c_custom
COMMAND ${HIP_PATH}/bin/hipcc
-c ${CMAKE_CURRENT_SOURCE_DIR}/hipGetDeviceProp.c
-I${HIP_PATH}/include
-D${PLATFORM_DEFINE}
-o hipGetDeviceProp.o
BYPRODUCTS hipGetDeviceProp.o
)
add_library(devprop_c OBJECT IMPORTED)
set_property(TARGET devprop_c PROPERTY IMPORTED_OBJECTS "${CMAKE_CURRENT_BINARY_DIR}/hipGetDeviceProp.o")
hip_add_exe_to_target(NAME CTests
TEST_SRC ${TEST_SRC}
TEST_TARGET_NAME build_tests
LINKER_LIBS devprop_c)
add_dependencies(CTests devprop_c_custom)
@@ -0,0 +1,35 @@
/*
* Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANNTY OF ANY KIND, EXPRESS OR
* IMPLIED, INNCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANNY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER INN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR INN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
* */
#include <hip/hip_runtime_api.h>
#include <stdio.h>
int hipGetDeviceProp() {
hipDeviceProp_t prop;
hipError_t err = hipGetDeviceProperties(&prop, 0);
if (err == hipSuccess) {
printf("PASSED!\n");
return 1;
} else {
printf("FAILED!\n");
return 0;
}
}
@@ -0,0 +1,39 @@
/*
* Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANNTY OF ANY KIND, EXPRESS OR
* IMPLIED, INNCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANNY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER INN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR INN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
* */
#include <hip_test_common.hh>
/**
* Test Description
* ------------------------
* - Call a hip function (hipGetDeviceProperties) from a c compilation unit
* Test source
* ------------------------
* - catch/unit/c_compilation/hipGetDeviceProp.cc
* Test requirements
* ------------------------
* - HIP_VERSION >= 5.6
*/
extern "C" int hipGetDeviceProp();
TEST_CASE("Unit_hipGetDeviceProp_ctest") {
int result = hipGetDeviceProp();
REQUIRE(result == 1);
}