summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorHarmen Stoppels <harmenstoppels@gmail.com>2023-08-29 18:12:19 +0200
committerGitHub <noreply@github.com>2023-08-29 18:12:19 +0200
commit5138c71d3471f55da04fe5b1f7dcb03e2dd48866 (patch)
treec678e259c4c1fbb295b2ec12d3ea89d9ba68fd55 /lib
parenteef9939c21c65f4b1da64807b1e2f120e0e8afbf (diff)
downloadspack-5138c71d3471f55da04fe5b1f7dcb03e2dd48866.tar.gz
spack-5138c71d3471f55da04fe5b1f7dcb03e2dd48866.tar.bz2
spack-5138c71d3471f55da04fe5b1f7dcb03e2dd48866.tar.xz
spack-5138c71d3471f55da04fe5b1f7dcb03e2dd48866.zip
Revert "Add style tool to fix fish file formatting (#39155)" (#39680)
This reverts commit 70c71e8f935b3c5152036a993295df13c5fe69ca.
Diffstat (limited to 'lib')
-rw-r--r--lib/spack/spack/bootstrap/environment.py7
-rw-r--r--lib/spack/spack/cmd/style.py35
-rw-r--r--lib/spack/spack/test/cmd/style.py8
3 files changed, 13 insertions, 37 deletions
diff --git a/lib/spack/spack/bootstrap/environment.py b/lib/spack/spack/bootstrap/environment.py
index 96ec527a8a..a2086160f6 100644
--- a/lib/spack/spack/bootstrap/environment.py
+++ b/lib/spack/spack/bootstrap/environment.py
@@ -37,7 +37,6 @@ class BootstrapEnvironment(spack.environment.Environment):
mypy_root_spec(),
black_root_spec(),
flake8_root_spec(),
- fish_root_spec(),
pytest_root_spec(),
]
@@ -180,12 +179,6 @@ def flake8_root_spec() -> str:
return _root_spec("py-flake8@3.8.2:")
-def fish_root_spec() -> str:
- """Return the root spec used to bootstrap fish"""
- # fish 3.2.0 introduces the `--check` flag to `fish_indent`
- return _root_spec("fish@3.2:")
-
-
def pytest_root_spec() -> str:
"""Return the root spec used to bootstrap flake8"""
return _root_spec("py-pytest@6.2.4:")
diff --git a/lib/spack/spack/cmd/style.py b/lib/spack/spack/cmd/style.py
index 9cd1458af7..adc880f1bd 100644
--- a/lib/spack/spack/cmd/style.py
+++ b/lib/spack/spack/cmd/style.py
@@ -36,7 +36,7 @@ exclude_directories = [os.path.relpath(spack.paths.external_path, spack.paths.pr
#: double-check the results of other tools (if, e.g., --fix was provided)
#: The list maps an executable name to a method to ensure the tool is
#: bootstrapped or present in the environment.
-tool_names = ["isort", "black", "flake8", "mypy", "fish_indent"]
+tool_names = ["isort", "black", "flake8", "mypy"]
#: tools we run in spack style
tools = {}
@@ -61,13 +61,12 @@ def is_package(f):
#: decorator for adding tools to the list
class tool:
- def __init__(self, name, required=False, suffix=".py"):
+ def __init__(self, name, required=False):
self.name = name
self.required = required
- self.suffix = suffix
def __call__(self, fun):
- tools[self.name] = (fun, self.required, self.suffix)
+ tools[self.name] = (fun, self.required)
return fun
@@ -122,8 +121,12 @@ def changed_files(base="develop", untracked=True, all_files=False, root=None):
files = git(*arg_list, output=str).split("\n")
for f in files:
+ # Ignore non-Python files
+ if not (f.endswith(".py") or f == "bin/spack"):
+ continue
+
# Ignore files in the exclude locations
- if not f or any(os.path.realpath(f).startswith(e) for e in excludes):
+ if any(os.path.realpath(f).startswith(e) for e in excludes):
continue
changed.add(f)
@@ -349,22 +352,6 @@ def run_black(black_cmd, file_list, args):
return returncode
-@tool("fish_indent", suffix=".fish")
-def run_fish_indent(fish_indent_cmd, file_list, args):
- if args.fix:
- fish_indent_args = ["--write"]
- else:
- fish_indent_args = ["--check"]
-
- output = fish_indent_cmd(*fish_indent_args, *file_list, fail_on_error=False, output=str)
- returncode = fish_indent_cmd.returncode
-
- rewrite_and_print_output(output, args)
- print_tool_result("fish_indent", returncode)
-
- return returncode
-
-
def validate_toolset(arg_value):
"""Validate --tool and --skip arguments (sets of optionally comma-separated tools)."""
tools = set(",".join(arg_value).split(",")) # allow args like 'isort,flake8'
@@ -430,11 +417,9 @@ def style(parser, args):
print_style_header(file_list, args, tools_to_run)
for tool_name in tools_to_run:
- run_function, required, suffix = tools[tool_name]
+ run_function, required = tools[tool_name]
print_tool_header(tool_name)
- file_subset = [f for f in file_list if f.endswith(suffix)]
- if file_subset:
- return_code |= run_function(which(tool_name), file_subset, args)
+ return_code |= run_function(which(tool_name), file_list, args)
if return_code == 0:
tty.msg(color.colorize("@*{spack style checks were clean}"))
diff --git a/lib/spack/spack/test/cmd/style.py b/lib/spack/spack/test/cmd/style.py
index 5b86fc8aac..5591116968 100644
--- a/lib/spack/spack/test/cmd/style.py
+++ b/lib/spack/spack/test/cmd/style.py
@@ -56,7 +56,7 @@ def flake8_package_with_errors(scope="function"):
"""A flake8 package with errors."""
repo = spack.repo.Repo(spack.paths.mock_packages_path)
filename = repo.filename_for_package_name("flake8")
- tmp = filename.replace("package.py", "package2.py")
+ tmp = filename + ".tmp"
shutil.copy(filename, tmp)
package = FileFilter(tmp)
@@ -64,12 +64,11 @@ def flake8_package_with_errors(scope="function"):
# this is a black error (quote style and spacing before/after operator)
package.filter('state = "unmodified"', "state = 'modified'", string=True)
- # this is an isort error (ordering) and a flake8 error (unused import)
+ # this is an isort error (orderign) and a flake8 error (unused import)
package.filter(
"from spack.package import *", "from spack.package import *\nimport os", string=True
)
yield tmp
- os.remove(tmp)
def test_changed_files_from_git_rev_base(git, tmpdir, capfd):
@@ -214,7 +213,6 @@ def test_fix_style(external_style_root):
@pytest.mark.skipif(not which("isort"), reason="isort is not installed.")
@pytest.mark.skipif(not which("mypy"), reason="mypy is not installed.")
@pytest.mark.skipif(not which("black"), reason="black is not installed.")
-@pytest.mark.skipif(not which("fish_indent"), reason="fish is not installed.")
def test_external_root(external_style_root, capfd):
"""Ensure we can run in a separate root directory w/o configuration files."""
tmpdir, py_file = external_style_root
@@ -287,5 +285,5 @@ def test_style_with_black(flake8_package_with_errors):
def test_skip_tools():
- output = style("--skip", "isort,mypy,black,flake8,fish_indent")
+ output = style("--skip", "isort,mypy,black,flake8")
assert "Nothing to run" in output