From 1e5907260022fcafb9bc9dc5356f645613a69bf6 Mon Sep 17 00:00:00 2001 From: Ian Cordasco Date: Thu, 4 Jul 2013 13:47:01 -0400 Subject: [PATCH] Start new tests run_tests will collect and run the tests on python 2.6+ (need to test 2.5) without nose. --- flake8/tests/test_engine.py | 8 ++++++++ run_tests.py | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 flake8/tests/test_engine.py create mode 100755 run_tests.py diff --git a/flake8/tests/test_engine.py b/flake8/tests/test_engine.py new file mode 100644 index 0000000..6859ff0 --- /dev/null +++ b/flake8/tests/test_engine.py @@ -0,0 +1,8 @@ +from flake8 import engine +import unittest + + +class TestEngine(unittest.TestCase): + def test_get_style_guide(self): + g = engine.get_style_guide() + self.assertTrue(isinstance(g, engine.StyleGuide)) diff --git a/run_tests.py b/run_tests.py new file mode 100755 index 0000000..09d6884 --- /dev/null +++ b/run_tests.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python + +import unittest +import os +import re +import sys +sys.path.insert(0, '.') + +TEST_DIR = 'flake8.tests' + + +def collect_tests(): + # list files in directory tests/ + names = os.listdir(TEST_DIR.replace('.', '/')) + regex = re.compile("(?!_+)\w+\.py$") + join = '.'.join + # Make a list of the names like 'tests.test_name' + names = [join([TEST_DIR, f[:-3]]) for f in names if regex.match(f)] + modules = [__import__(name, fromlist=[TEST_DIR]) for name in names] + load_tests = unittest.defaultTestLoader.loadTestsFromModule + suites = [load_tests(m) for m in modules] + suite = suites.pop() + for s in suites: + suite.addTests(s) + return suite + +if __name__ == "__main__": + suite = collect_tests() + res = unittest.TextTestRunner(verbosity=1).run(suite) + + # If it was successful, we don't want to exit with code 1 + raise SystemExit(not res.wasSuccessful())