summaryrefslogtreecommitdiff
path: root/plugins/ext_test
diff options
context:
space:
mode:
authorxNinjaKittyx <xNinjaKittyx@users.noreply.github.com>2020-12-15 17:21:33 -0800
committerxNinjaKittyx <xNinjaKittyx@users.noreply.github.com>2020-12-15 18:20:13 -0800
commit9aa54a5b27468d61337528cb1e1b5b9b11a80978 (patch)
tree567693115cc101efb9254a96d96d80e9f9ccd557 /plugins/ext_test
parent03c65c60b39e369958b056c5c844d36d515c8a63 (diff)
downloadcmd2-git-ci_improvements.tar.gz
Adds pre-commit config to run various lintersci_improvements
This ads black, isort, pyupgrade, and flake8 to pre-commit-config.yaml There are also some small changes to travis.yml and tasks.py to reduce some repeated configurations that should be consolidated into setup.cfg. Most other changes are automated by the linter scripts.
Diffstat (limited to 'plugins/ext_test')
-rw-r--r--plugins/ext_test/cmd2_ext_test/__init__.py4
-rw-r--r--plugins/ext_test/examples/example.py4
-rw-r--r--plugins/ext_test/setup.py16
-rw-r--r--plugins/ext_test/tasks.py14
-rw-r--r--plugins/ext_test/tests/test_ext_test.py6
5 files changed, 20 insertions, 24 deletions
diff --git a/plugins/ext_test/cmd2_ext_test/__init__.py b/plugins/ext_test/cmd2_ext_test/__init__.py
index 21fd000b..2cc38807 100644
--- a/plugins/ext_test/cmd2_ext_test/__init__.py
+++ b/plugins/ext_test/cmd2_ext_test/__init__.py
@@ -19,6 +19,4 @@ except importlib_metadata.PackageNotFoundError: # pragma: no cover
from .cmd2_ext_test import ExternalTestMixin
-__all__ = [
- 'ExternalTestMixin'
-]
+__all__ = ['ExternalTestMixin']
diff --git a/plugins/ext_test/examples/example.py b/plugins/ext_test/examples/example.py
index d7f0c762..7dbb6677 100644
--- a/plugins/ext_test/examples/example.py
+++ b/plugins/ext_test/examples/example.py
@@ -1,13 +1,15 @@
#
# coding=utf-8
# import cmd2
+import cmd2_ext_test
+
import cmd2
import cmd2.py_bridge
-import cmd2_ext_test
class Example(cmd2.Cmd):
"""An class to show how to use a plugin"""
+
def __init__(self, *args, **kwargs):
# gotta have this or neither the plugin or cmd2 will initialize
super().__init__(*args, **kwargs)
diff --git a/plugins/ext_test/setup.py b/plugins/ext_test/setup.py
index 3384527c..4bfe1b79 100644
--- a/plugins/ext_test/setup.py
+++ b/plugins/ext_test/setup.py
@@ -20,23 +20,18 @@ setuptools.setup(
# 'relative_to': __file__,
# 'git_describe_command': 'git describe --dirty --tags --long --match plugin-ext-test*'
# },
-
description='External test plugin for cmd2. Allows for external invocation of commands as if from a cmd2 pyscript',
long_description=long_description,
long_description_content_type='text/markdown',
keywords='cmd2 test plugin',
-
author='Eric Lin',
author_email='anselor@gmail.com',
url='https://github.com/python-cmd2/cmd2/tree/master/plugins/ext_test',
license='MIT',
-
packages=['cmd2_ext_test'],
-
python_requires='>=3.5',
install_requires=['cmd2 >= 0.9.4, <=2'],
setup_requires=['setuptools_scm >= 3.0'],
-
classifiers=[
'Development Status :: 5 - Production/Stable',
'Environment :: Console',
@@ -51,17 +46,10 @@ setuptools.setup(
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
],
-
# dependencies for development and testing
# $ pip install -e .[dev]
extras_require={
- 'test': [
- 'codecov',
- 'coverage',
- 'pytest',
- 'pytest-cov',
- ],
- 'dev': ['setuptools_scm', 'pytest', 'codecov', 'pytest-cov',
- 'pylint', 'invoke', 'wheel', 'twine']
+ 'test': ['codecov', 'coverage', 'pytest', 'pytest-cov',],
+ 'dev': ['setuptools_scm', 'pytest', 'codecov', 'pytest-cov', 'pylint', 'invoke', 'wheel', 'twine'],
},
)
diff --git a/plugins/ext_test/tasks.py b/plugins/ext_test/tasks.py
index f23faa69..757dfe79 100644
--- a/plugins/ext_test/tasks.py
+++ b/plugins/ext_test/tasks.py
@@ -57,7 +57,7 @@ def pytest(context, junit=False, pty=True, append_cov=False):
command_str += ' --cov-append'
if junit:
command_str += ' --junitxml=junit/test-results.xml'
- command_str += ' ' + str((TASK_ROOT/'tests').relative_to(ROOT_PATH))
+ command_str += ' ' + str((TASK_ROOT / 'tests').relative_to(ROOT_PATH))
context.run(command_str, pty=pty)
@@ -71,8 +71,8 @@ def pytest_clean(context):
with context.cd(TASK_ROOT_STR):
dirs = ['.pytest_cache', '.cache', 'htmlcov', '.coverage']
rmrf(dirs)
-
-
+
+
namespace_clean.add_task(pytest_clean, 'pytest')
@@ -140,6 +140,8 @@ namespace_clean.add_task(dist_clean, 'dist')
#
# make a dummy clean task which runs all the tasks in the clean namespace
clean_tasks = list(namespace_clean.tasks.values())
+
+
@invoke.task(pre=list(namespace_clean.tasks.values()), default=True)
def clean_all(context):
"""Run all clean tasks"""
@@ -195,8 +197,10 @@ namespace.add_task(pypi_test)
def flake8(context):
"""Run flake8 linter and tool for style guide enforcement"""
with context.cd(TASK_ROOT_STR):
- context.run("flake8 --ignore=E252,W503 --max-complexity=26 --max-line-length=127 --show-source --statistics "
- "--exclude=.git,__pycache__,.tox,.nox,.eggs,*.egg,.venv,.idea,.pytest_cache,.vscode,build,dist,htmlcov")
+ context.run(
+ "flake8 --ignore=E252,W503 --max-complexity=26 --max-line-length=127 --show-source --statistics "
+ "--exclude=.git,__pycache__,.tox,.nox,.eggs,*.egg,.venv,.idea,.pytest_cache,.vscode,build,dist,htmlcov"
+ )
namespace.add_task(flake8)
diff --git a/plugins/ext_test/tests/test_ext_test.py b/plugins/ext_test/tests/test_ext_test.py
index b1ba1b7d..52441340 100644
--- a/plugins/ext_test/tests/test_ext_test.py
+++ b/plugins/ext_test/tests/test_ext_test.py
@@ -1,9 +1,9 @@
#
# coding=utf-8
+import cmd2_ext_test
import pytest
-import cmd2_ext_test
from cmd2 import CommandResult, cmd2
######
@@ -17,6 +17,7 @@ OUT_MSG = 'this is the something command'
class ExampleApp(cmd2.Cmd):
"""An class to show how to use a plugin"""
+
def __init__(self, *args, **kwargs):
# gotta have this or neither the plugin or cmd2 will initialize
super().__init__(*args, **kwargs)
@@ -28,11 +29,13 @@ class ExampleApp(cmd2.Cmd):
# Define a tester class that brings in the external test mixin
+
class ExampleTester(cmd2_ext_test.ExternalTestMixin, ExampleApp):
def __init__(self, *args, **kwargs):
# gotta have this or neither the plugin or cmd2 will initialize
super().__init__(*args, **kwargs)
+
#
# You can't use a fixture to instantiate your app if you want to use
# to use the capsys fixture to capture the output. cmd2.Cmd sets
@@ -59,6 +62,7 @@ def example_app():
#
#####
+
def test_something(example_app):
# load our fixture
# execute a command