THRIFT-3109 Cross test log file cannot be browsed when served in HTTP server
diff --git a/test/crossrunner/report.py b/test/crossrunner/report.py
index 85e3c26..a284d2b 100644
--- a/test/crossrunner/report.py
+++ b/test/crossrunner/report.py
@@ -82,9 +82,9 @@
self._lock = multiprocessing.Lock()
@classmethod
- def test_logfile(cls, dir, test_name, prog_kind):
- return os.path.realpath(os.path.join(
- dir, 'log', '%s_%s.log' % (test_name, prog_kind)))
+ def test_logfile(cls, test_name, prog_kind, dir=None):
+ relpath = os.path.join('log', '%s_%s.log' % (test_name, prog_kind))
+ return relpath if not dir else os.path.realpath(os.path.join(dir, relpath))
def _start(self):
self._start_time = time.time()
@@ -113,7 +113,7 @@
super(ExecReporter, self).__init__()
self._test = test
self._prog = prog
- self.logpath = self.test_logfile(testdir, test.name, prog.kind)
+ self.logpath = self.test_logfile(test.name, prog.kind, testdir)
self.out = None
def begin(self):
@@ -324,8 +324,8 @@
test.as_expected,
test.returncode,
{
- 'server': self.test_logfile(test.testdir, test.name, test.server.kind),
- 'client': self.test_logfile(test.testdir, test.name, test.client.kind),
+ 'server': self.test_logfile(test.name, test.server.kind),
+ 'client': self.test_logfile(test.name, test.client.kind),
},
]
@@ -346,7 +346,7 @@
def add_prog_log(fp, test, prog_kind):
fp.write('*************************** %s message ***************************\n'
% prog_kind)
- path = self.test_logfile(self.testdir, test.name, prog_kind)
+ path = self.test_logfile(test.name, prog_kind, self.testdir)
kwargs = {} if sys.version_info[0] < 3 else {'errors': 'replace'}
with open(path, 'r', **kwargs) as prog_fp:
fp.write(prog_fp.read())