From a44a09f87a783ddfb15634ed0cf9aba76138f991 Mon Sep 17 00:00:00 2001 From: Ian Stapleton Cordasco Date: Fri, 28 Jul 2017 06:10:12 -0500 Subject: [PATCH] Remediate one wafer thing decision logic bug Previously we were hitting the catch-all return that decided the error was selected. Instead, let's add specific logic since we now know how we would hit that and we actually don't want it to be selected. Closes #354 --- src/flake8/style_guide.py | 3 +++ tests/unit/test_decision_engine.py | 7 +++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/flake8/style_guide.py b/src/flake8/style_guide.py index 91423de..00eb1a5 100644 --- a/src/flake8/style_guide.py +++ b/src/flake8/style_guide.py @@ -263,6 +263,9 @@ class DecisionEngine(object): if (select is None and (extra_select is None or not self.using_default_ignore)): return Decision.Ignored + if ((select is None and not self.using_default_select) and + (ignore is None and self.using_default_ignore)): + return Decision.Ignored return Decision.Selected def make_decision(self, code): diff --git a/tests/unit/test_decision_engine.py b/tests/unit/test_decision_engine.py index db9c270..354dc69 100644 --- a/tests/unit/test_decision_engine.py +++ b/tests/unit/test_decision_engine.py @@ -162,11 +162,10 @@ def test_decision_for(select_list, ignore_list, error_code, expected): style_guide.Decision.Ignored), (defaults.SELECT, ['E126'], [], ['I'], 'I101', style_guide.Decision.Selected), - # This next one should exercise the catch-all return and yes, this is - # a *very* odd combination but users find much odder combinations - # anyway. (['E', 'W'], defaults.IGNORE, ['I'], [], 'I101', - style_guide.Decision.Selected), + style_guide.Decision.Ignored), + # TODO(sigmavirus24) Figure out how to exercise the final catch-all + # return statement ] ) def test_more_specific_decision_for_logic(select, ignore, extend_select,