summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorIan Cordasco <graffatcolmingov@gmail.com>2016-01-24 22:14:36 -0600
committerIan Cordasco <graffatcolmingov@gmail.com>2016-01-24 22:14:36 -0600
commit17a7826dc7e878a0da3fb8b4853ea80c9967ba24 (patch)
tree7feb9049d0ccdc99fe1219e4275fb4959caa9849 /tests
parent2cba89c56891d3270c8c36e4236d57a468ccbab2 (diff)
downloadflake8-17a7826dc7e878a0da3fb8b4853ea80c9967ba24.tar.gz
Add integration tests for aggregate_options
Diffstat (limited to 'tests')
-rw-r--r--tests/integration/test_aggregator.py48
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/integration/test_aggregator.py b/tests/integration/test_aggregator.py
new file mode 100644
index 0000000..3f64fa3
--- /dev/null
+++ b/tests/integration/test_aggregator.py
@@ -0,0 +1,48 @@
+"""Test aggregation of config files and command-line options."""
+import os
+
+import pytest
+
+from flake8.main import cli
+from flake8.options import aggregator
+from flake8.options import manager
+
+CLI_SPECIFIED_CONFIG = 'tests/fixtures/config_files/cli-specified.ini'
+
+
+@pytest.fixture
+def optmanager():
+ """Create a new OptionManager."""
+ option_manager = manager.OptionManager(
+ prog='flake8',
+ version='3.0.0',
+ )
+ cli.register_default_options(option_manager)
+ return option_manager
+
+
+def test_aggregate_options_with_config(optmanager):
+ """Verify we aggregate options and config values appropriately."""
+ arguments = ['flake8', '--config', CLI_SPECIFIED_CONFIG, '--select',
+ 'E11,E34,E402,W,F', '--exclude', 'tests/*']
+ options, args = aggregator.aggregate_options(optmanager, arguments)
+
+ assert options.config == CLI_SPECIFIED_CONFIG
+ assert options.select == ['E11', 'E34', 'E402', 'W', 'F']
+ assert options.ignore == ['E123', 'W234', 'E111']
+ assert options.exclude == [os.path.abspath('tests/*')]
+
+
+def test_aggregate_options_when_isolated(optmanager):
+ """Verify we aggregate options and config values appropriately."""
+ arguments = ['flake8', '--isolated', '--select', 'E11,E34,E402,W,F',
+ '--exclude', 'tests/*']
+ optmanager.extend_default_ignore(['E8'])
+ options, args = aggregator.aggregate_options(optmanager, arguments)
+
+ assert options.isolated is True
+ assert options.select == ['E11', 'E34', 'E402', 'W', 'F']
+ assert sorted(options.ignore) == [
+ 'E121', 'E123', 'E126', 'E226', 'E24', 'E704', 'E8',
+ ]
+ assert options.exclude == [os.path.abspath('tests/*')]