From 6c1bd08f16b636de38b92aeb2e0a1e8ebef0a0b1 Mon Sep 17 00:00:00 2001 From: Sagi Shadur Date: Tue, 14 Jun 2022 19:08:36 +0300 Subject: [PATCH] Test run black on self (#3114) * Add run_self environment in tox * Add run_self task as part of the lint CI flow * Remove hard coded sources list * Remove black from pre-commit Co-authored-by: Cooper Lees --- .github/workflows/lint.yml | 5 ++++ .pre-commit-config.yaml | 8 ------- tests/test_format.py | 48 +------------------------------------- tox.ini | 9 ++++++- 4 files changed, 14 insertions(+), 56 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index fcfaa7885b1..1dd5ab5d35e 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -25,6 +25,11 @@ jobs: run: | python -m pip install --upgrade pip python -m pip install -e '.[d]' + python -m pip install tox - name: Lint uses: pre-commit/action@v3.0.0 + + - name: Run On Self + run: | + tox -e run_self diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 26b7fe8c791..a6dedc44968 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -4,14 +4,6 @@ exclude: ^(src/blib2to3/|profiling/|tests/data/) repos: - repo: local hooks: - - id: black - name: black - language: system - entry: black - minimum_pre_commit_version: 2.9.2 - require_serial: true - types_or: [python, pyi] - - id: check-pre-commit-rev-in-example name: Check pre-commit rev in example language: python diff --git a/tests/test_format.py b/tests/test_format.py index a8a922d17db..0e1059c61e4 100644 --- a/tests/test_format.py +++ b/tests/test_format.py @@ -1,5 +1,5 @@ from dataclasses import replace -from typing import Any, Iterator, List +from typing import Any, Iterator from unittest.mock import patch import pytest @@ -14,47 +14,6 @@ all_data_cases, ) -SOURCES: List[str] = [ - "src/black/__init__.py", - "src/black/__main__.py", - "src/black/brackets.py", - "src/black/cache.py", - "src/black/comments.py", - "src/black/concurrency.py", - "src/black/const.py", - "src/black/debug.py", - "src/black/files.py", - "src/black/linegen.py", - "src/black/lines.py", - "src/black/mode.py", - "src/black/nodes.py", - "src/black/numerics.py", - "src/black/output.py", - "src/black/parsing.py", - "src/black/report.py", - "src/black/rusty.py", - "src/black/strings.py", - "src/black/trans.py", - "src/blackd/__init__.py", - "src/blib2to3/pygram.py", - "src/blib2to3/pytree.py", - "src/blib2to3/pgen2/conv.py", - "src/blib2to3/pgen2/driver.py", - "src/blib2to3/pgen2/grammar.py", - "src/blib2to3/pgen2/literals.py", - "src/blib2to3/pgen2/parse.py", - "src/blib2to3/pgen2/pgen.py", - "src/blib2to3/pgen2/tokenize.py", - "src/blib2to3/pgen2/token.py", - "setup.py", - "tests/test_black.py", - "tests/test_blackd.py", - "tests/test_format.py", - "tests/optional.py", - "tests/util.py", - "tests/conftest.py", -] - @pytest.fixture(autouse=True) def patch_dump_to_file(request: Any) -> Iterator[None]: @@ -93,11 +52,6 @@ def test_preview_minimum_python_310_format(filename: str) -> None: assert_format(source, expected, mode, minimum_version=(3, 10)) -@pytest.mark.parametrize("filename", SOURCES) -def test_source_is_formatted(filename: str) -> None: - check_file("", filename, DEFAULT_MODE, data=False) - - # =============== # # Complex cases # ============= # diff --git a/tox.ini b/tox.ini index 258e6c5c203..7af9e48d6f0 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = {,ci-}py{36,37,38,39,310,py3},fuzz +envlist = {,ci-}py{36,37,38,39,310,py3},fuzz,run_self [testenv] setenv = PYTHONPATH = {toxinidir}/src @@ -61,3 +61,10 @@ commands = coverage erase coverage run fuzz.py coverage report + +[testenv:run_self] +setenv = PYTHONPATH = {toxinidir}/src +skip_install = True +commands = + pip install -e .[d] + black --check {toxinidir}/src {toxinidir}/tests {toxinidir}/setup.py