1
0
mirror of https://github.com/moparisthebest/curl synced 2024-08-13 17:03:50 -04:00

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

@ -291,11 +291,19 @@ build_script:
if %BUILD_SYSTEM%==autotools (
bash.exe -e -l -c "cd /c/projects/curl && ./buildconf && ./configure %CONFIG_ARGS% && make && make examples && cd tests && make"
)))))
- if %TESTING%==ON (
if %BUILD_SYSTEM%==CMake (
cmake --build . --config %PRJ_CFG% --parallel 2 --target testdeps
))
test_script:
- if %TESTING%==ON (
echo APPVEYOR_API_URL=%APPVEYOR_API_URL% &&
bash.exe -e -l -c "cd /c/projects/curl/tests && ./runtests.pl -a -b$(($(echo '%APPVEYOR_API_URL%' | cut -d'/' -f3 | cut -d':' -f2)+1)) -p !flaky %DISABLED_TESTS%" )
if %BUILD_SYSTEM%==CMake (
set TFLAGS=%DISABLED_TESTS% &&
cmake --build . --config %PRJ_CFG% --target test-nonflaky
) else (
echo APPVEYOR_API_URL=%APPVEYOR_API_URL% &&
bash.exe -e -l -c "cd /c/projects/curl/tests && ./runtests.pl -a -b$(($(echo '%APPVEYOR_API_URL%' | cut -d'/' -f3 | cut -d':' -f2)+1)) -p !flaky %DISABLED_TESTS%" ))
# select branches to avoid testing feature branches twice (as branch and as pull request)
branches:

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'});
}