Blob Blame History Raw
From a317efbb9e28f72881b81a9bf782be30f2cc7fbb Mon Sep 17 00:00:00 2001
From: William Woodall <william@osrfoundation.org>
Date: Thu, 28 Jul 2016 15:17:00 -0700
Subject: [PATCH] call flake8's command line for more portability between
 flake8 versions (#26)

---
 tests/test_code_format.py | 25 ++++++++++++-------------
 1 file changed, 12 insertions(+), 13 deletions(-)

diff --git a/tests/test_code_format.py b/tests/test_code_format.py
index 06d7c82..31b0a89 100644
--- a/tests/test_code_format.py
+++ b/tests/test_code_format.py
@@ -1,19 +1,21 @@
-import flake8.engine
 import os
+import sys
+import subprocess
 
 
 def test_flake8():
     """Test source code for pyFlakes and PEP8 conformance"""
-    flake8style = flake8.engine.StyleGuide()
-    report = flake8style.options.report
-    report.start()
     this_dir = os.path.dirname(os.path.abspath(__file__))
-    try:
-        input_dir = flake8style.input_dir
-    except AttributeError:
-        input_dir = flake8style._styleguide.input_dir
-    input_dir(os.path.join(this_dir, '..', 'osrf_pycommon'))
-    report.stop()
-    assert report.total_errors == 0, \
-        ("Found '{0}' code style errors (and warnings)."
-         .format(report.total_errors))
+    source_dir = os.path.join(this_dir, '..', 'osrf_pycommon')
+    if sys.version_info >= (3,0):
+        cmd = ['python3-flake8', source_dir, '--count']
+    else:
+        cmd = ['flake8', source_dir, '--count']
+    if sys.version_info < (3,4):
+        # Unless Python3, skip files with new syntax, like `yield from`
+        cmd.append('--exclude=../*async_execute_process_asyncio/impl.py')
+    p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+    stdout, stderr = p.communicate()
+    print(stdout)
+    assert p.returncode == 0, \
+        "Command '{0}' returned non-zero exit code '{1}'".format(' '.join(cmd), p.returncode)