소스 검색

FindALSA: add testcase

Rolf Eike Beer 7 년 전
부모
커밋
1c5b1ad408
4개의 변경된 파일40개의 추가작업 그리고 0개의 파일을 삭제
  1. 4 0
      Tests/CMakeLists.txt
  2. 10 0
      Tests/FindALSA/CMakeLists.txt
  3. 16 0
      Tests/FindALSA/Test/CMakeLists.txt
  4. 10 0
      Tests/FindALSA/Test/main.c

+ 4 - 0
Tests/CMakeLists.txt

@@ -1368,6 +1368,10 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release
     endif()
   endif()
 
+  if(CMake_TEST_FindALSA)
+    add_subdirectory(FindALSA)
+  endif()
+
   if(CMake_TEST_CUDA)
     add_subdirectory(Cuda)
     add_subdirectory(CudaOnly)

+ 10 - 0
Tests/FindALSA/CMakeLists.txt

@@ -0,0 +1,10 @@
+add_test(NAME FindALSA.Test COMMAND
+  ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
+  --build-and-test
+  "${CMake_SOURCE_DIR}/Tests/FindALSA/Test"
+  "${CMake_BINARY_DIR}/Tests/FindALSA/Test"
+  ${build_generator_args}
+  --build-project TestFindALSA
+  --build-options ${build_options}
+  --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
+  )

+ 16 - 0
Tests/FindALSA/Test/CMakeLists.txt

@@ -0,0 +1,16 @@
+cmake_minimum_required(VERSION 3.10)
+project(TestFindALSA C)
+include(CTest)
+
+find_package(ALSA REQUIRED)
+
+add_definitions(-DCMAKE_EXPECTED_ALSA_VERSION="${ALSA_VERSION_STRING}")
+
+add_executable(test_tgt main.c)
+target_link_libraries(test_tgt ALSA::ALSA)
+add_test(NAME test_tgt COMMAND test_tgt)
+
+add_executable(test_var main.c)
+target_include_directories(test_var PRIVATE ${ALSA_INCLUDE_DIRS})
+target_link_libraries(test_var PRIVATE ${ALSA_LIBRARIES})
+add_test(NAME test_var COMMAND test_var)

+ 10 - 0
Tests/FindALSA/Test/main.c

@@ -0,0 +1,10 @@
+#include <alsa/global.h>
+#include <stdio.h>
+#include <string.h>
+
+int main()
+{
+  printf("Found ALSA version %s, expected version %s\n",
+         snd_asoundlib_version(), CMAKE_EXPECTED_ALSA_VERSION);
+  return strcmp(snd_asoundlib_version(), CMAKE_EXPECTED_ALSA_VERSION);
+}