mirror of
https://github.com/cpm-cmake/CPM.cmake.git
synced 2025-12-15 00:00:21 -05:00
* Initial commit for integration tests. Experimental. Playing with potential syntax * Some experimental code to setup tests * Piecewise building of CMakeLists * First check * Alternative approach. Using ruby's test/unit * Parse CMakeCache. Separate lib * First integration test * Latest Format.cmake. Passing style * Allow user-provided integration test dir. Allow reuse * Separate class with utils for cache (no longer pure Hash) * Allow running of tests from any dir * Add integration tests to CI * Use an in-source integration test directory * Allow relative integration test dir from env * Custom assertion for a success of CommandResult * Windows-latest-latest * Enrich CMakeCache class with more CPM data * Added test for CPM-specific CMakeCache values * Style * Style * test_update_single_package * WiP for source cache test * Small source_cache test * Style * Moved env clean to cleanup to make setup methods simpler (not require super) * WiP for integration test documentation * WiP for integration test documentation * Project file creation tweaks * Split docs into multiple files. Complete tutorial. Reference. * Tips * Typo * Setup Ruby inistead of requiring windows-2022 * Revert "Setup Ruby inistead of requiring windows-2022" This reverts commit 8aa2732145445099e64b5b13490867886bbfc910.
38 lines
1.1 KiB
Ruby
38 lines
1.1 KiB
Ruby
# This file is intentionally not prefixed with test_
|
|
# It is a tutorial for making integration tests and is not to be run from the runner
|
|
require_relative './lib'
|
|
|
|
class Tutorial < IntegrationTest
|
|
# test that CPM.cmake can make https://github.com/cpm-cmake/testpack-adder/ available as a package
|
|
def test_make_adder_available
|
|
prj = make_project
|
|
|
|
prj.create_file 'main.cpp', <<~SRC
|
|
#include <iostream>
|
|
#include <adder/adder.hpp>
|
|
int main() {
|
|
std::cout << adder::add(1, 2) << '\\n';
|
|
return 0;
|
|
}
|
|
SRC
|
|
|
|
prj.create_file 'CMakeLists.txt', <<~SRC
|
|
cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
|
|
project(using-adder)
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
|
include("%{cpm_path}")
|
|
CPMAddPackage("gh:cpm-cmake/testpack-adder@1.0.0")
|
|
add_executable(using-adder main.cpp)
|
|
target_link_libraries(using-adder adder)
|
|
SRC
|
|
|
|
assert_success prj.configure
|
|
|
|
cache = prj.read_cache
|
|
assert_equal 1, cache.packages.size
|
|
assert_equal '1.0.0', cache.packages['testpack-adder'].ver
|
|
|
|
assert_success prj.build
|
|
end
|
|
end
|