diff --git a/Makefile b/Makefile index 702bda91..e9abc768 100644 --- a/Makefile +++ b/Makefile @@ -28,7 +28,7 @@ tests: flake8 --exclude=__init__.py,memory_profiler.py pycallgraph flake8 --ignore=F403 test - flake8 examples + flake8 examples --exclude=all.py doc: cd docs/examples && ./generate.py diff --git a/examples/graphviz/example_with_submodules/example_with_submodules.py b/examples/graphviz/example_with_submodules/example_with_submodules.py index 2fb6d042..0324c4bd 100644 --- a/examples/graphviz/example_with_submodules/example_with_submodules.py +++ b/examples/graphviz/example_with_submodules/example_with_submodules.py @@ -9,5 +9,6 @@ def main(): s2 = SubmoduleTwo() s2.report() + if __name__ == "__main__": main() diff --git a/examples/graphviz/recursive.py b/examples/graphviz/recursive.py index d61a1b15..4043878d 100755 --- a/examples/graphviz/recursive.py +++ b/examples/graphviz/recursive.py @@ -20,5 +20,6 @@ def main(): for a in xrange(1, 10): factorial(a) + if __name__ == '__main__': main() diff --git a/examples/graphviz/regexp.py b/examples/graphviz/regexp.py old mode 100755 new mode 100644 index 63bb2c23..4054668b --- a/examples/graphviz/regexp.py +++ b/examples/graphviz/regexp.py @@ -15,11 +15,11 @@ def main(): config = Config(include_stdlib=True) with PyCallGraph(output=graphviz, config=config): - reo = compile() + reo = compile_regex() match(reo) -def compile(): +def compile_regex(): return re.compile('^[abetors]*$') @@ -41,5 +41,6 @@ def words(): 'abrasives', ] + if __name__ == '__main__': main() diff --git a/pycallgraph/output/output.py b/pycallgraph/output/output.py index 662d5630..f6f3efa5 100644 --- a/pycallgraph/output/output.py +++ b/pycallgraph/output/output.py @@ -116,7 +116,7 @@ def debug(self, text): self.processor.config.log_debug(text) @classmethod - def add_output_file(cls, subparser, defaults, help): + def add_output_file(cls, subparser, defaults, help): # noqa: A002 subparser.add_argument( '-o', '--output-file', type=str, default=defaults.output_file, help=help, diff --git a/pycallgraph/pycallgraph.py b/pycallgraph/pycallgraph.py index 6af54287..73e018bb 100644 --- a/pycallgraph/pycallgraph.py +++ b/pycallgraph/pycallgraph.py @@ -33,7 +33,7 @@ def __init__(self, output=None, config=None): def __enter__(self): self.start() - def __exit__(self, type, value, traceback): + def __exit__(self, type, value, traceback): # noqa: A002 self.done() def get_tracer_class(self): diff --git a/pycallgraph/tracer.py b/pycallgraph/tracer.py index ffcab158..f83cf424 100644 --- a/pycallgraph/tracer.py +++ b/pycallgraph/tracer.py @@ -372,4 +372,5 @@ def wrapper(*rest): return wrapper + inspect.getmodule = simple_memoize(inspect.getmodule) diff --git a/setup.py b/setup.py index a2a23800..4641eb38 100755 --- a/setup.py +++ b/setup.py @@ -1,13 +1,13 @@ #!/usr/bin/env python -from os import path -from setuptools import setup import sys +from setuptools import setup from setuptools.command.test import test as TestCommand import pycallgraph + # Only install the man page if the correct directory exists # XXX: Commented because easy_install doesn't like it #man_path = '/usr/share/man/man1/' @@ -15,8 +15,8 @@ # data_files=[['/usr/share/man/man1/', ['man/pycallgraph.1']]] #else: # data_files=None +data_files = None -data_files=None class PyTest(TestCommand): @@ -30,6 +30,7 @@ def run_tests(self): errno = pytest.main(self.test_args) sys.exit(errno) + setup( name='pycallgraph', version=pycallgraph.__version__, @@ -45,15 +46,15 @@ def run_tests(self): use_2to3=True, # TODO: Update download_url - download_url = - 'http://pycallgraph.slowchop.com/files/download/pycallgraph-%s.tar.gz' % \ - pycallgraph.__version__, + download_url= + 'http://pycallgraph.slowchop.com/files/download/pycallgraph-%s.tar.gz' % + pycallgraph.__version__, # Testing tests_require=['pytest'], - cmdclass = {'test': PyTest}, + cmdclass={'test': PyTest}, - classifiers = [ + classifiers=[ 'Development Status :: 4 - Beta', 'Intended Audience :: Developers', 'License :: OSI Approved :: GNU General Public License (GPL)', @@ -68,4 +69,3 @@ def run_tests(self): 'Topic :: Software Development :: Debuggers', ], ) - diff --git a/test/conftest.py b/test/conftest.py index b54e2531..b8b7a0f5 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -1,6 +1,7 @@ +from pycallgraph import PyCallGraph, Config import tempfile -from helpers import * +import pytest @pytest.fixture(scope='module') diff --git a/test/helpers.py b/test/helpers.py index 4ea4abbb..0bbee370 100644 --- a/test/helpers.py +++ b/test/helpers.py @@ -1,13 +1,6 @@ # flake8: noqa import time -import pytest - -import fix_path -from pycallgraph import * -from pycallgraph.tracer import * -from pycallgraph.output import * - def wait_100ms(): time.sleep(0.1) diff --git a/test/test_color.py b/test/test_color.py index 0d33fc51..535a577a 100644 --- a/test/test_color.py +++ b/test/test_color.py @@ -1,4 +1,6 @@ -from helpers import * +from pycallgraph import ColorException, Color + +import pytest def test_bad_range(): diff --git a/test/test_config.py b/test/test_config.py index 5d5335fd..ce0cbc22 100644 --- a/test/test_config.py +++ b/test/test_config.py @@ -1,4 +1,4 @@ -from helpers import * +from pycallgraph.config import Config def test_init(): diff --git a/test/test_gephi.py b/test/test_gephi.py index 15dd7087..f3f2dfad 100644 --- a/test/test_gephi.py +++ b/test/test_gephi.py @@ -1,5 +1,10 @@ -from helpers import * -from calls import * +from pycallgraph import PyCallGraph +from pycallgraph.output.gephi import GephiOutput +import os + +import pytest + +from calls import one_nop @pytest.fixture diff --git a/test/test_graphviz.py b/test/test_graphviz.py index 35d8d8eb..2669aede 100644 --- a/test/test_graphviz.py +++ b/test/test_graphviz.py @@ -1,5 +1,10 @@ -from helpers import * -from calls import * +from pycallgraph.output.graphviz import GraphvizOutput +from pycallgraph.pycallgraph import PyCallGraph +import os + +import pytest + +from calls import one_nop @pytest.fixture diff --git a/test/test_output.py b/test/test_output.py index 9149e5c8..6b17775b 100644 --- a/test/test_output.py +++ b/test/test_output.py @@ -1,4 +1,5 @@ -from helpers import * +from pycallgraph import Config +from pycallgraph.output import Output def test_set_config(): diff --git a/test/test_pycallgraph.py b/test/test_pycallgraph.py index bdc7dc47..76a2fbae 100644 --- a/test/test_pycallgraph.py +++ b/test/test_pycallgraph.py @@ -1,4 +1,7 @@ -from helpers import * +from pycallgraph.exceptions import PyCallGraphException +from pycallgraph.tracer import AsyncronousTracer, SyncronousTracer + +import pytest def test_start_no_outputs(pycg): diff --git a/test/test_script.py b/test/test_script.py index 0aa90169..fad47e16 100644 --- a/test/test_script.py +++ b/test/test_script.py @@ -1,7 +1,5 @@ import subprocess -from helpers import * - def execute(arguments): command = 'PYTHONPATH=. scripts/pycallgraph ' + arguments diff --git a/test/test_trace_processor.py b/test/test_trace_processor.py index bdf16ccf..7b8a0cf3 100644 --- a/test/test_trace_processor.py +++ b/test/test_trace_processor.py @@ -1,9 +1,11 @@ +from pycallgraph.tracer import TraceProcessor import re import sys -from helpers import * -import calls -from pycallgraph.tracer import TraceProcessor +import pytest + +from pycallgraph import Config +from calls import one_nop, nop @pytest.fixture @@ -20,7 +22,7 @@ def test_empty(trace_processor): def test_nop(trace_processor): sys.settrace(trace_processor.process) - calls.nop() + nop() sys.settrace(None) assert trace_processor.call_dict == { @@ -32,7 +34,7 @@ def test_nop(trace_processor): def test_one_nop(trace_processor): sys.settrace(trace_processor.process) - calls.one_nop() + one_nop() sys.settrace(None) assert trace_processor.call_dict == { @@ -45,7 +47,7 @@ def stdlib_trace(trace_processor, include_stdlib): trace_processor.config = Config(include_stdlib=include_stdlib) sys.settrace(trace_processor.process) re.match("asdf", "asdf") - calls.one_nop() + one_nop() sys.settrace(None) return trace_processor.call_dict diff --git a/test/test_util.py b/test/test_util.py index 084c6f31..bf8cf09e 100644 --- a/test/test_util.py +++ b/test/test_util.py @@ -1,4 +1,4 @@ -from helpers import * +from pycallgraph.util import Util def test_human_readable_biyte():