diff options
author | Giacomo Travaglini <giacomo.travaglini@arm.com> | 2019-12-16 14:14:13 +0000 |
---|---|---|
committer | Giacomo Travaglini <giacomo.travaglini@arm.com> | 2019-12-23 08:52:59 +0000 |
commit | 62d75e7105fe172eb906d4f80f360ff8591d4178 (patch) | |
tree | 88abaa0a3abde604f409d8861bb9daf99f393ae0 | |
parent | 8ba0ba4871907aaa08c862534033f2922a3d2ba7 (diff) | |
download | gem5-62d75e7105fe172eb906d4f80f360ff8591d4178.tar.xz |
tests: Always print stderr in gem5 Fixtures
At the moment is impossible when observing an upstream kokoro failure
to understand what went wrong.
This is because the only thing that gets printed is the exception
traceback and the command line generating it.
Most of the time it will be something like
Traceback (most recent call last):
File
"/tmpfs/src/git/jenkins-gem5-prod/tests/../ext/testlib/runner.py", line
195, in setup
fixture.setup(testitem)
File "/tmpfs/src/git/jenkins-gem5-prod/tests/gem5/fixture.py", line
115, in setup
self._setup(testitem)
File "/tmpfs/src/git/jenkins-gem5-prod/tests/gem5/fixture.py", line
160, in _setup
log_call(log.test_log, command)
File
"/tmpfs/src/git/jenkins-gem5-prod/tests/../ext/testlib/helper.py", line
103, in log_call
raise subprocess.CalledProcessError(retval, cmdstr)
With this patch we dump the stderr so that the fail reason is exposed
to the viewer.
Change-Id: Ic3d0fe75ec4d0543d95e9624dc5287afb4af3b8b
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23843
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
-rw-r--r-- | tests/gem5/fixture.py | 3 | ||||
-rw-r--r-- | tests/gem5/suite.py | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/tests/gem5/fixture.py b/tests/gem5/fixture.py index 21ea3d803..ddf43d17d 100644 --- a/tests/gem5/fixture.py +++ b/tests/gem5/fixture.py @@ -42,6 +42,7 @@ import os import tempfile import shutil +import sys import threading import urllib import urllib2 @@ -157,7 +158,7 @@ class SConsFixture(UniqueFixture): command.extend(self.targets) if self.options: command.extend(self.options) - log_call(log.test_log, command) + log_call(log.test_log, command, stderr=sys.stderr) class Gem5Fixture(SConsFixture): def __new__(cls, isa, variant, protocol=None): diff --git a/tests/gem5/suite.py b/tests/gem5/suite.py index 2db1668cd..8a8c76d53 100644 --- a/tests/gem5/suite.py +++ b/tests/gem5/suite.py @@ -29,6 +29,7 @@ import os import copy import subprocess +import sys from testlib.test import TestFunction from testlib.suite import TestSuite @@ -161,6 +162,6 @@ def _create_test_run_gem5(config, config_args, gem5_args): command.append(config) # Config_args should set up the program args. command.extend(config_args) - returncode.value = log_call(params.log, command) + returncode.value = log_call(params.log, command, stderr=sys.stderr) return test_run_gem5 |