summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test
diff options
context:
space:
mode:
authorVedant Kumar <vsk@apple.com>2018-09-20 23:56:39 +0000
committerVedant Kumar <vsk@apple.com>2018-09-20 23:56:39 +0000
commitf853c6e074918fce74b46b3f02fddf8ec7bf8a58 (patch)
tree04d99a6f7faa00be34d03aee6aab5b0e4fc33344 /lldb/packages/Python/lldbsuite/test
parent0744d3c5a1dd6407f6f939f3893fa4165918cb42 (diff)
downloadbcm5719-llvm-f853c6e074918fce74b46b3f02fddf8ec7bf8a58.tar.gz
bcm5719-llvm-f853c6e074918fce74b46b3f02fddf8ec7bf8a58.zip
[lldbtest] Fix self.filecheck check file lookup
The 'test_filename' property in TestBase changes over time, so attempting to find a check file relative to the directory containing 'test_filename' is flaky. Use the absolute path of the check file as that's always correct (and simpler). This relies on the test driver changing into the test directory, which it seems we can safely assume. As a drive-by, make self.filecheck respect the trace (-t) option. llvm-svn: 342699
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
-rw-r--r--lldb/packages/Python/lldbsuite/test/lldbtest.py21
1 files changed, 11 insertions, 10 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/lldbtest.py b/lldb/packages/Python/lldbsuite/test/lldbtest.py
index 96ce825f217..563b19f5f02 100644
--- a/lldb/packages/Python/lldbsuite/test/lldbtest.py
+++ b/lldb/packages/Python/lldbsuite/test/lldbtest.py
@@ -2233,11 +2233,7 @@ class TestBase(Base):
# a file within the inline test directory.
if check_file.endswith('.pyc'):
check_file = check_file[:-1]
- if hasattr(self, 'test_filename'):
- check_file_abs = os.path.join(os.path.dirname(self.test_filename),
- check_file)
- else:
- check_file_abs = os.path.abspath(check_file)
+ check_file_abs = os.path.abspath(check_file)
# Run FileCheck.
filecheck_bin = configuration.get_filecheck_path()
@@ -2248,10 +2244,9 @@ class TestBase(Base):
cmd_stdout, cmd_stderr = subproc.communicate(input=output)
cmd_status = subproc.returncode
- if cmd_status != 0:
- filecheck_cmd = " ".join(filecheck_args)
- self.assertTrue(cmd_status == 0, """
---- FileCheck failed (code={0}) ---
+ filecheck_cmd = " ".join(filecheck_args)
+ filecheck_trace = """
+--- FileCheck trace (code={0}) ---
{1}
FileCheck input:
@@ -2260,7 +2255,13 @@ FileCheck input:
FileCheck output:
{3}
{4}
-""".format(cmd_status, filecheck_cmd, output, cmd_stdout, cmd_stderr))
+""".format(cmd_status, filecheck_cmd, output, cmd_stdout, cmd_stderr)
+
+ trace = cmd_status != 0 or traceAlways
+ with recording(self, trace) as sbuf:
+ print(filecheck_trace, file=sbuf)
+
+ self.assertTrue(cmd_status == 0)
def expect(
self,
OpenPOWER on IntegriCloud