Skip to content

Commit

Permalink
test: Add CMake Package integration tests
Browse files Browse the repository at this point in the history
  • Loading branch information
chfast committed Sep 24, 2020
1 parent 376b7ce commit dea7242
Show file tree
Hide file tree
Showing 5 changed files with 65 additions and 0 deletions.
1 change: 1 addition & 0 deletions test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ add_subdirectory(utils)
add_subdirectory(bench)
add_subdirectory(bench_internal)
add_subdirectory(compilation)
add_subdirectory(integration)
add_subdirectory(spectests)
add_subdirectory(unittests)
add_subdirectory(smoketests)
Expand Down
5 changes: 5 additions & 0 deletions test/integration/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Fizzy: A fast WebAssembly interpreter
# Copyright 2020 The Fizzy Authors.
# SPDX-License-Identifier: Apache-2.0

add_subdirectory(cmake_package)
38 changes: 38 additions & 0 deletions test/integration/cmake_package/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Fizzy: A fast WebAssembly interpreter
# Copyright 2020 The Fizzy Authors.
# SPDX-License-Identifier: Apache-2.0

set(INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/install)
set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/build)
set(USE_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/use)

file(MAKE_DIRECTORY ${BUILD_DIR} ${USE_BUILD_DIR})

set(PREFIX ${PROJECT_NAME}/cmake_packge)

add_test(
NAME ${PREFIX}/configure
COMMAND ${CMAKE_COMMAND} -G ${CMAKE_GENERATOR} ${PROJECT_SOURCE_DIR} -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR}
WORKING_DIRECTORY ${BUILD_DIR}
)

add_test(
NAME ${PREFIX}/install
COMMAND ${CMAKE_COMMAND} --build ${BUILD_DIR} --target install
)
set_tests_properties(${PREFIX}/install PROPERTIES DEPENDS ${PREFIX}/configure)


add_test(
NAME ${PREFIX}/use/configure
COMMAND ${CMAKE_COMMAND} -G ${CMAKE_GENERATOR} ${CMAKE_CURRENT_SOURCE_DIR}/use_fizzy -DCMAKE_PREFIX_PATH=${INSTALL_DIR}
WORKING_DIRECTORY ${USE_BUILD_DIR}
)
set_tests_properties(${PREFIX}/use/configure PROPERTIES DEPENDS ${PREFIX}/install)

add_test(
NAME ${PREFIX}/use/build
COMMAND ${CMAKE_COMMAND} --build ${USE_BUILD_DIR}
)
set_tests_properties(${PREFIX}/use/build PROPERTIES DEPENDS ${PREFIX}/use/configure)

11 changes: 11 additions & 0 deletions test/integration/cmake_package/use_fizzy/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Fizzy: A fast WebAssembly interpreter
# Copyright 2020 The Fizzy Authors.
# SPDX-License-Identifier: Apache-2.0

# This example shows how to use the fizzy library from the fizzy CMake package.
cmake_minimum_required(VERSION 3.15)
project(use_fizzy LANGUAGES CXX)
find_package(fizzy CONFIG REQUIRED)

add_executable(use_fizzy use_fizzy.cpp)
target_link_libraries(use_fizzy PRIVATE fizzy::fizzy)
10 changes: 10 additions & 0 deletions test/integration/cmake_package/use_fizzy/use_fizzy.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
// Fizzy: A fast WebAssembly interpreter
// Copyright 2020 The Fizzy Authors.
// SPDX-License-Identifier: Apache-2.0

#include <fizzy/fizzy.h>

int main()
{
return fizzy_validate(nullptr, 0) ? 0 : 1;
}

0 comments on commit dea7242

Please sign in to comment.