Initial version of integration tests (#330)

* 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 8aa2732145.
This commit is contained in:
Borislav Stanimirov
2022-01-19 01:18:41 +02:00
committed by GitHub
parent a27c66a3ea
commit c58e98a0a0
20 changed files with 849 additions and 3 deletions

View File

@@ -6,7 +6,9 @@ include(${CMAKE_CURRENT_LIST_DIR}/../../cmake/CPM.cmake)
CPMAddPackage(
NAME Format.cmake
VERSION 1.6
VERSION 1.7.3
GITHUB_REPOSITORY TheLartians/Format.cmake
OPTIONS "FORMAT_CHECK_CMAKE ON"
# We exclude cmake files from integration tests as they contain invalid lines of code which are
# used by the integration test scripts
OPTIONS "CMAKE_FORMAT_EXCLUDE integration/templates"
)