From 069cac584f3fccfad54b4fcce8d7e8584a009c51 Mon Sep 17 00:00:00 2001 From: Roger Leigh Date: Thu, 8 Sep 2016 21:28:17 +0100 Subject: [PATCH] Tests: Add FindBZip2 unit tests --- Tests/CMakeLists.txt | 4 ++++ Tests/FindBZip2/CMakeLists.txt | 10 ++++++++++ Tests/FindBZip2/Test/CMakeLists.txt | 16 ++++++++++++++++ Tests/FindBZip2/Test/main.c | 23 +++++++++++++++++++++++ 4 files changed, 53 insertions(+) create mode 100644 Tests/FindBZip2/CMakeLists.txt create mode 100644 Tests/FindBZip2/Test/CMakeLists.txt create mode 100644 Tests/FindBZip2/Test/main.c diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index 8293286c3..aeff249c5 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -1356,6 +1356,10 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release add_subdirectory(FindBoost) endif() + if(CMake_TEST_FindBZip2) + add_subdirectory(FindBZip2) + endif() + if(CMake_TEST_FindGSL) add_subdirectory(FindGSL) endif() diff --git a/Tests/FindBZip2/CMakeLists.txt b/Tests/FindBZip2/CMakeLists.txt new file mode 100644 index 000000000..0eb3b99ac --- /dev/null +++ b/Tests/FindBZip2/CMakeLists.txt @@ -0,0 +1,10 @@ +add_test(NAME FindBZip2.Test COMMAND + ${CMAKE_CTEST_COMMAND} -C $ + --build-and-test + "${CMake_SOURCE_DIR}/Tests/FindBZip2/Test" + "${CMake_BINARY_DIR}/Tests/FindBZip2/Test" + ${build_generator_args} + --build-project TestFindBZip2 + --build-options ${build_options} + --test-command ${CMAKE_CTEST_COMMAND} -V -C $ + ) diff --git a/Tests/FindBZip2/Test/CMakeLists.txt b/Tests/FindBZip2/Test/CMakeLists.txt new file mode 100644 index 000000000..e9cb6187f --- /dev/null +++ b/Tests/FindBZip2/Test/CMakeLists.txt @@ -0,0 +1,16 @@ +cmake_minimum_required(VERSION 3.4) +project(TestFindBZip2 C) +include(CTest) + +find_package(BZip2 REQUIRED) + +add_definitions(-DCMAKE_EXPECTED_BZip2_VERSION="${BZip2_VERSION_STRING}") + +add_executable(test_tgt main.c) +target_link_libraries(test_tgt BZip2::BZip2) +add_test(NAME test_tgt COMMAND test_tgt) + +add_executable(test_var main.c) +target_include_directories(test_var PRIVATE ${BZIP2_INCLUDE_DIRS}) +target_link_libraries(test_var PRIVATE ${BZIP2_LIBRARIES}) +add_test(NAME test_var COMMAND test_var) diff --git a/Tests/FindBZip2/Test/main.c b/Tests/FindBZip2/Test/main.c new file mode 100644 index 000000000..8e24c94e6 --- /dev/null +++ b/Tests/FindBZip2/Test/main.c @@ -0,0 +1,23 @@ +#include +#include +#include + +int main() +{ + int chunksize = 1024; + FILE* file = fopen("test.bzip2", "wb"); + char* buf = malloc(sizeof(char) * chunksize); + int error, rsize; + unsigned int in, out; + BZFILE* bzfile = BZ2_bzWriteOpen(&error, file, 64, 1, 10); + + /* Don't actually write anything for the purposes of the test */ + + BZ2_bzWriteClose(&error, bzfile, 1, &in, &out); + free(buf); + fclose(file); + + remove("test.bzip2"); + + return 0; +}