On Tue, Nov 18, 2008 at 3:14 PM, Ondrej Certik <[EMAIL PROTECTED]> wrote: > Previously, the examples directory was checked for code style. However, when > the user installs sympy using "./setup.py install", the examples are not > installed (at least not in the parent directory of "sympy"), so the result is > that sympy.test() fails. > > Now we only check the examples dir if it's present. > --- > sympy/utilities/tests/test_code_quality.py | 45 ++++++++++++++++----------- > 1 files changed, 27 insertions(+), 18 deletions(-) > > diff --git a/sympy/utilities/tests/test_code_quality.py > b/sympy/utilities/tests/test_code_quality.py > index 66accf7..b2f2e91 100644 > --- a/sympy/utilities/tests/test_code_quality.py > +++ b/sympy/utilities/tests/test_code_quality.py > @@ -59,11 +59,27 @@ def test_no_trailing_whitespace_and_no_tabs(): > path = split(__file__)[0] > path = path + sep + pardir + sep + pardir # go to sympy/ > sympy_path = abspath(path) > + assert exists(sympy_path) > + check_directory_tree(sympy_path) > examples_path = abspath(join(path + sep + pardir, "examples")) > - paths = (sympy_path, examples_path) > - for p in paths: > - assert exists(p) > - check_directory_tree(p) > + # Remember that this test can be executed when examples are not installed > + # (e.g. after "./setup.py install"), so don't raise an error if the > + # examples are not found: > + if exists(examples_path): > + check_directory_tree(examples_path) > + > +def check_directory_tree_imports(p, exclude): > + for root, dirs, files in walk(p): > + for fname in glob(join(root, "*.py")): > + if filter(lambda ex: ex in fname, exclude): > + continue > + file = open(fname, "r") > + try: > + for idx, line in enumerate(file): > + if re.match("^\s*from.*import.*\*",line): > + assert False, message_implicit % (fname, idx+1) > + finally: > + file.close() > > def test_implicit_imports(): > """ > @@ -73,7 +89,6 @@ def test_implicit_imports(): > path = path + sep + pardir + sep + pardir # go to sympy/ > sympy_path = abspath(path) > examples_path = abspath(join(path + sep + pardir, "examples")) > - paths = (sympy_path, examples_path) > exclude = set([ > "%(sep)sthirdparty%(sep)s" % sepd, > "%(sep)s__init__.py" % sepd, > @@ -81,16 +96,10 @@ def test_implicit_imports(): > "%(sep)smpmath%(sep)s" % sepd, > "%(sep)splotting%(sep)s" % sepd, > ]) > - for p in paths: > - assert exists(p) > - for root, dirs, files in walk(p): > - for fname in glob(join(root, "*.py")): > - if filter(lambda ex: ex in fname, exclude): > - continue > - file = open(fname, "r") > - try: > - for idx, line in enumerate(file): > - if re.match("^\s*from.*import.*\*",line): > - assert False, message_implicit % (fname, idx+1) > - finally: > - file.close() > + assert exists(sympy_path) > + check_directory_tree_imports(sympy_path, exclude) > + # Remember that this test can be executed when examples are not installed > + # (e.g. after "./setup.py install"), so don't raise an error if the > + # examples are not found: > + if exists(examples_path): > + check_directory_tree_imports(examples_path, exclude)
Are there any objections? I want to push this in asap and release beta2. Ondrej --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sympy-patches" group. To post to this group, send email to sympy-patches@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sympy-patches?hl=en -~----------~----~----~----~------~----~------~--~---