CI/tests: fix invocation of tests for CMake builds

Update appveyor.yml to set env variable TFLAGS and run tests
Remove curly braces due to CMake error (${TFLAGS} -> $TFLAGS)
Move testdeps build to build step (per review comments)

Reviewed-by: Marc Hörsken

Closes #6066
Fixes #6052
This commit is contained in:
Sergei Nikulov 2020-10-12 22:44:37 +03:00 committed by Marc Hoersken
parent 112418070a
commit d8fffd718b
No known key found for this signature in database
GPG key ID: 61E03CBED7BC859E
3 changed files with 14 additions and 6 deletions

View file

@ -26,7 +26,7 @@ add_subdirectory(server)
add_subdirectory(unit)
function(add_runtests targetname test_flags)
# Use a special '${TFLAGS}' placeholder as last argument which will be
# Use a special '$TFLAGS' placeholder as last argument which will be
# replaced by the contents of the environment variable in runtests.pl.
# This is a workaround for CMake's limitation where commands executed by
# 'make' or 'ninja' cannot portably reference environment variables.
@ -35,7 +35,7 @@ function(add_runtests targetname test_flags)
COMMAND
"${PERL_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/runtests.pl"
${test_flags_list}
"\${TFLAGS}"
"\$TFLAGS"
DEPENDS testdeps
VERBATIM USES_TERMINAL
)

View file

@ -5180,9 +5180,9 @@ disabledtests("$TESTDIR/DISABLED.local");
# Check options to this test program
#
# Special case for CMake: replace '${TFLAGS}' by the contents of the
# Special case for CMake: replace '$TFLAGS' by the contents of the
# environment variable (if any).
if(@ARGV && $ARGV[-1] eq '${TFLAGS}') {
if(@ARGV && $ARGV[-1] eq '$TFLAGS') {
pop @ARGV;
push(@ARGV, split(' ', $ENV{'TFLAGS'})) if defined($ENV{'TFLAGS'});
}