CMake: validate all the test-configurations as well

This commit is contained in:
Adriaan de Groot 2022-02-02 15:57:49 +01:00
parent a352bd946e
commit 0c7f06137a
2 changed files with 30 additions and 6 deletions

View File

@ -13,6 +13,11 @@ This release contains contributions from (alphabetically by first name):
- Evan James
- Vitor Lopes
This is a "minor" version change, but the size of the changes is very
large. Configuration files from previous versions of Calamares will
**certainly** need to be re-validated. Take heed of the many changes
in the *Modules* heading, below.
## Core ##
- CMake 3.16, Qt 5.15 are now required; the newer CMake is to support
new features (also for KDE Frameworks), Qt is the current LTS version.
@ -27,5 +32,7 @@ This release contains contributions from (alphabetically by first name):
Boost::Python now requires 1.67 or later (for CMake support).
## Modules ##
- *grubcfg* changed the key *keepDistributor* to *keep_distributor*.
Please update configurations.
- *bootloader* now supports more options when building the kernel
command-line. (Thanks Evan)

View File

@ -32,12 +32,29 @@ if ( BUILD_TESTING AND BUILD_SCHEMA_TESTING AND PYTHONINTERP_FOUND AND PYTHON_EX
# regardless.
foreach( SUBDIRECTORY ${SUBDIRECTORIES} )
set( _schema_file "${CMAKE_CURRENT_SOURCE_DIR}/${SUBDIRECTORY}/${SUBDIRECTORY}.schema.yaml" )
set( _conf_file "${CMAKE_CURRENT_SOURCE_DIR}/${SUBDIRECTORY}/${SUBDIRECTORY}.conf" )
if ( EXISTS "${_schema_file}" AND EXISTS "${_conf_file}" )
add_test(
NAME validate-${SUBDIRECTORY}
COMMAND ${PYTHON_EXECUTABLE} "${CMAKE_SOURCE_DIR}/ci/configvalidator.py" "${_schema_file}" "${_conf_file}"
)
# Collect config files from the module-directory and from a tests/ subdir,
# using the same mechanism to find those test-config-files as function
# calamares_add_module_subdirectory() would do.
set( _conf_files "${CMAKE_CURRENT_SOURCE_DIR}/${SUBDIRECTORY}/${SUBDIRECTORY}.conf" )
set( _count 1 )
set( _testdir "${CMAKE_CURRENT_SOURCE_DIR}/${SUBDIRECTORY}/tests" )
while ( EXISTS "${_testdir}/${_count}.global" OR EXISTS "${_testdir}/${_count}.job" )
if ( EXISTS "${_testdir}/${_count}.job" )
list( APPEND _conf_files "${_testdir}/${_count}.job" )
endif()
math( EXPR _count "${_count} + 1" )
endwhile()
if ( EXISTS "${_schema_file}" )
foreach( _conf_file ${_conf_files} )
if ( EXISTS ${_conf_file} )
get_filename_component( _conf_base "${_conf_file}" NAME_WE )
add_test(
NAME validate-${SUBDIRECTORY}-${_conf_base}
COMMAND ${PYTHON_EXECUTABLE} "${CMAKE_SOURCE_DIR}/ci/configvalidator.py" "${_schema_file}" "${_conf_file}"
)
endif()
endforeach()
endif()
endforeach()
endif()