def run(self):
import unittest
import time
# Ensure that build directory is on sys.path (py3k)
import sys
self.cleanup_environment()
self.add_project_to_sys_path()
import PyObjCTools.TestSupport as modo
from pkg_resources import EntryPoint
loader_ep = EntryPoint.parse("x="+self.test_loader)
loader_class = loader_ep.load(require=False)
try:
meta = self.distribution.metadata
name = meta.get_name()
test_pkg = name + "_tests"
time_before = time.time()
suite = loader_class().loadTestsFromName(self.distribution.test_suite)
runner = unittest.TextTestRunner(verbosity=self.verbosity)
result = runner.run(suite)
time_after = time.time()
# Print out summary. This is a structured format that
# should make it easy to use this information in scripts.
summary = dict(
count=result.testsRun,
fails=len(result.failures),
errors=len(result.errors),
xfails=len(getattr(result, 'expectedFailures', [])),
xpass=len(getattr(result, 'unexpectedSuccesses', [])),
skip=len(getattr(result, 'skipped', [])),
testSeconds=(time_after - time_before),
)
print("SUMMARY: %s"%(summary,))
if not result.wasSuccessful():
raise DistutilsError("some tests failed")
finally:
self.remove_from_sys_path()
评论列表
文章目录