summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Mueller <30130371+cdce8p@users.noreply.github.com>2021-02-23 19:09:24 +0100
committerGitHub <noreply@github.com>2021-02-23 19:09:24 +0100
commit646be6db86f74b73acd3ccfc1c373efdda438346 (patch)
tree6fa56db12c8e846abae5525a5a8709c9f544c2d7
parent80da123a78ebd542f4feac8cd9a4d28ab9e31180 (diff)
downloadpylint-git-646be6db86f74b73acd3ccfc1c373efdda438346.tar.gz
Fix benchmark test (#4138)
* Don't check directories starting with '.' when using register_plugins * CI - Add benchmark job
-rw-r--r--.github/workflows/ci.yaml49
-rw-r--r--ChangeLog4
-rw-r--r--pylint/utils/utils.py6
3 files changed, 58 insertions, 1 deletions
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 4929ce467..d0b13c259 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -319,6 +319,55 @@ jobs:
. venv/bin/activate
coveralls --rcfile=${{ env.COVERAGERC_FILE }} --service=github
+ benchmark-linux:
+ name: Run benchmark tests Python ${{ matrix.python-version }} (Linux)
+ runs-on: ubuntu-latest
+ needs: prepare-tests-linux
+ strategy:
+ fail-fast: false
+ matrix:
+ python-version: [3.8, 3.9]
+ steps:
+ - name: Check out code from GitHub
+ uses: actions/checkout@v2.3.4
+ - name: Set up Python ${{ matrix.python-version }}
+ id: python
+ uses: actions/setup-python@v2.2.1
+ with:
+ python-version: ${{ matrix.python-version }}
+ - name: Restore Python virtual environment
+ id: cache-venv
+ uses: actions/cache@v2.1.4
+ with:
+ path: venv
+ key: ${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
+ needs.prepare-tests-linux.outputs.python-key }}
+ - name: Fail job if Python cache restore failed
+ if: steps.cache-venv.outputs.cache-hit != 'true'
+ run: |
+ echo "Failed to restore Python venv from cache"
+ exit 1
+ - name: Run pytest
+ run: |
+ . venv/bin/activate
+ pip install pygal
+ pip install -e .
+ pytest --exitfirst \
+ --benchmark-only \
+ --benchmark-autosave \
+ --benchmark-save-data \
+ --benchmark-group-by="group"
+ - name: Create partial artifact name suffix
+ id: artifact-name-suffix
+ run: >-
+ echo "::set-output name=datetime::"$(date "+%Y%m%d_%H%M")
+ - name: Upload benchmark artifact
+ uses: actions/upload-artifact@v2.2.2
+ with:
+ name: benchmark-${{ runner.os }}-${{ matrix.python-version }}_${{
+ steps.artifact-name-suffix.outputs.datetime }}
+ path: .benchmarks/
+
pytest-windows:
name: Run tests Python ${{ matrix.python-version }} (Windows)
diff --git a/ChangeLog b/ChangeLog
index 7fdc1c299..eae4b67b9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,6 +6,10 @@ What's New in Pylint 2.8.0?
===========================
+* Don't check directories starting with '.' when using register_plugins
+
+ Closes #4119
+
What's New in Pylint 2.7.0?
===========================
diff --git a/pylint/utils/utils.py b/pylint/utils/utils.py
index 981bfb91b..35a74bfcd 100644
--- a/pylint/utils/utils.py
+++ b/pylint/utils/utils.py
@@ -248,7 +248,11 @@ def register_plugins(linter, directory):
if (
extension in PY_EXTS
and base != "__init__"
- or (not extension and os.path.isdir(os.path.join(directory, base)))
+ or (
+ not extension
+ and os.path.isdir(os.path.join(directory, base))
+ and not filename.startswith(".")
+ )
):
try:
module = modutils.load_module_from_file(