conformtest: Skip execution tests when cross-compiling.
This patch makes conformtest skip execution tests when cross-compiling, as an interim step towards running most of these tests (presently disabled) in that case. It omits the (obvious) Makefile change to actually enable the conformtest tests when cross-compiling, as there are still enough failures seen with build-many-glibcs.py that I'd like to get the results cleaner before enabling these tests. Tested for x86_64, and with the tests actually enabled for cross-compilation with build-many-glibcs.py. * conform/conformtest.pl ($cross): New variable. (--cross): New command-line option. (runtest): Skip test execution when cross-compiling. * conform/Makefile (conformtest-cross): New variable. ($(conformtest-header-tests)): Pass $(conformtest-cross) to conformtest.pl.
This commit is contained in:
parent
33c02810c5
commit
c33eac51f4
|
@ -1,5 +1,12 @@
|
|||
2017-03-17 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* conform/conformtest.pl ($cross): New variable.
|
||||
(--cross): New command-line option.
|
||||
(runtest): Skip test execution when cross-compiling.
|
||||
* conform/Makefile (conformtest-cross): New variable.
|
||||
($(conformtest-header-tests)): Pass $(conformtest-cross) to
|
||||
conformtest.pl.
|
||||
|
||||
* conform/conformtest.pl ($xfail_str): New variable.
|
||||
(--xfail=): New command-line option.
|
||||
(top level): Handle expectations starting xfail[cond]-.
|
||||
|
|
|
@ -197,13 +197,19 @@ conformtest-cc-flags = -I../include $(+sysdep-includes) $(sysincludes) -I..
|
|||
# in xfail[cond]- lines in test expectations.
|
||||
conformtest-xfail = $(if $(conformtest-xfail-conds),\
|
||||
--xfail='$(conformtest-xfail-conds)')
|
||||
ifeq (no,$(cross-compiling))
|
||||
conformtest-cross =
|
||||
else
|
||||
conformtest-cross = --cross
|
||||
endif
|
||||
$(conformtest-header-tests): $(objpfx)%/conform.out: \
|
||||
conformtest.pl $(conformtest-headers-data)
|
||||
(set -e; std_hdr=$*; std=$${std_hdr%%/*}; hdr=$${std_hdr#*/}; \
|
||||
mkdir -p $(@D)/scratch; \
|
||||
$(PERL) -I. conformtest.pl --tmpdir=$(@D)/scratch --cc='$(CC)' \
|
||||
--flags='$(conformtest-cc-flags)' --standard=$$std \
|
||||
--headers=$$hdr $(conformtest-xfail) > $@); \
|
||||
--headers=$$hdr $(conformtest-xfail) $(conformtest-cross) \
|
||||
> $@); \
|
||||
$(evaluate-test)
|
||||
|
||||
$(linknamespace-symlists-tests): $(objpfx)symlist-%: list-header-symbols.pl
|
||||
|
|
|
@ -7,10 +7,11 @@ use POSIX;
|
|||
$standard = "XOPEN2K8";
|
||||
$CC = "gcc";
|
||||
$tmpdir = "/tmp";
|
||||
$cross = "";
|
||||
$xfail_str = "";
|
||||
GetOptions ('headers=s' => \@headers, 'standard=s' => \$standard,
|
||||
'flags=s' => \$flags, 'cc=s' => \$CC, 'tmpdir=s' => \$tmpdir,
|
||||
'xfail=s' => \$xfail_str);
|
||||
'cross' => \$cross, 'xfail=s' => \$xfail_str);
|
||||
@headers = split(/,/,join(',',@headers));
|
||||
|
||||
# List of the headers we are testing.
|
||||
|
@ -192,6 +193,8 @@ sub runtest
|
|||
}
|
||||
note_error($xfail);
|
||||
$result = 1;
|
||||
} elsif ($cross) {
|
||||
printf (" SKIP\n");
|
||||
} else {
|
||||
# Now run the program. If the exit code is not zero something is wrong.
|
||||
$result = system "$fnamebase > $fnamebase.out2 2>&1";
|
||||
|
|
Loading…
Reference in New Issue