summaryrefslogtreecommitdiff
path: root/Tools/Scripts/webkitpy/test
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/Scripts/webkitpy/test')
-rw-r--r--Tools/Scripts/webkitpy/test/finder_unittest.py9
-rw-r--r--Tools/Scripts/webkitpy/test/main.py2
-rw-r--r--Tools/Scripts/webkitpy/test/main_unittest.py8
-rw-r--r--Tools/Scripts/webkitpy/test/printer.py27
-rw-r--r--Tools/Scripts/webkitpy/test/runner_unittest.py6
-rw-r--r--Tools/Scripts/webkitpy/test/skip_unittest.py5
6 files changed, 31 insertions, 26 deletions
diff --git a/Tools/Scripts/webkitpy/test/finder_unittest.py b/Tools/Scripts/webkitpy/test/finder_unittest.py
index 694b3884a..f1259ef49 100644
--- a/Tools/Scripts/webkitpy/test/finder_unittest.py
+++ b/Tools/Scripts/webkitpy/test/finder_unittest.py
@@ -21,7 +21,7 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
import logging
-import unittest
+import unittest2 as unittest
from webkitpy.common.system.filesystem_mock import MockFileSystem
from webkitpy.common.system.outputcapture import OutputCapture
@@ -112,7 +112,7 @@ class FinderTest(unittest.TestCase):
self.check_names(['/tmp/another_unittest.py'], [])
finally:
_, _, logs = oc.restore_output()
- self.assertTrue('another_unittest.py' in logs)
+ self.assertIn('another_unittest.py', logs)
# Paths that don't exist are errors.
oc.capture_output()
@@ -120,10 +120,7 @@ class FinderTest(unittest.TestCase):
self.check_names(['/foo/bar/notexist_unittest.py'], [])
finally:
_, _, logs = oc.restore_output()
- self.assertTrue('notexist_unittest.py' in logs)
+ self.assertIn('notexist_unittest.py', logs)
# Names that don't exist are caught later, at load time.
self.check_names(['bar.notexist_unittest'], ['bar.notexist_unittest'])
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/Tools/Scripts/webkitpy/test/main.py b/Tools/Scripts/webkitpy/test/main.py
index 5f16beca6..4270ace5d 100644
--- a/Tools/Scripts/webkitpy/test/main.py
+++ b/Tools/Scripts/webkitpy/test/main.py
@@ -139,7 +139,7 @@ class Tester(object):
self._options.child_processes = 1
import webkitpy.thirdparty.autoinstalled.coverage as coverage
- cov = coverage.coverage(omit=["/usr/*", "*/webkitpy/thirdparty/autoinstalled/*"])
+ cov = coverage.coverage(omit=["/usr/*", "*/webkitpy/thirdparty/autoinstalled/*", "*/webkitpy/thirdparty/BeautifulSoup.py"])
cov.start()
self.printer.write_update("Checking imports ...")
diff --git a/Tools/Scripts/webkitpy/test/main_unittest.py b/Tools/Scripts/webkitpy/test/main_unittest.py
index 031abd65b..8a1b56d29 100644
--- a/Tools/Scripts/webkitpy/test/main_unittest.py
+++ b/Tools/Scripts/webkitpy/test/main_unittest.py
@@ -22,7 +22,7 @@
import logging
import sys
-import unittest
+import unittest2 as unittest
import StringIO
from webkitpy.common.system.filesystem import FileSystem
@@ -70,8 +70,8 @@ class TesterTest(unittest.TestCase):
_, _, logs = oc.restore_output()
root_logger.handlers = root_handlers
- self.assertTrue('No tests to run' in errors.getvalue())
- self.assertTrue('No tests to run' in logs)
+ self.assertIn('No tests to run', errors.getvalue())
+ self.assertIn('No tests to run', logs)
def _find_test_names(self, args):
tester = Tester()
@@ -114,4 +114,4 @@ class TesterTest(unittest.TestCase):
out, _ = proc.communicate()
retcode = proc.returncode
self.assertEqual(retcode, 0)
- self.assertTrue('Cover' in out)
+ self.assertIn('Cover', out)
diff --git a/Tools/Scripts/webkitpy/test/printer.py b/Tools/Scripts/webkitpy/test/printer.py
index 0ec3035b3..b5bea3f9f 100644
--- a/Tools/Scripts/webkitpy/test/printer.py
+++ b/Tools/Scripts/webkitpy/test/printer.py
@@ -24,7 +24,7 @@
import logging
import StringIO
-from webkitpy.common.system import outputcapture
+from webkitpy.common.system.systemhost import SystemHost
from webkitpy.layout_tests.views.metered_stream import MeteredStream
_log = logging.getLogger(__name__)
@@ -36,7 +36,7 @@ class Printer(object):
self.meter = None
self.options = options
self.num_tests = 0
- self.num_completed = 0
+ self.num_started = 0
self.num_errors = 0
self.num_failures = 0
self.running_tests = []
@@ -57,7 +57,8 @@ class Printer(object):
elif options.verbose == 2:
log_level = logging.DEBUG
- self.meter = MeteredStream(self.stream, (options.verbose == 2))
+ self.meter = MeteredStream(self.stream, (options.verbose == 2),
+ number_of_columns=SystemHost().platform.terminal_width())
handler = logging.StreamHandler(self.stream)
# We constrain the level on the handler rather than on the root
@@ -102,6 +103,8 @@ class Printer(object):
handler.addFilter(testing_filter)
if self.options.pass_through:
+ # FIXME: Can't import at top of file, as outputcapture needs unittest2
+ from webkitpy.common.system import outputcapture
outputcapture.OutputCapture.stream_wrapper = _CaptureAndPassThroughStream
def write_update(self, msg):
@@ -141,7 +144,7 @@ class Printer(object):
if self.options.timing:
suffix += ' %.4fs' % test_time
- self.num_completed += 1
+ self.num_started += 1
if test_name == self.running_tests[0]:
self.completed_tests.insert(0, [test_name, suffix, lines])
@@ -159,11 +162,23 @@ class Printer(object):
self.completed_tests = []
def _test_line(self, test_name, suffix):
- return '[%d/%d] %s%s' % (self.num_completed, self.num_tests, test_name, suffix)
+ format_string = '[%d/%d] %s%s'
+ status_line = format_string % (self.num_started, self.num_tests, test_name, suffix)
+ if len(status_line) > self.meter.number_of_columns():
+ overflow_columns = len(status_line) - self.meter.number_of_columns()
+ ellipsis = '...'
+ if len(test_name) < overflow_columns + len(ellipsis) + 3:
+ # We don't have enough space even if we elide, just show the test method name.
+ test_name = test_name.split('.')[-1]
+ else:
+ new_length = len(test_name) - overflow_columns - len(ellipsis)
+ prefix = int(new_length / 2)
+ test_name = test_name[:prefix] + ellipsis + test_name[-(new_length - prefix):]
+ return format_string % (self.num_started, self.num_tests, test_name, suffix)
def print_result(self, run_time):
write = self.meter.writeln
- write('Ran %d test%s in %.3fs' % (self.num_completed, self.num_completed != 1 and "s" or "", run_time))
+ write('Ran %d test%s in %.3fs' % (self.num_started, self.num_started != 1 and "s" or "", run_time))
if self.num_failures or self.num_errors:
write('FAILED (failures=%d, errors=%d)\n' % (self.num_failures, self.num_errors))
else:
diff --git a/Tools/Scripts/webkitpy/test/runner_unittest.py b/Tools/Scripts/webkitpy/test/runner_unittest.py
index e5be1921c..46a9507fd 100644
--- a/Tools/Scripts/webkitpy/test/runner_unittest.py
+++ b/Tools/Scripts/webkitpy/test/runner_unittest.py
@@ -23,7 +23,7 @@
import logging
import re
import StringIO
-import unittest
+import unittest2 as unittest
from webkitpy.tool.mocktool import MockOptions
from webkitpy.test.printer import Printer
@@ -95,7 +95,3 @@ class RunnerTest(unittest.TestCase):
self.assertEqual(runner.tests_run, 3)
self.assertEqual(len(runner.failures), 1)
self.assertEqual(len(runner.errors), 1)
-
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/Tools/Scripts/webkitpy/test/skip_unittest.py b/Tools/Scripts/webkitpy/test/skip_unittest.py
index f61a1bb47..bfcb6a67c 100644
--- a/Tools/Scripts/webkitpy/test/skip_unittest.py
+++ b/Tools/Scripts/webkitpy/test/skip_unittest.py
@@ -22,7 +22,7 @@
import StringIO
import logging
-import unittest
+import unittest2 as unittest
from webkitpy.test.skip import skip_if
@@ -72,6 +72,3 @@ class SkipTest(unittest.TestCase):
klass(self.foo_callback).test_foo()
self.assertEqual(self.log_stream.getvalue(), 'Skipping webkitpy.test.skip_unittest.TestSkipFixture: Should see this message.\n')
self.assertFalse(self.foo_was_called)
-
-if __name__ == '__main__':
- unittest.main()