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)