diff options
-rw-r--r-- | testsuite/driver/testglobals.py | 10 | ||||
-rw-r--r-- | testsuite/driver/testlib.py | 14 | ||||
-rw-r--r-- | testsuite/mk/test.mk | 12 |
3 files changed, 30 insertions, 6 deletions
diff --git a/testsuite/driver/testglobals.py b/testsuite/driver/testglobals.py index 44fe125dc5..f6831c9ad8 100644 --- a/testsuite/driver/testglobals.py +++ b/testsuite/driver/testglobals.py @@ -1,4 +1,4 @@ -# +# # (c) Simon Marlow 2002 # @@ -9,7 +9,7 @@ # variable config below. The fields of the structure are filled in by # the appropriate config script(s) for this compiler/platform, in # ../config. -# +# # Bits of the structure may also be filled in from the command line, # via the build system, using the '-e' option to runtests. @@ -28,6 +28,8 @@ class TestConfig: # Accept new output which differs from the sample? self.accept = 0 + self.accept_platform = 0 + self.accept_os = 0 # File in which to save the summary self.summary_file = '' @@ -70,7 +72,7 @@ class TestConfig: # Flags we always give to this compiler self.compiler_always_flags = [] - + # Which ways to run tests (when compiling and running respectively) # Other ways are added from the command line if we have the appropriate # libraries. @@ -109,7 +111,7 @@ class TestConfig: # the timeout program self.timeout_prog = '' self.timeout = 300 - + # threads self.threads = 1 self.use_threads = 0 diff --git a/testsuite/driver/testlib.py b/testsuite/driver/testlib.py index 8bdbedfdcd..f2bb1c9f01 100644 --- a/testsuite/driver/testlib.py +++ b/testsuite/driver/testlib.py @@ -1597,7 +1597,17 @@ def compare_outputs(way, kind, normaliser, expected_file, actual_file, if_verbose(1, 'Test is expected to fail. Not accepting new output.') return 0 elif config.accept and actual_raw: - if_verbose(1, 'Accepting new output.') + if config.accept_platform: + if_verbose(1, 'Accepting new output for platform "' + + config.platform + '".') + expected_path += '-' + config.platform + elif config.accept_os: + if_verbose(1, 'Accepting new output for os "' + + config.os + '".') + expected_path += '-' + config.os + else: + if_verbose(1, 'Accepting new output.') + write_file(expected_path, actual_raw) return 1 elif config.accept: @@ -1914,7 +1924,7 @@ def in_srcdir(name, suffix=''): # Finding the sample output. The filename is of the form # -# <test>.stdout[-ws-<wordsize>][-<platform>] +# <test>.stdout[-ws-<wordsize>][-<platform>|-<os>] # def find_expected_file(name, suff): basename = add_suffix(name, suff) diff --git a/testsuite/mk/test.mk b/testsuite/mk/test.mk index a21c4bb16b..1eb8d49c4b 100644 --- a/testsuite/mk/test.mk +++ b/testsuite/mk/test.mk @@ -14,6 +14,9 @@ # CONFIG -- use a different configuration file # COMPILER -- select a configuration file from config/ # THREADS -- run n tests at once +# PLATFORM -- if accepting a result, accept it for the current platform. +# OS -- if accepting a result, accept it for all wordsizes of the +# current os. # # ----------------------------------------------------------------------------- @@ -280,6 +283,15 @@ endif ifeq "$(accept)" "YES" setaccept = -e config.accept=1 + +ifeq "$(PLATFORM)" "YES" +setaccept += -e config.accept_platform=1 +endif + +ifeq "$(OS)" "YES" +setaccept += -e config.accept_os=1 +endif + else setaccept = endif |