mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 06:54:49 +00:00
validate: launcher: Always create log files
Create log files even when stdout redirection is enabled.
This commit partially reverts 20c28de
.
https://bugzilla.gnome.org/show_bug.cgi?id=742973
This commit is contained in:
parent
4e0388c631
commit
9c3606a867
3 changed files with 18 additions and 45 deletions
|
@ -31,7 +31,6 @@ import subprocess
|
||||||
import reporters
|
import reporters
|
||||||
import ConfigParser
|
import ConfigParser
|
||||||
import loggable
|
import loggable
|
||||||
import tempfile
|
|
||||||
from loggable import Loggable
|
from loggable import Loggable
|
||||||
import xml.etree.ElementTree as ET
|
import xml.etree.ElementTree as ET
|
||||||
|
|
||||||
|
@ -62,12 +61,9 @@ class Test(Loggable):
|
||||||
self.process = None
|
self.process = None
|
||||||
self.duration = duration
|
self.duration = duration
|
||||||
|
|
||||||
self.clean(True)
|
self.clean()
|
||||||
|
|
||||||
def clean(self, full=True):
|
|
||||||
if not full:
|
|
||||||
return
|
|
||||||
|
|
||||||
|
def clean(self):
|
||||||
self.message = ""
|
self.message = ""
|
||||||
self.error_str = ""
|
self.error_str = ""
|
||||||
self.time_taken = 0.0
|
self.time_taken = 0.0
|
||||||
|
@ -320,15 +316,11 @@ class GstValidateTest(Test):
|
||||||
self.scenario = scenario
|
self.scenario = scenario
|
||||||
|
|
||||||
def get_subproc_env(self):
|
def get_subproc_env(self):
|
||||||
|
self.validatelogs = self.logfile + '.validate.logs'
|
||||||
|
logfiles = self.validatelogs
|
||||||
if self.options.redirect_logs:
|
if self.options.redirect_logs:
|
||||||
self.validatelogs = os.path.join(
|
|
||||||
tempfile.gettempdir(), 'tmp.validate.logs')
|
|
||||||
logfiles = self.validatelogs
|
|
||||||
logfiles += os.pathsep + \
|
logfiles += os.pathsep + \
|
||||||
self.reporter.out.name.replace("<", '').replace(">", '')
|
self.options.redirect_logs.replace("<", '').replace(">", '')
|
||||||
else:
|
|
||||||
self.validatelogs = self.logfile + '.validate.logs'
|
|
||||||
logfiles = self.validatelogs
|
|
||||||
|
|
||||||
subproc_env = os.environ.copy()
|
subproc_env = os.environ.copy()
|
||||||
|
|
||||||
|
@ -336,8 +328,7 @@ class GstValidateTest(Test):
|
||||||
subproc_env["GST_VALIDATE_FILE"] = logfiles
|
subproc_env["GST_VALIDATE_FILE"] = logfiles
|
||||||
self.extra_logfiles.append(self.validatelogs)
|
self.extra_logfiles.append(self.validatelogs)
|
||||||
|
|
||||||
if 'GST_DEBUG' in os.environ and \
|
if 'GST_DEBUG' in os.environ:
|
||||||
not self.options.redirect_logs:
|
|
||||||
gstlogsfile = self.logfile + '.gstdebug'
|
gstlogsfile = self.logfile + '.gstdebug'
|
||||||
self.extra_logfiles.append(gstlogsfile)
|
self.extra_logfiles.append(gstlogsfile)
|
||||||
subproc_env["GST_DEBUG_FILE"] = gstlogsfile
|
subproc_env["GST_DEBUG_FILE"] = gstlogsfile
|
||||||
|
@ -346,16 +337,9 @@ class GstValidateTest(Test):
|
||||||
|
|
||||||
return subproc_env
|
return subproc_env
|
||||||
|
|
||||||
def clean(self, full=True):
|
def clean(self):
|
||||||
Test.clean(self, full=full)
|
Test.clean(self)
|
||||||
if hasattr(self, 'validatelogs') and not self.options.redirect_logs:
|
self._sent_eos_pos = None
|
||||||
try:
|
|
||||||
os.remove(self.validatelogs)
|
|
||||||
except OSError:
|
|
||||||
pass
|
|
||||||
|
|
||||||
if full:
|
|
||||||
self._sent_eos_pos = None
|
|
||||||
|
|
||||||
def build_arguments(self):
|
def build_arguments(self):
|
||||||
if "GST_VALIDATE" in os.environ:
|
if "GST_VALIDATE" in os.environ:
|
||||||
|
@ -762,7 +746,6 @@ class TestsManager(Loggable):
|
||||||
self.reporter.after_test()
|
self.reporter.after_test()
|
||||||
if res != Result.PASSED and (self.options.forever or
|
if res != Result.PASSED and (self.options.forever or
|
||||||
self.options.fatal_error):
|
self.options.fatal_error):
|
||||||
test.clean(full=False)
|
|
||||||
return test.result
|
return test.result
|
||||||
|
|
||||||
return Result.PASSED
|
return Result.PASSED
|
||||||
|
@ -1138,11 +1121,8 @@ class ScenarioManager(Loggable):
|
||||||
"""
|
"""
|
||||||
scenarios = []
|
scenarios = []
|
||||||
scenario_defs = os.path.join(self.config.main_dir, "scenarios.def")
|
scenario_defs = os.path.join(self.config.main_dir, "scenarios.def")
|
||||||
if self.config.redirect_logs:
|
logs = open(os.path.join(self.config.logsdir,
|
||||||
logs = open(os.devnull)
|
"scenarios_discovery.log"), 'w')
|
||||||
else:
|
|
||||||
logs = open(
|
|
||||||
os.path.join(self.config.logsdir, "scenarios_discovery.log"), 'w')
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
command = [self.GST_VALIDATE_COMMAND,
|
command = [self.GST_VALIDATE_COMMAND,
|
||||||
|
|
|
@ -22,7 +22,6 @@ import time
|
||||||
import loggable
|
import loggable
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
import tempfile
|
|
||||||
|
|
||||||
logcat = "httpserver"
|
logcat = "httpserver"
|
||||||
|
|
||||||
|
@ -57,13 +56,8 @@ class HTTPServer(loggable.Loggable):
|
||||||
|
|
||||||
def start(self):
|
def start(self):
|
||||||
""" Start the server in a subprocess """
|
""" Start the server in a subprocess """
|
||||||
if self.options.redirect_logs:
|
self._logsfile = open(os.path.join(self.options.logsdir,
|
||||||
self.info("Using devnull as HTTP server log file")
|
"httpserver.logs"), 'w+')
|
||||||
self._logsfile = tempfile.TemporaryFile()
|
|
||||||
else:
|
|
||||||
self._logsfile = open(os.path.join(self.options.logsdir,
|
|
||||||
"httpserver.logs"),
|
|
||||||
'w+')
|
|
||||||
if self.options.http_server_dir is not None:
|
if self.options.http_server_dir is not None:
|
||||||
if self._check_is_up(timeout=2):
|
if self._check_is_up(timeout=2):
|
||||||
return True
|
return True
|
||||||
|
|
|
@ -68,18 +68,17 @@ class Reporter(Loggable):
|
||||||
|
|
||||||
def before_test(self, test):
|
def before_test(self, test):
|
||||||
"""Initialize a timer before starting a test."""
|
"""Initialize a timer before starting a test."""
|
||||||
|
path = os.path.join(self.options.logsdir,
|
||||||
|
test.classname.replace(".", os.sep))
|
||||||
|
mkdir(os.path.dirname(path))
|
||||||
|
test.logfile = path
|
||||||
|
|
||||||
if self.options.redirect_logs == 'stdout':
|
if self.options.redirect_logs == 'stdout':
|
||||||
self.out = sys.stdout
|
self.out = sys.stdout
|
||||||
test.logfile = 'stdout'
|
|
||||||
elif self.options.redirect_logs == 'stderr':
|
elif self.options.redirect_logs == 'stderr':
|
||||||
self.out = sys.stderr
|
self.out = sys.stderr
|
||||||
test.logfile = 'stderr'
|
|
||||||
else:
|
else:
|
||||||
path = os.path.join(self.options.logsdir,
|
|
||||||
test.classname.replace(".", os.sep))
|
|
||||||
mkdir(os.path.dirname(path))
|
|
||||||
self.out = open(path, 'w+')
|
self.out = open(path, 'w+')
|
||||||
test.logfile = path
|
|
||||||
self._current_test = test
|
self._current_test = test
|
||||||
|
|
||||||
if self._start_time == 0:
|
if self._start_time == 0:
|
||||||
|
|
Loading…
Reference in a new issue