summaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* audit + string joiningAnthony Sottile2021-03-301-1/+1
|
* clean up version_info referencesAnthony Sottile2021-03-301-1/+0
|
* automatic: pyupgrade --py36-plusAnthony Sottile2021-03-3024-40/+44
|
* introduce pyupgrade, run it in python2-compatible modeAnthony Sottile2021-03-291-1/+1
|
* remove flake8 setuptools commandAnthony Sottile2021-03-291-33/+0
|
* remove vcs integrationAnthony Sottile2021-03-291-29/+0
|
* upgrade pycodestyle to 2.7.0Anthony Sottile2021-03-142-2/+2
|
* ensure crlf line endings of stdin are handled properlyAnthony Sottile2021-01-071-0/+10
|
* fix test which was not testing anythingAnthony Sottile2021-01-071-3/+5
|
* Merge branch 'no_show_source' into 'master'Anthony Sottile2020-10-021-0/+25
|\ | | | | | | | | Add option to disable show-source for calling tools See merge request pycqa/flake8!441
| * Add option to disable show-source for calling toolsAnthony Sottile2020-06-191-0/+25
| |
* | fix a few small spelling issuesAnthony Sottile2020-09-202-3/+3
| | | | | | | | found via `pre-commit try-repo https://github.com/codespell-project/codespell --all-files`
* | fix skipping of physical checks when file does not end in newlineAnthony Sottile2020-09-121-0/+31
| |
* | Support linting when missing sem_open syscallNekokatt2020-08-271-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Platforms such as Termux on Android, and other exotic devices do not provide a sem_open implementation on the OS level. This is problematic, as the error resulting from this occurs when calling multiprocessing.Pool, throwing an unhandled ImportError. The issue itself is outlined in https://bugs.python.org/issue3770. This change allows devices missing this system call to respond to the missing feature by falling back to synchronous execution, which appears to be the default behaviour if the multiprocessing module is not found. This change also adds a potential fix for developers working on platforms where multiprocessing itself cannot be imported. The existing code would set the name referencing the import to None, but there are no clear checks to ensure this does not result in an AttributeError later when multiprocessing.Pool has accession attempts. Existing users should see no difference in functionality, as they will assumably already be able to use flake8, so will not be missing this sem_open call. Users on devices without the sem_open call will now be able to use flake8 where they would be unable to before due to unhandled ImportErrors.
* | Tests: Add a value to mocked entry_points, so pytest 6+ can log itMiro HronĨok2020-07-201-0/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | Pytest 6.0.0rc1 attempts to log a repr of our mocked entry_point, but it fails, becasue the repr metohod expects a valua attribute: Reproducer: $ tox -e py38 --force-dep 'pytest==6.0.0rc1' ... Traceback (most recent call last): File "/usr/lib/python3.8/logging/__init__.py", line 1081, in emit msg = self.format(record) File "/usr/lib/python3.8/logging/__init__.py", line 925, in format return fmt.format(record) File "/usr/lib/python3.8/logging/__init__.py", line 664, in format record.message = record.getMessage() File "/usr/lib/python3.8/logging/__init__.py", line 369, in getMessage msg = msg % self.args File "/tmp/flake8/.tox/py38/lib/python3.8/site-packages/flake8/plugins/manager.py", line 44, in __repr__ self.name, self.entry_point.value File "/tmp/flake8/.tox/py38/lib/python3.8/site-packages/mock/mock.py", line 632, in __getattr__ raise AttributeError("Mock object has no attribute %r" % name) AttributeError: Mock object has no attribute 'value'
* fix JobsArgument --help outputRuairidh MacLeod2020-06-051-0/+6
|
* processor: Catch SyntaxError also when generating tokens for a fileEric N. Vander Weele2020-06-021-0/+11
| | | | | `tokenize.generate_tokens()` can also raise `SyntaxError` in addition to `tokenize.TokenError`.
* treat --extend-exclude as a file listAnthony Sottile2020-05-211-1/+1
|
* config: Normalize paths in CLI-specified config relative to config dirEric N. Vander Weele2020-05-181-6/+7
| | | | | | | | Paths specified in configuration files should be relative to the directory where the configuration file resides. Formerly, paths were normalized relative to the current working directory where `flake8` was invoked. The former behavior was not expected, especially for directory structures with subprojects each having their own configuration.
* Parse --jobs as a custom argparse type. Fixes #567Ruairidh MacLeod2020-05-132-1/+32
|
* options: Forward `--output-file` to be reparsed for BaseFormatterEric N. Vander Weele2020-05-111-0/+14
| | | | | | | | | This fixes a regression introduced in daca2c8 and b14d47b. The --output-file` option was consumed by the preliminary option parser. However, the `BaseFormatter` class needs the option for setting the output filename. This special cases this option to ensure it gets re-parsed and respected when specified on the CLI.
* Merge branch 'exclude_dotfiles' into 'master'Anthony Sottile2020-05-071-0/+8
|\ | | | | | | | | | | | | Fix using --exclude=.* to not match `.` and `..` Closes #632 See merge request pycqa/flake8!424
| * Fix using --exclude=.* to not match `.` and `..`Anthony Sottile2020-05-071-0/+8
| |
* | Fix logical checks which report position out of boundsAnthony Sottile2020-05-071-0/+22
|/
* Fix type='str' optparse optionsAnthony Sottile2020-04-241-0/+2
|
* instrument coverage on tests and require 100% coverage thereAnthony Sottile2020-03-237-16/+13
|
* Allow noqa to apply to lines due to continuationnoqa_continuationAnthony Sottile2020-03-173-10/+68
|
* config: Determine path to user configuration immediatelyEric N. Vander Weele2020-01-202-21/+6
| | | | | | | | | | | | | | | Preemptively determine the path of the user configuration file during the construction of the `ConfigFileFinder` object. The user configuration path will always be the same, regardless of when it gets obtained by a run of `flake8`. This isolates the logic of determining the user configuration path into a static helper method to be called to set the `.user_config_file` attribute. The helper method leverages `utils.is_windows()`, instead of reimplementing the check, and decomposes clearly the directory name and the base name to construct the path with a single `return` path. Additionally, this avoids reconstructing the path on demand of obtaining the user configuration file path.
* config: Remove checks for configs being previously parsedEric N. Vander Weele2020-01-201-24/+0
| | | | | | Remove the checks to see if a configuration file has already been seen and parsed. These checks aren't necessary because the entire run of `flake8` calls these methods *only* once per configuration provided.
* Merge branch 'file_not_found_error' into 'master'Anthony Sottile2020-01-162-1/+10
|\ | | | | | | | | | | | | Ensure that a not-found file produces an error Closes #600 See merge request pycqa/flake8!404
| * Ensure that a not-found file produces an errorAnthony Sottile2020-01-162-1/+10
| | | | | | | | - this restores a flake8 2.x behaviour that was lost in the refactor
* | split lines the same when read from stdinAnthony Sottile2020-01-162-13/+27
|/
* config: Make ConfigFileFinder 'extra_config_files' parameter optionalEric N. Vander Weele2020-01-125-19/+13
| | | | | This simplifies the number of required parameters needed for the `ConfigFileFinder` object throughout the various tests.
* Remove unused 'cli_config' parameterEric N. Vander Weele2020-01-124-6/+6
| | | | | | Now that `ConfigFileFinder.config_file` attribute is used everywhere and is constructed from the `--config` CLI option, the now unused `cli_config` parameters can be safely removed.
* config: Switch code paths to use 'ConfigFileFinder.config_file'Eric N. Vander Weele2020-01-123-5/+12
| | | | | | | | Now that the `ConfigFileFinder` has the `.config_file` attribute, switch the relevant code paths to utilize this public attribute. Tests have been updated to either construct `ConfigFileFinder` or mock the object appropriately.
* config: Add 'config_file' parameter to ConfigFileFinderEric N. Vander Weele2020-01-121-0/+17
| | | | | | | | | The `--config` flag is passed into `MergedConfigParser.parse()` and the module-level function `config.get_local_plugins()`. Since both of these places utilize the `ConfigFileFinder` object and the configuration file override pertains to how configuration behaves, this incremental change directly associates the `ConfigFileFinder` and the configuration file override.
* config: Remove ConfigFileFinder 'parent' and 'tail' attributesEric N. Vander Weele2020-01-121-3/+4
| | | | | | | These attributes are only needed within the `.generate_possible_local_files()` method. Therefore, just obtain the current working directory at the beginning of the method and reduce the lifetime state of the `ConfigFileFinder` object.
* tests: Ensure patched `os.getcwd()` is an absolute pathEric N. Vander Weele2020-01-121-3/+3
| | | | | | | | | | | `os.getcwd()` returns an absolute path; thus, the patched paths should be absolute as well. This is an incremental change towards removing the `ConfigFileFinder` attributes `.parent` and `.tail` to be localized to `.generate_possible_local_files()`. Without this, the tests fail when moving the patching because `os.path.abspath()` calls `os.getcwd()`, expecting `os.getcwd()` to be an absolute path.
* Remove unused 'isolated' parameterEric N. Vander Weele2020-01-074-6/+8
| | | | | | Now that `ConfigFileFinder.ignore_config_files` attribute is used everywhere and is constructed from the `--isolated` CLI option, the now unused `isolated` parameters can be safely removed.
* config: Switch code paths to use 'ConfigFileFinder.ignore_config_files'Eric N. Vander Weele2020-01-073-1/+4
| | | | | | | | | Now that the `ConfigFileFinder` has the `.ignore_config_files` attribute, switch the relevant code paths to utilize this public attribute. Tests have been updated to either construct `ConfigFileFinder` or mock the object appropriately.
* config: Add 'ignore_config_files' parameter to ConfigFileFinderEric N. Vander Weele2020-01-071-0/+20
| | | | | | | | | The `--isolated` flag is passed into `MergedConfigParser.parse()` and the module-level function `config.get_local_plugins()`. Since both of these places utilize the `ConfigFileFinder` object and isolation pertains to how the `ConfigFileFinder` should behave with respect to isolation, this incremental change more directly associates the `ConfigFileFinder` and configuration file isolate.
* config: Change ConfigFileFinder._read_config() to accept variadic argsEric N. Vander Weele2020-01-062-3/+3
| | | | | | | | | | | | | This simplifies `._read_config()` by removing a conditional branch in the situation where it is called with one file to process. Now the contract accepts any number of arguments of the same type. Where callers invoke `._read_config()` with a `Sequence`, the call site has been changed to unpack arguments (i.e., `*`). The tests in `test_merged_config_parser.py` needed to return a string for the user configuration path instead of an empty list since `ConfigFileFinder.user_config_file()` returns a string.
* tests: Add integration tests for `--config` and `--isolated`Eric N. Vander Weele2019-12-291-0/+28
| | | | | Prevent regressions by adding integration tests to ensure that these options are passed through to `aggregator.aggregate_options()`.
* aggregator: Forward --config and --isolated options during aggregationEric N. Vander Weele2019-12-292-7/+5
| | | | | | | | | | | | | | This fixes a regression introduced in !346 to ensure that `--config` and `--isolated` are recognized in `aggregate_options()`. The regression manifested because `aggregate_options()` was relying on re-parsing `argv` to obtain the option values. However, !346 changed the preliminary parsing logic to only parse and "eat" what is necessary and forward along the options needed before all the configuration was loaded. This code path was overlooked because the tests in `test_aggregator()` were passing but the call from the `Application` object would never have these options in the remaining `argv` list to be passed long.
* application: Inline creation of config.ConfigFileFinderEric N. Vander Weele2019-12-031-6/+7
| | | | | | Simplify the initialization code path by invoking `config.ConfigFileFinder` directly instead of the extra hop by calling the static class-level `Application.make_config_finder()` method.
* Merge branch 'fix/disable_noqa' into 'master'Anthony Sottile2019-12-032-0/+11
|\ | | | | | | | | | | | | `--disable-noqa` does not override `# flake8: noqa` Closes #590 See merge request pycqa/flake8!380
| * Remove redundant sample dataIsac Yoo2019-11-131-9/+2
| |
| * Fix codesByeonghoon Yoo2019-11-061-20/+30
| |
| * Add unit test for dd411e95Byeonghoon Yoo2019-11-052-13/+21
| |
* | Merge branch 'fix/exit-zero' into 'master'Anthony Sottile2019-12-021-17/+4
|\ \ | | | | | | | | | | | | Fix --exit-zero when --diff is empty See merge request pycqa/flake8!391