diff options
| author | Ian Stapleton Cordasco <graffatcolmingov@gmail.com> | 2018-04-15 23:33:40 +0000 |
|---|---|---|
| committer | Ian Stapleton Cordasco <graffatcolmingov@gmail.com> | 2018-04-15 23:33:40 +0000 |
| commit | 52210149474a876c06922ae2c296445af5bdb108 (patch) | |
| tree | 525b9a96434c238975bbda01a545c70e066b8e54 | |
| parent | f05c01b3ff79728a7f7a76105f08cf853c8546c3 (diff) | |
| parent | 59218ca3232fe7e9c9fe9a949b8edb6f02b8ec10 (diff) | |
| download | flake8-52210149474a876c06922ae2c296445af5bdb108.tar.gz | |
Merge branch '405-nonexisting-files' into 'master'
Resolve "flake8 does not generate error when given a non-existent file on the command line"
Closes #405
See merge request pycqa/flake8!227
| -rw-r--r-- | src/flake8/checker.py | 4 | ||||
| -rw-r--r-- | tests/unit/test_file_checker.py | 11 | ||||
| -rw-r--r-- | tests/unit/test_file_processor.py | 5 |
3 files changed, 17 insertions, 3 deletions
diff --git a/src/flake8/checker.py b/src/flake8/checker.py index 97c5ea1..b32fd3e 100644 --- a/src/flake8/checker.py +++ b/src/flake8/checker.py @@ -210,7 +210,6 @@ class Manager(object): filename, filename_patterns ) is_stdin = filename == '-' - file_exists = os.path.exists(filename) # NOTE(sigmavirus24): If a user explicitly specifies something, # e.g, ``flake8 bin/script`` then we should run Flake8 against # that. Since should_create_file_checker looks to see if the @@ -221,8 +220,7 @@ class Manager(object): explicitly_provided = (not running_from_vcs and not running_from_diff and (argument == filename)) - return ((file_exists and - (explicitly_provided or matches_filename_patterns)) or + return ((explicitly_provided or matches_filename_patterns) or is_stdin) checks = self.checks.to_dictionary() diff --git a/tests/unit/test_file_checker.py b/tests/unit/test_file_checker.py index a0918b4..4ca6154 100644 --- a/tests/unit/test_file_checker.py +++ b/tests/unit/test_file_checker.py @@ -32,3 +32,14 @@ def test_repr(*args): 'example.py', checks={}, options=object(), ) assert repr(file_checker) == 'FileChecker for example.py' + + +def test_nonexistent_file(): + """Verify that checking non-existent file results in an error.""" + c = checker.FileChecker("foobar.py", checks={}, options=object()) + + assert c.processor is None + assert not c.should_process + assert len(c.results) == 1 + error = c.results[0] + assert error[0] == "E902" diff --git a/tests/unit/test_file_processor.py b/tests/unit/test_file_processor.py index 736d21e..a628cfd 100644 --- a/tests/unit/test_file_processor.py +++ b/tests/unit/test_file_processor.py @@ -321,3 +321,8 @@ def test_log_token(token, log_string): def test_count_parentheses(current_count, token_text, expected): """Verify our arithmetic is correct.""" assert processor.count_parentheses(current_count, token_text) == expected + + +def test_nonexistent_file(): + with pytest.raises(IOError): + processor.FileProcessor("foobar.py", options_from()) |
