Skip to content

Commit

Permalink
add "make test" for cmake
Browse files Browse the repository at this point in the history
  • Loading branch information
SunBeau committed Apr 12, 2024
1 parent 437e0d8 commit c53dc76
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 5 deletions.
15 changes: 10 additions & 5 deletions .github/workflows/cmake-multi-platform.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,8 @@ jobs:
- name: Test
working-directory: ${{ github.workspace }}
run: |
echo "TODO"
cd build
make test
test-on-ubuntu-2004:
name: test-on-ubuntu-20.04
Expand Down Expand Up @@ -72,7 +73,8 @@ jobs:
- name: Test
working-directory: ${{ github.workspace }}
run: |
echo "TODO"
cd build
make test
test-on-ubuntu-1804:
name: test-on-ubuntu-18.04
Expand Down Expand Up @@ -103,7 +105,8 @@ jobs:
- name: Test
working-directory: ${{ github.workspace }}
run: |
echo "TODO"
cd build
make test
test-on-centos-792009:
name: test-on-centos-7.9.2009
Expand Down Expand Up @@ -133,7 +136,8 @@ jobs:
- name: Test
working-directory: ${{ github.workspace }}
run: |
echo "TODO"
cd build
make test
test-on-centos-731611:
name: test-on-centos-7.3.1611
Expand Down Expand Up @@ -163,4 +167,5 @@ jobs:
- name: Test
working-directory: ${{ github.workspace }}
run: |
echo "TODO"
cd build
make test
4 changes: 4 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -101,3 +101,7 @@ INSTALL(TARGETS qlibc LIBRARY DESTINATION lib)
INSTALL(TARGETS qlibcext LIBRARY DESTINATION lib)
INSTALL(TARGETS qlibc-static ARCHIVE DESTINATION lib)
INSTALL(TARGETS qlibcext-static ARCHIVE DESTINATION lib)

# add test
ENABLE_TESTING()
ADD_SUBDIRECTORY(${qlibc_SOURCE_DIR}/tests)
44 changes: 44 additions & 0 deletions tests/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include/qlibc)
SET(test_list
test_qstring
test_qhashtbl
test_qhasharr
test_qhasharr_darkdh
test_qtreetbl
test_qlist
test_qvector
test_qqueue
test_qstack
test_qhash
)

SET(test_file_list
test_qhash_data_1.bin
test_qhash_data_2.bin
test_qhash_data_3.bin
test_qhash_data_4.bin
)

# build test
FOREACH(element IN LISTS test_list)
MESSAGE(STATUS "set build test: ${element}")
ADD_EXECUTABLE(${element} ${element}.c)
TARGET_LINK_LIBRARIES(${element} qlibc qlibcext)
ENDFOREACH()

# copy test file
FOREACH(element IN LISTS test_file_list)
ADD_CUSTOM_TARGET(cpoy_${element} ALL
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${CMAKE_CURRENT_SOURCE_DIR}/${element}
${CMAKE_CURRENT_BINARY_DIR}/${element}
COMMENT "Copying ${element} to ${CMAKE_CURRENT_BINARY_DIR}"
VERBATIM
)
ENDFOREACH()

# run test
FOREACH(element IN LISTS test_list)
MESSAGE(STATUS "set run test: ${element}")
ADD_TEST(NAME ${element} COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/launcher.sh ${element})
ENDFOREACH()

0 comments on commit c53dc76

Please sign in to comment.