From: Johan D. <jd...@pd...> - 2004-03-04 14:38:12
|
CVS Root: /cvs/gstreamer Module: gst-media-test Changes by: jdahlin Date: Thu Mar 04 2004 06:32:03 PST Log message: Fix so we can have two versions installed in the same prefix. Cleanup versioning handling. Some cleanups to reporting Modified files: jdahlin/mediatest: report.py testcase.py version.py Links: http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-media-test/jdahlin/mediatest/report.py.diff?r1=1.2&r2=1.3 http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-media-test/jdahlin/mediatest/testcase.py.diff?r1=1.3&r2=1.4 http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-media-test/jdahlin/mediatest/version.py.diff?r1=1.2&r2=1.3 ====Begin Diffs==== Index: report.py =================================================================== RCS file: /cvs/gstreamer/gst-media-test/jdahlin/mediatest/report.py,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- a/report.py 3 Mar 2004 11:08:40 -0000 1.2 +++ b/report.py 4 Mar 2004 14:31:51 -0000 1.3 @@ -61,14 +61,11 @@ version_key = version.get_version() tests = self.tests[version_key] - errors_list = filter(lambda x: x != [], - map(lambda (test, l): test.errors, tests)) - segv_errors = 0 md5_errors = 0 alarm_errors = 0 total_errors = 0 - for errors in errors_list: + for errors in map(lambda (test, l): test.errors, tests): for error in errors: if error.find('Segmentation fault') != -1: segv_errors += 1 @@ -78,11 +75,9 @@ md5_errors += 1 total_errors += 1 - warnings_list = filter(lambda x: x != [], - map(lambda (test, l): test.warnings, tests)) skipped_pipelines = 0 - skipped_plugins = 0 - for warnings in warnings_list: + skipped_plugins = 0 + for warnings in map(lambda (test, l): test.warnings, tests): for warning in warnings: if not warning.endswith('skipping'): continue Index: testcase.py RCS file: /cvs/gstreamer/gst-media-test/jdahlin/mediatest/testcase.py,v retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- a/testcase.py 3 Mar 2004 11:43:03 -0000 1.3 +++ b/testcase.py 4 Mar 2004 14:31:51 -0000 1.4 @@ -48,8 +48,23 @@ def __repr__(self): return '<Pipeline instance at 0x%x>' % id(self) - def get_command_line(self): - return " ".join(map(string.strip, self.cmd.split('\n'))) + def get_simple(self, location): + cmd = " ".join(map(string.strip, self.cmd.split('\n'))) + elements = 'filesrc location="%s" ! %s ' % (location, cmd) + return elements + + def get_command_line(self, location, scheduler): + elements = self.get_simple(location) + + args = ['--gst-scheduler=%s' % scheduler] + if self.version == '0.6': + args.append('--gst-mask=0') + else: + args.append('--gst-debug-no-color') + cmd = " ".join(args) + " " + elements + + return cmd def get_version(self): return self.version @@ -197,13 +212,8 @@ self.warning('No pipeline for version %s found, skipping' % version.get_minor()) return - cmd = pipeline.get_command_line() - cmd = 'filesrc location="%s" ! %s' % (self.get_media(), cmd) - simple_pipeline = cmd.replace(self.path + os.sep, '') - - cmd = '--gst-scheduler=%s --gst-debug-no-color %s ' % (scheduler, cmd) - if version.need_mask(): - cmd = '--gst-mask=0 ' + cmd + location = self.get_media() + cmd = pipeline.get_command_line(location, scheduler) report.start_test(self, version) if not simulate: @@ -212,9 +222,10 @@ plugin = self.check_plugins(version) if plugin: self.warning('Plugin %s not found, skipping' % plugin.get_name()) + report.finish_test(self, version) return - info('Running pipeline: %s' % simple_pipeline) + + info('Running pipeline: %s' % pipeline.get_simple(location)) exitcode, stdout, stderr = version.run_result('md5sum', cmd) if stderr: @@ -230,8 +241,6 @@ self.handle_result(version, stdout[:-1]) report.finish_test(self, version) - info('%r.run: leaving' % self) def warning(self, msg): warning(msg) Index: version.py RCS file: /cvs/gstreamer/gst-media-test/jdahlin/mediatest/version.py,v --- a/version.py 3 Mar 2004 11:08:40 -0000 1.2 +++ b/version.py 4 Mar 2004 14:31:51 -0000 1.3 @@ -84,11 +84,12 @@ - - def need_mask(self): - "wheater we need --gst-mask to silent it up" - return self.minor_version == '0.6' + def add_specific(self, cmd): + if self.get_minor() == '0.6': + return cmd + ' --gst-mask=0' + return cmd + ' --gst-debug-no-color' def get_program(self, name): if not name in ['inspect', 'md5sum']: @@ -105,10 +106,9 @@ args = list(args) - if self.need_mask(): - args.insert(0, '--gst-mask=0') - return '%s %s' % (cmd, ' '.join(args)) + cmd = self.add_specific(cmd) + cmd = '%s %s' % (cmd, ' '.join(args)) def run(self, command, *args): cmd = self.get_command_line(command, args) @@ -138,19 +138,18 @@ def get_gst_command(command): versions = {} for path in os.environ['PATH'].split(':'): - fullpath = glob.glob(os.path.join(path, 'gst-%s*' % command)) - if not fullpath: + fullpaths = glob.glob(os.path.join(path, 'gst-%s*' % command)) + if not fullpaths: continue - fullpath = fullpath[0] - if versions.has_key(fullpath): - continue - version = commands.getoutput('%s --gst-version' % fullpath) - version = version.split(' ')[-1] + for fullpath in fullpaths: + if versions.has_key(fullpath): + continue - versions[version] = fullpath + version = commands.getoutput('%s --gst-version' % fullpath) + version = version.split(' ')[-1] + versions[version] = fullpath return versions |