validate:launcher: Print the number of the test being run

This commit is contained in:
Thibault Saunier 2014-04-02 19:14:30 +02:00
parent 6104ed184f
commit f1851235d5
3 changed files with 29 additions and 11 deletions

View file

@ -203,6 +203,9 @@ class GESTestsManager(TestsManager):
pass pass
def list_tests(self): def list_tests(self):
if self.tests:
return self.tests
projects = list() projects = list()
if not self.args: if not self.args:
path = self.options.projects_paths path = self.options.projects_paths
@ -217,7 +220,6 @@ class GESTestsManager(TestsManager):
projects.append(proj) projects.append(proj)
else: else:
projects.append(utils.path2url(proj)) projects.append(utils.path2url(proj))
SCENARIOS = ["play_15s", SCENARIOS = ["play_15s",
"seek_forward", "seek_forward",
"seek_backward", "seek_backward",
@ -245,3 +247,5 @@ class GESTestsManager(TestsManager):
self.reporter, proj, self.reporter, proj,
combination=comb) combination=comb)
) )
return self.tests

View file

@ -290,6 +290,9 @@ class GstValidateManager(TestsManager, Loggable):
return False return False
def list_tests(self): def list_tests(self):
if self.tests:
return self.tests
for test_pipeline in G_V_PLAYBACK_TESTS: for test_pipeline in G_V_PLAYBACK_TESTS:
self._add_playback_test(test_pipeline) self._add_playback_test(test_pipeline)

View file

@ -197,6 +197,7 @@ class Test(Loggable):
message += "\n - %s" % log message += "\n - %s" % log
printc(message, Colors.OKBLUE) printc(message, Colors.OKBLUE)
try: try:
self.process = subprocess.Popen(self.command, self.process = subprocess.Popen(self.command,
stderr=self.reporter.out, stderr=self.reporter.out,
@ -432,7 +433,7 @@ class TestsManager(Loggable):
return False return False
def list_tests(self): def list_tests(self):
pass return self.tests
def add_test(self, test): def add_test(self, test):
if self._is_test_wanted(test): if self._is_test_wanted(test):
@ -486,15 +487,17 @@ class TestsManager(Loggable):
return False return False
def run_tests(self): def run_tests(self, cur_test_num, total_num_tests):
i = cur_test_num
for test in self.tests: for test in self.tests:
if self._is_test_wanted(test): sys.stdout.write("[%d / %d] " % (i, total_num_tests))
self.reporter.before_test(test) self.reporter.before_test(test)
res = test.run() res = test.run()
self.reporter.after_test() i += 1
if res != Result.PASSED and (self.options.forever or self.reporter.after_test()
self.options.fatal_error): if res != Result.PASSED and (self.options.forever or
return test.result self.options.fatal_error):
return test.result
return Result.PASSED return Result.PASSED
@ -577,10 +580,18 @@ class _TestsLauncher(Loggable):
for tester in self.testers: for tester in self.testers:
tester.list_tests() tester.list_tests()
self.tests.extend(tester.tests) self.tests.extend(tester.tests)
return self.tests
def _run_tests(self): def _run_tests(self):
cur_test_num = 0
total_num_tests = 0
for tester in self.testers: for tester in self.testers:
res = tester.run_tests() total_num_tests += len(tester.list_tests())
print total_num_tests
for tester in self.testers:
res = tester.run_tests(cur_test_num, total_num_tests)
cur_test_num += len(tester.list_tests())
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):
return False return False