diff options
author | Peter Wu <peter@lekensteyn.nl> | 2020-05-10 02:12:12 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2020-05-12 08:50:17 +0200 |
commit | ad6416986755e417c66e2c646d532561b445a5b5 (patch) | |
tree | 88a3b56f838cdefd14f6a21bd22b10e0a25a0b1f /tests/runtests.pl | |
parent | c2ab2494ef375bfc5d621b39badabeb9a0c86f6a (diff) | |
download | curl-ad6416986755e417c66e2c646d532561b445a5b5.tar.gz |
CMake: fix runtests.pl with CMake, add new test targets
* runtests.pl:
- Fix out-of-tree build under CMake when srcdir is not set. Default
srcdir to the location of runtests.pl.
- Add a hack to allow CMake to use the TFLAGS option as documented
in tests/README and used in scripts/travis/script.sh.
* Bump CMake version to 3.2 for USES_TERMINAL, dropping Debian Jessie
support (no one should care, it is already EOL.).
* Remove CTest since it defines its own 'test' target with no tests
since all unittests are already broken and not built by default.
* Add new test targets based on the options from Makefile.am. Since
new test targets are rarely added, I opted for duplicating the
runtests.pl options as opposed to creating a new Makefile.inc file.
Use top-level target names (test-x) instead of x-test since that is
used by CI and others.
Closes #5358
Diffstat (limited to 'tests/runtests.pl')
-rwxr-xr-x | tests/runtests.pl | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/tests/runtests.pl b/tests/runtests.pl index 33334a751..4eac05f90 100755 --- a/tests/runtests.pl +++ b/tests/runtests.pl @@ -56,8 +56,14 @@ # These should be the only variables that might be needed to get edited: BEGIN { - push(@INC, $ENV{'srcdir'}) if(defined $ENV{'srcdir'}); - push(@INC, "."); + # Define srcdir to the location of the tests source directory. This is + # usually set by the Makefile, but for out-of-tree builds with direct + # invocation of runtests.pl, it may not be set. + if(!defined $ENV{'srcdir'}) { + use File::Basename; + $ENV{'srcdir'} = dirname(__FILE__); + } + push(@INC, $ENV{'srcdir'}); # run time statistics needs Time::HiRes eval { no warnings "all"; @@ -559,7 +565,11 @@ sub checkcmd { # my $disttests; sub get_disttests { - my @dist = `cd data && make show`; + my $makeCmd = 'make'; + if(-f "../CMakeCache.txt") { + $makeCmd = 'cmake --build ../.. --target'; + } + my @dist = `cd data && $makeCmd show`; $disttests = join("", @dist); } @@ -5120,6 +5130,13 @@ disabledtests("$TESTDIR/DISABLED.local"); # Check options to this test program # +# Special case for CMake: replace '${TFLAGS}' by the contents of the +# environment variable (if any). +if(@ARGV && $ARGV[-1] eq '${TFLAGS}') { + pop @ARGV; + push(@ARGV, split(' ', $ENV{'TFLAGS'})) if defined($ENV{'TFLAGS'}); +} + my $number=0; my $fromnum=-1; my @testthis; |