diff options
author | Joseph Myers <joseph@codesourcery.com> | 2017-03-17 01:21:10 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2017-03-17 01:21:10 +0000 |
commit | c33eac51f4a8aa6a7ea77cccf6bea3f417eaff6d (patch) | |
tree | 96868af3f817ec48e35119387dcb0984af16e630 | |
parent | 33c02810c5fdc06deddbf0b1bfd78969da9ec739 (diff) | |
download | glibc-c33eac51f4a8aa6a7ea77cccf6bea3f417eaff6d.zip glibc-c33eac51f4a8aa6a7ea77cccf6bea3f417eaff6d.tar.gz glibc-c33eac51f4a8aa6a7ea77cccf6bea3f417eaff6d.tar.bz2 |
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.
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | conform/Makefile | 8 | ||||
-rw-r--r-- | conform/conformtest.pl | 5 |
3 files changed, 18 insertions, 2 deletions
@@ -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]-. diff --git a/conform/Makefile b/conform/Makefile index c07cc1d..eb2288f 100644 --- a/conform/Makefile +++ b/conform/Makefile @@ -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 diff --git a/conform/conformtest.pl b/conform/conformtest.pl index 41682e9..7594f46 100644 --- a/conform/conformtest.pl +++ b/conform/conformtest.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"; |