from distutils.command.clean import clean as distutils_clean
from distutils.command.sdist import sdist as distutils_sdist
+
class clean(distutils_clean):
def run(self):
# In addition to what the normal clean run does, remove pyc
# and pyo and backup files from the source tree.
distutils_clean.run(self)
+
def should_remove(filename):
- if (filename.lower()[-4:] in [".pyc", ".pyo"] or
- filename.endswith("~") or
- (filename.startswith("#") and filename.endswith("#"))):
+ if (filename.lower()[-4:] in [".pyc", ".pyo"]
+ or filename.endswith("~")
+ or (filename.startswith("#")
+ and filename.endswith("#"))):
return True
else:
return False
for pathname, dirs, files in os.walk(os.path.dirname(__file__)):
for filename in filter(should_remove, files):
- try: os.unlink(os.path.join(pathname, filename))
+ try:
+ os.unlink(os.path.join(pathname, filename))
except EnvironmentError as err:
print(str(err))
- try: os.unlink("MANIFEST")
- except OSError: pass
+ try:
+ os.unlink("MANIFEST")
+ except OSError:
+ pass
for base in ["coverage", "build", "dist"]:
- path = os.path.join(os.path.dirname(__file__), base)
- if os.path.isdir(path):
- shutil.rmtree(path)
+ path = os.path.join(os.path.dirname(__file__), base)
+ if os.path.isdir(path):
+ shutil.rmtree(path)
+
class coverage_cmd(Command):
description = "generate test coverage data"
def initialize_options(self):
pass
-
+
def finalize_options(self):
pass
tracer = trace.Trace(
count=True, trace=False,
ignoredirs=[sys.prefix, sys.exec_prefix])
+
def run_tests():
import bulletml
try:
except NameError:
pass
self.run_command("test")
+
tracer.runfunc(run_tests)
results = tracer.results()
coverage = os.path.join(os.path.dirname(__file__), "coverage")
results.write_results(show_missing=True, coverdir=coverage)
map(os.unlink, glob.glob(os.path.join(coverage, "[!b]*.cover")))
- try: os.unlink(os.path.join(coverage, "..setup.cover"))
- except OSError: pass
+ try:
+ os.unlink(os.path.join(coverage, "..setup.cover"))
+ except OSError:
+ pass
total_lines = 0
bad_lines = 0
print("Coverage data written to %s (%d/%d, %0.2f%%)" % (
coverage, total_lines - bad_lines, total_lines, pct))
+
class sdist(distutils_sdist):
def run(self):
self.run_command("test")
distutils_sdist.run(self)
+
class test_cmd(Command):
description = "run automated tests"
user_options = [
("to-run=", None, "list of tests to run (default all)"),
- ]
+ ]
def initialize_options(self):
self.to_run = []