From 1ad2c118abbbd5ef40ae40915cdd6d12581fb91f Mon Sep 17 00:00:00 2001 From: Benjamin A. Beasley Date: Mar 27 2022 12:55:47 +0000 Subject: Use pytest-env, now that it is packaged - Skip tests more precisely/selectively - Drop unnecessary BR on deprecated python-mock --- diff --git a/0001-disable-tests-with-network-install.patch b/0001-disable-tests-with-network-install.patch deleted file mode 100644 index 9e8ea3d..0000000 --- a/0001-disable-tests-with-network-install.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- a/tests/languages/node_test.py 2021-03-10 01:57:10.000000000 +0100 -+++ b/tests/languages/node_test.py 2021-03-23 20:20:58.740387439 +0100 -@@ -82,7 +82,7 @@ - assert not node.healthy(prefix, 'system') - - --@xfailif_windows # pragma: win32 no cover -+@pytest.mark.xfail(strict=True) - def test_installs_without_links_outside_env(tmpdir): - tmpdir.join('bin/main.js').ensure().write( - '#!/usr/bin/env node\n' - ---- a/tests/languages/ruby_test.py 2021-03-10 01:57:10.000000000 +0100 -+++ b/tests/languages/ruby_test.py 2021-03-23 20:11:20.654877325 +0100 -@@ -65,7 +65,7 @@ - cmd_output('rbenv', '--help') - - --@xfailif_windows # pragma: win32 no cover -+@pytest.mark.xfail(strict=True) - def test_install_ruby_with_version(fake_gem_prefix): - ruby.install_environment(fake_gem_prefix, '2.7.2', ()) - diff --git a/pre-commit.spec b/pre-commit.spec index 96eabea..b32fa6d 100644 --- a/pre-commit.spec +++ b/pre-commit.spec @@ -3,32 +3,50 @@ Name: %{pypi_name} Version: 2.16.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Framework for managing and maintaining multi-language pre-commit hooks License: MIT URL: https://pre-commit.com Source0: https://github.com/%{name}/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz -Patch0: 0001-disable-tests-with-network-install.patch BuildArch: noarch BuildRequires: python3-devel BuildRequires: python3dist(setuptools) %if %{with check} +# All of the tests for the following require network access, so we can avoid +# pulling in these dependencies for now. +# +# BuildRequires: R-core +# BuildRequires: conda +# BuildRequires: dotnet-host +# BuildRequires: dotnet-hostfxr-6.0 +# BuildRequires: dotnet-sdk-6.0 +# BuildRequires: golang-bin + +# These BR’s would enable a few extra tests, but are inconveniently +# ExclusiveArch. If we wanted to conditionalize BR’s based on build +# architecture, we would have to make *this* package arched. +# +# BuildRequires: swift-lang + +BuildRequires: cargo BuildRequires: git-core +BuildRequires: npm +BuildRequires: nodejs +BuildRequires: perl-CPAN +BuildRequires: rubypick +BuildRequires: rubygems BuildRequires: python3dist(aspy-yaml) BuildRequires: python3dist(cfgv) >= 2.0.0 BuildRequires: python3dist(flake8) BuildRequires: python3dist(identify) >= 1.0.0 -BuildRequires: npm -BuildRequires: nodejs -BuildRequires: rubygems -BuildRequires: python3dist(mock) -BuildRequires: python3dist(re-assert) BuildRequires: python3dist(nodeenv) >= 0.11.1 BuildRequires: python3dist(pytest) +BuildRequires: python3dist(pytest-env) BuildRequires: python3dist(pyyaml) +BuildRequires: python3dist(re-assert) BuildRequires: python3dist(six) BuildRequires: python3dist(toml) BuildRequires: python3dist(virtualenv) >= 20 @@ -58,15 +76,51 @@ rm -rf %{pypi_name}.egg-info git init git config --global user.email "you@example.com" git config --global user.name "Your Name" -export PYTHONPATH=%{buildroot}%{python3_sitelib} - -# Disable few tests -# * 'make_archives_test' and 'repository_test' need a network connection, hence disabled. -# * 'install_uninstall_test' needs pytest-env (currently not packaged) -%pytest -v \ - --deselect tests/make_archives_test.py \ - --deselect tests/repository_test.py \ - --deselect tests/commands/install_uninstall_test.py + + +# For general discusson on test failures building distribution packages, see: +# https://github.com/pre-commit/pre-commit/issues/1183, +# https://github.com/pre-commit/pre-commit/issues/1202 +# +# Require network access: +# See https://github.com/pre-commit/pre-commit/issues/1202 +k="${k-}${k+ and }not test_additional_dependencies_roll_forward" +k="${k-}${k+ and }not test_additional_golang_dependencies_installed" +k="${k-}${k+ and }not test_additional_node_dependencies_installed" +k="${k-}${k+ and }not test_additional_ruby_dependencies_installed" +k="${k-}${k+ and }not test_additional_rust_cli_dependencies_installed" +k="${k-}${k+ and }not test_additional_rust_lib_dependencies_installed" +k="${k-}${k+ and }not test_conda_hook" +k="${k-}${k+ and }not test_conda_with_additional_dependencies_hook" +k="${k-}${k+ and }not test_dotnet_hook" +k="${k-}${k+ and }not test_golang_hook" +k="${k-}${k+ and }not test_golang_hook_still_works_when_gobin_is_set" +k="${k-}${k+ and }not test_golang_with_recursive_submodule" +k="${k-}${k+ and }not test_install_ruby_with_version" +k="${k-}${k+ and }not test_installs_without_links_outside_env" +k="${k-}${k+ and }not test_local_conda_additional_dependencies" +k="${k-}${k+ and }not test_local_golang_additional_dependencies" +k="${k-}${k+ and }not test_local_perl_additional_dependencies" +k="${k-}${k+ and }not test_local_rust_additional_dependencies" +k="${k-}${k+ and }not test_r_hook" +k="${k-}${k+ and }not test_r_inline_hook" +k="${k-}${k+ and }not test_r_local_with_additional_dependencies_hook" +k="${k-}${k+ and }not test_r_with_additional_dependencies_hook" +k="${k-}${k+ and }not test_run_a_node_hook_default_version" +k="${k-}${k+ and }not test_run_ruby_hook_with_disable_shared_gems" +k="${k-}${k+ and }not test_run_versioned_node_hook" +k="${k-}${k+ and }not test_run_versioned_ruby_hook" +# Requires Python 2 (forbidden as a BR, obsolete) +k="${k-}${k+ and }not test_switch_language_versions_doesnt_clobber" +# Requires dart (not packaged): +k="${k-}${k+ and }not test_dart_hook" +k="${k-}${k+ and }not test_local_dart_additional_dependencies" +k="${k-}${k+ and }not test_local_dart_additional_dependencies_versioned" +# Does not work under (i.e., respect) an “external” PYTHONPATH +k="${k-}${k+ and }not test_installed_from_venv" +# Fails in koji but not local mock (hook exits with code 1, no useful output) +k="${k-}${k+ and }not test_run_a_ruby_hook" +%pytest -v -k "${k-}" %endif @@ -81,6 +135,11 @@ export PYTHONPATH=%{buildroot}%{python3_sitelib} %changelog +* Thu Mar 24 2022 Benjamin A. Beasley - 2.16.0-3 +- Use pytest-env, now that it is packaged +- Skip tests more precisely/selectively +- Drop unnecessary BR on deprecated python-mock + * Fri Jan 21 2022 Fedora Release Engineering - 2.16.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild