Sync from SUSE:SLFO:Main python-invoke revision 229d23d1f8f82540450bbf6a4b5259b4

This commit is contained in:
Adrian Schröter 2024-05-03 21:05:22 +02:00
commit c3eab5767d
6 changed files with 625 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

3
_multibuild Normal file
View File

@ -0,0 +1,3 @@
<multibuild>
<package>test</package>
</multibuild>

BIN
invoke-2.1.2.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

436
python-invoke.changes Normal file
View File

@ -0,0 +1,436 @@
-------------------------------------------------------------------
Mon May 22 21:08:40 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 2.1.2:
* Make sure ``py.typed`` is in our packaging
manifest; without it, users working from a regular
installation can't perform type checks.
-------------------------------------------------------------------
Tue May 16 14:16:29 UTC 2023 - Dirk Müller <dmueller@suse.com>
- break python-invocations, invoke cycle on tests
-------------------------------------------------------------------
Sun May 14 12:38:22 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 2.1.1:
* The `importlib` upgrade in 2.1 had a corner case
bug (regarding ``from . import <submodule>`` functionality
within package-like task trees which in turn exposed a
false-pass in our test suite. Both have now been fixed.
-------------------------------------------------------------------
Thu May 11 06:22:55 UTC 2023 - Matej Cepl <mcepl@suse.com>
- Update to 2.1.0:
- [Bug] #910: Add more rigor around subprocess/runner shutdown
to avoid spurious exceptions & also fix downstream issues in
libraries like Fabric. Reported by Orlando Rodríguez.
- [Bug] #934: The importlib upgrade in 2.1 had a corner case
bug (regarding from . import <submodule> functionality within
package-like task trees) which in turn exposed a false-pass
in our test suite. Both have now been fixed. Thanks to Greg
Meyer and Robert J. Berger for the bug reports.
- [Bug] #910: Add more rigor around subprocess/runner shutdown
to avoid spurious exceptions & also fix downstream issues in
libraries like Fabric. Reported by Orlando Rodríguez.
- [Support] #901: (via #903) Tweak test suite setup methods to
be named setup_method so pytest stops whining about it. Patch
via Jesse P. Johnson.
- [Bug] #376: Resolve equality comparison bug for
non-collections. Patch via Jesse P. Johnson
- [Support] #901: (via #903) Tweak test suite setup methods to
be named setup_method so pytest stops whining about it. Patch
via Jesse P. Johnson.
- [Support] #906: Implement type hints and type checking
tests with mypy to reduce errors and impove code
documentation. Patches by Jesse P. Johnson and review by Sam
Bull.
- [Support] #675: Implement importlib and deprecate imp
module. Patches provided by Jesse P. Johnson
- [Support]: Task.argspec has changed its return value; it now
returns an inspect.Signature derived from that of the tasks
body callable.
- Warning
This change is backwards incompatible if you were using this
method directly.
[Support]: Remove support for, and imports related to,
all Python versions less than 3.6 - including Python
2. This also includes updates to vendored packages, such
as removing six and upgrading lexicon to the latest
version; and also treatment of things like Mock use within
invoke.context.MockContext (which now expects stdlibs
unittest.mock instead of hunting for the old standalone mock
library).
This change is backwards incompatible in the following scenarios:
- You use Python <3.6. Shouldnt be an issue as we now
specify python_requires in packaging metadata.
- You call invoke.util.encode_output manually for some
reason. (This became a noop under Python 3, so just…remove
it!)
- You use invoke.context.MockContext; its repeat init kwarg
changed its default value from False to True. This probably
wont bite you, but we mention it just in case you somehow
relied upon the legacy behavior.
- You subclass invoke.runners.Runner and/or have had to
interact with its stop or stop_timer methods. The latter
has been merged into the former, and if you are overriding
stop, youll want to make sure you now call super()
somewhere if you were not already.
- Remove upstreamed patches:
- 0001-Make-test-fallback-to-system-modules-when-vendorized.patch
- pytest4.patch
- Add remove-icecream.patch to remove unnecessary dependence on
icecream module.
- Skip temporarily failing tests (gh#pyinvoke/invoke#705).
-------------------------------------------------------------------
Fri Apr 21 12:27:03 UTC 2023 - Dirk Müller <dmueller@suse.com>
- add sle15_python_module_pythons (jsc#PED-68)
-------------------------------------------------------------------
Thu Apr 13 22:42:07 UTC 2023 - Matej Cepl <mcepl@suse.com>
- Make calling of %{sle15modernpython} optional.
-------------------------------------------------------------------
Sun Oct 16 17:50:36 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 1.7.3:
* Fix a non-fatal bug in our setup.py long_description generation causing
1.7.0-1.7.2 to have malformed description text on PyPI.
* Fix errors thrown when comparing Task objects to non-Task objects; such
comparisons are now always false.
* Refactor CLI parser instantiation such that the tasks.ignore_unknown_help
feature (added in 1.7) works when Invoke is run in --complete mode, i.e. in
tab-completion scripts.
-------------------------------------------------------------------
Sat Sep 24 10:56:41 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 1.7.1:
* :bug:`659` Improve behavior under ``nohup``, which causes stdin to become an
undetectably-unreadable (but otherwise legit) file descriptor. Previously
this led to `OSError` even if you weren't expecting anything on stdin; we now
trap this specific case and silently ignore it, allowing execution to
continue. Thanks to ``@kingkisskill`` for initial report and to Ryan Stoner
for followup and workshopping.
-------------------------------------------------------------------
Wed May 4 12:35:49 UTC 2022 - pgajdos@suse.com
- version update to 1.7.0
* [Feature] #845: Env vars explicitly supplied to sudo (via its env kwarg) are now
explicitly preserved via sudos --preserve-env argument. Patch courtesy of Benno Rice.
* [Feature] #793: Add a new tasks.ignore_unknown_help config option for users who hand
their tasks centrally-defined argument help dictionaries; it defaults to False but
such users may set it to True to avoid exceptions. Thanks to @Allu2 for the report.
* [Support]: Switch our continuous integration service from Travis-CI to Circle-CI,
plus related and necessary updates to various administrative config files, management
tasks and metadata. Including but not limited to:
* Enhanced PyPI-level metadata/links
* Split out tool config data from setup.cfg
* Enhance execution & coverage of unit vs integration tests under CI
* [Support] #803: Upgrade our vendored PyYAML from 3.11 to 5.4.1; this should both
supply a number of security fixes, and address problems loading project-level YAML
config files under Python 3.10. Fix via Andreas Rammhold.
* [Support]: Switch to using yaml.safe_load for loading config files. This avoids some
warnings under newer PyYAML versions and is also, in a shocking twist, more secure.
- do not require python-mock for build, testsuite is not run
- modified patches
% 0001-Make-test-fallback-to-system-modules-when-vendorized.patch (refreshed)
- deleted patches
- fix-yaml-loader.patch (upstreamed)
-------------------------------------------------------------------
Tue Dec 28 21:43:30 UTC 2021 - Ben Greiner <code@bnavigator.de>
- Add fix-yaml-loader.patch, PyYAML 6 broke it.
-------------------------------------------------------------------
Wed Aug 18 13:52:50 UTC 2021 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to version 1.6.0
* Version bump for next release
* Return to using print() and no newline in echo_format
* Blacken
* Changelog re #791
* s/output_format/echo_format/g
* Fix whitespace
* Contact methods update :(
* Adding support for a custom output format via run.echo
* Fix typo
* Tweak versionadded/changed bits for new param.
- from version 1.5.1
* Alphabetize run() kwarg param declarations in docstring
* Document dry kwarg for run() in docstring
* Treat whitespace-only docstrings as empty docstrings.
- from version 1.5.0
* Changelog, docstring and test tweak re #607, re #454
* Tweaks re #611
* Changelog re #409, re #398, re #611, re #580
* Tweak #197 changelog to link to modified API member
* Stop publishing bogus codecov reports from Travis
* Docs and changelog re #197, closes #197
* Realized OP's impl was overkill/caused bugs. Just set name.
* Use identity testing in collection task lookup asserts
* Refactor default task/collection collision & enhanced its tests
* Minor tweaks to update #197
* Upgrade codecov client, prev version cannot talk to their object store
* Fix small pile of minor doc reference errors
* Changelog re coverage tweaks
* Test Exit more thoroughly
* Improve test coverage of Failure hierarchy repr()
* Not sure why UnexpectedExit repr override __repr__ and not _repr
* Blacken
* Bump version for release/testing
* Populate MockContext NotImplementedErrors with triggering command
* Enhance MockContext a whole bunch
* Enhance testing concepts doc
* Python packaging guide is no longer using /en/latest URL
* Blacken, flake8
* Populate Result.command automatically within MockContext methods
* Wrap MockContext methods in actual Mock when present
* Expand sys.modules cleaner in conftest to clean EVERYTHING
* Fix inaccurate indentation for MockContext versionadded directive
* Needed to mark this bug major because it was in the 1.2 line which
hasn't since gotten any bugfix releases
* Grumble forgot a backported note
* Add test: mismatched help text raises error
* Add tests: parameter help defined with underscores
* Cosmetic: satisfy black
* Simplify if/else/if/else a bit
* Fix bug if didn't give help for param.
* Add error when gave help for typoed param #398
* Fix help text behavior for params with underscores in name #409
* Skip Path unit test if Path can't be imported
* Clarify why we do str() on a possible str object
* Make Travis happy for Python 2.7 and pypy
* Satisfy flake8 compatibility
* Allow Pathlib.path objects to be used with Context.cd()
* Allow subcollections to be defaults of parent collections
-------------------------------------------------------------------
Fri Oct 16 12:55:39 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
- disable test suite with bcond because of unmaintained
pytest-relaxed gh#bitprophet/pytest-relaxed#12
-------------------------------------------------------------------
Tue Apr 14 14:13:45 UTC 2020 - Marketa Calabkova <mcalabkova@suse.com>
- Update to version 1.4.1
* Fix an issue with `~invoke.run` & friends having intermittent
problems at exit time.
* Many other fixes.
-------------------------------------------------------------------
Tue Sep 17 10:08:41 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Update patch pytest4.patch to make it really work with new pytests
-------------------------------------------------------------------
Mon Aug 12 11:36:59 UTC 2019 - Marketa Calabkova <mcalabkova@suse.com>
- Update to version 1.3.0
* Allow the configuration system to override which Executor
subclass to use when executing tasks.
* Add support for command timeouts, i.e. the ability to add an
upper bound on how long a call to run may take to execute.
* Add basic dry-run support, in the form of a new --dry CLI option.
* Add a new Runner method, close_proc_stdin, and call it when
standard input processing detects an EOF.
-------------------------------------------------------------------
Wed Jul 24 07:25:08 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Disable tests for now as they break with new pytest-relaxed
- Add another patch fixing errors with new pytest:
* pytest4.patch
-------------------------------------------------------------------
Fri Jul 19 09:59:13 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Restrict pytest5 and pytest4 for now upstream tests only with
pytest3...
-------------------------------------------------------------------
Tue Mar 26 14:02:06 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Update to 1.2.0:
* [Feature] #301: (via #414) Overhaul tab completion mechanisms so users can print a completion script which automatically matches the emitting binarys configured names (compared to the previous hardcoded scripts, which only worked for inv/invoke by default). Thanks to Nicolas Höning for the foundational patchset.
-------------------------------------------------------------------
Sat Aug 11 11:42:30 UTC 2018 - tchvatal@suse.com
- Add patch to not use vendored libs:
* 0001-Make-test-fallback-to-system-modules-when-vendorized.patch
- Remove unneeded deps
- Remove the multibuild again as we no longer cycle
-------------------------------------------------------------------
Sat Aug 11 10:04:46 UTC 2018 - tchvatal@suse.com
- Update to 1.1.1:
* Various tweaks for pytest and new py releases support
- Switch to multibuild to run tests
-------------------------------------------------------------------
Sat Apr 28 12:30:16 UTC 2018 - badshah400@gmail.com
- Update to version 0.22.1:
* gh#pyinvoke/invoke#488: Account for additional I/O related
OSError error strings when attempting to capture only this
specific subtype of error.
* gh#pyinvoke/invoke#437: When merging configuration levels
together (which uses copy.copy by default), pass file objects
by reference so they dont get closed.
* gh#pyinvoke/invoke#342: Accidentally hardcoded Collection
instead of cls in Collection.from_module (an alternate
constructor and therefore a classmethod.) This made it rather
hard to properly subclass Collection.
* gh#pyinvoke/invoke#469: Fix up the doc/example re: subclassing
Config.
* gh#pyinvoke/invoke#433: Add -dev and -nightly style Python
versions to our Travis builds.
- Changes from version 0.22.0:
* Iterable-type CLI args were actually still somewhat broken &
were eating values after themselves in the parser stream
(thus e.g. preventing parsing of subsequent tasks or flags.)
* gh#pyinvoke/invoke#364: Drop Python 2.6 and Python 3.3
support, as these versions now account for only very low
percentages of the userbase and are unsupported (or about to
be unsupported) by the rest of the ecosystem, including pip.
- Update URL to upstream recommended.
-------------------------------------------------------------------
Wed Oct 18 15:59:42 UTC 2017 - toddrme2178@gmail.com
- Update to 0.21.0
* No changelog
-------------------------------------------------------------------
Thu Aug 24 13:41:17 UTC 2017 - jmatejek@suse.com
- singlespec auto-conversion
-------------------------------------------------------------------
Sat Dec 10 16:48:21 UTC 2016 - jengelh@inai.de
- Declare use of bashisms
-------------------------------------------------------------------
Thu Sep 11 13:11:26 UTC 2014 - toddrme2178@gmail.com
- Implement update-alternatives
-------------------------------------------------------------------
Thu Sep 11 12:58:33 UTC 2014 - toddrme2178@gmail.com
- Update to 0.9.0 2014-08-26
* [Bug]: Fixed a sub-case of the already-mostly-fixed #149 so the error
message works usefully even with no explicit collection name given.
* [Support] #169: Overhaul the Sphinx docs into two trees, one for main
project info and one for versioned API docs.
* [Bug] #162: Adjust platform-sensitive imports so Windows users dont
encounter import-time exceptions. Thanks to Paul Moore for the patch.
* [Feature] #136: Added the autoprint flag to invoke.tasks.Task/@task,
allowing users to set up tasks which act as both subroutines &
“print a result” CLI tasks. Thanks to Matthias Lehmann for the original
patch.
* [Bug] #119: (also #162, #113) Better handle platform-sensitive operations
such as pty size detection or use, either replacing with platform-specific
implementations or raising useful exceptions. Thanks to Gabi Davar and
(especially) Paul Moore, for feedback & original versions of the final
patchset.
* [Bug] #167: Running the same task multiple times in one CLI session was
horribly broken; it works now. Thanks to Erich Heine for the report.
* [Bug] #165: Running inv[oke] with no task names on a collection containing
a default task should (intuitively) have run that default task, but instead
did nothing. This has been fixed.
- Update to 0.8.2 2014-06-15
* [Bug] #142: The refactored Loader class failed to account for the behavior
of imp.find_module when run against packages (vs modules) and was exploding
at load time. This has been fixed. Thanks to David Baumgold for catch & patch.
* [Bug] #145: Ensure a useful message is displayed (instead of a confusing
exception) when listing empty task collections.
* [Bug] #149: Print a useful message to stderr when Invoke cant find the
requested collection/tasks file, instead of displaying a traceback.
- Update to 0.8.1 2014-06-09
* [Bug] #140: Revert incorrect changes to our setup.py regarding detection of
sub-packages such as the vendor tree & the parser. Also add additional
scripting to our Travis-CI config to catch this class of error in future.
Thanks to Steven Loria and James Cox for the reports.
- Update to 0.8.0 2014-06-08
* [Feature] #125: Improve output of Failure exceptions when printed.
* [Feature] #124: Add a --debug flag to the core parser to enable easier
debugging (on top of existing INVOKE_DEBUG env var.)
* [Bug] #127: Fill in tasks exposed name attribute with body name if
explicit name not given.
* [Bug] #116: Ensure nested config overrides play nicely with default tasks
and pre-tasks.
* [Bug] #131: Make sure ones local tasks module is always first in sys.path,
even if its parent directory was already somewhere else in sys.path. This
ensures that local tasks modules never become hidden by third-party ones.
Thanks to @crccheck for the early report and to Dorian Puła for assistance
fixing.
* [Support]: Refactor the invoke.runner.Runner module to differentiate what
it means to run a command in the abstract, from execution specifics. Top
level API is unaffected.
* [Feature] #87: (also #92) Rework the loader module such that recursive
filesystem searching is implemented, and is used instead of searching
sys.path.
This adds the behavior most users expect or are familiar with from Fabric 1
or similar tools; and it avoids nasty surprise collisions with other
installed packages containing files named tasks.py.
Thanks to Michael Hahn for the original report & PR, and to Matt Iversen
for providing the discovery algorithm used in the final version of this
change.
Warning
This is technically a backwards incompatible change (reminder: were not at
1.0 yet!). Youll only notice if you were relying on adding your tasks
module to sys.path and then calling Invoke elsewhere on the filesystem.
* [Support] #117: Tidy up setup.py a bit, including axing the (broken)
distutils support. Thanks to Matt Iversen for the original PR & followup
discussion.
* [Feature] #110: Add task docstrings 1st lines to --list output. Thanks to
Hiroki Kiyohara for the original PR (with assists from Robert Read and
James Thigpen.)
* [Feature] #115: Make it easier to reuse Invokes primary CLI machinery in
other (non-Invoke-distributed) bin-scripts. Thanks to Noah Kantrowitz.
* [Support] #118: Update the bundled six plus other minor tweaks to support
files. Thanks to Matt Iversen.
* [Bug] #121: Add missing help output denoting inverse Boolean options (i.e.
--[no-]foo for a --foo flag whose value defaults to true.) Thanks to Andrew
Roberts for catch & patch.
* [Bug] #128: Positional arguments containing underscores were not exporting
to the parser correctly; this has been fixed. Thanks to J. Javier Maestro
for catch & patch.
* [Support] #25: Trim a bunch of time off the test suite by using mocking and
other tools instead of dogfooding a bunch of subprocess spawns.
* [Feature] #135: (also bugs #120, #123) Implement post-tasks to match
pre-tasks, and allow control over the arguments passed to both (via
invoke.tasks.call). For details, see Pre- and post-tasks.
Warning
Pre-tasks were overhauled a moderate amount to implement this feature; they
now require references to task objects instead of task names. This is a
backwards incompatible change.
- Update to 0.7.0 2014.01.28
* [Feature] #107: Update configuration merging behavior for more flexible
reuse of imported task modules, such as parameterizing multiple copies of a
module within a task tree.
* [Feature] #108: Update invoke.collection.Collection.from_module to accept
useful shorthand arguments for tweaking the invoke.collection.Collection
objects it creates (e.g. name, configuration.)
* [Feature] #109: Add a default kwarg to
invoke.collection.Collection.add_task allowing per-collection control over
default tasks.
-------------------------------------------------------------------
Sun Jan 12 12:54:12 UTC 2014 - toms@opensuse.org
- Initial version 0.6.1

115
python-invoke.spec Normal file
View File

@ -0,0 +1,115 @@
#
# spec file
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "test"
%define psuffix -test
%bcond_without test
%else
%define psuffix %{nil}
%bcond_with test
%endif
%{?sle15_python_module_pythons}
Name: python-invoke%{psuffix}
Version: 2.1.2
Release: 0
Summary: Pythonic Task Execution
License: BSD-2-Clause
Group: Development/Languages/Python
URL: https://www.pyinvoke.org
Source: https://files.pythonhosted.org/packages/source/i/invoke/invoke-%{version}.tar.gz
# PATCH-FIX-OPENSUSE remove-icecream.patch mcepl@suse.com
# We dont need icecream as yet another complication.
Patch0: remove-icecream.patch
BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools > 56}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-PyYAML
Requires: python-fluidity-sm
Requires: python-lexicon
Requires(post): update-alternatives
Requires(postun):update-alternatives
BuildArch: noarch
%if %{with test}
BuildRequires: %{python_module PyYAML}
BuildRequires: %{python_module fluidity-sm}
BuildRequires: %{python_module invocations >= 3.0.1}
BuildRequires: %{python_module invoke >= %version}
BuildRequires: %{python_module lexicon}
BuildRequires: %{python_module pytest-relaxed}
BuildRequires: %{python_module pytest}
BuildRequires: zsh
%endif
%python_subpackages
%description
Invoke is a Python (2.7 and 3.4+) task execution tool & library, drawing
inspiration from various sources to arrive at a powerful & clean feature set.
%prep
%autosetup -p1 -n invoke-%{version}
# Remove bundled libs, import will fallback to system provided libs
rm -fr invoke/vendor/*
%build
%pyproject_wheel
%install
%if !%{with test}
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%python_clone -a %{buildroot}%{_bindir}/inv
%python_clone -a %{buildroot}%{_bindir}/invoke
%endif
%if %{with test}
%check
# gh#pyinvoke/invoke#705
skiptests="setcbreak_called_on_tty_stdins or setcbreak_not_called_if_process_not_foregrounded"
skiptests+=" or tty_stdins_have_settings_restored_by_default or tty_stdins_have_settings_restored_on_KeyboardInterrupt"
skiptests+=" or when_pty_True_we_use_pty_fork_and_os_exec or pty_uses_WEXITSTATUS_if_WIFEXITED"
skiptests+=" or pty_uses_WTERMSIG_if_WIFSIGNALED or WTERMSIG_result_turned_negative_to_match_subprocess"
skiptests+=" or pty_is_set_to_controlling_terminal_size or spurious_OSErrors_handled_gracefully"
skiptests+=" or other_spurious_OSErrors_handled_gracefully or non_spurious_OSErrors_bubble_up"
skiptests+=" or can_be_overridden_by_kwarg or can_be_overridden_by_config"
skiptests+=" or overridden_fallback_affects_result_pty_value or defaults_to_bash_or_cmdexe_when_pty_True"
skiptests+=" or may_be_overridden_when_pty_True or uses_execve_for_pty_True or stop_mutes_errors_on_pty_close"
%pytest -s -k "not ($skiptests)" tests
%endif
%post
%{python_install_alternative inv invoke}
%postun
%python_uninstall_alternative inv
%if !%{with test}
%files %{python_files}
%license LICENSE
%doc README.rst
%python_alternative %{_bindir}/inv
%python_alternative %{_bindir}/invoke
%{python_sitelib}/invoke
%{python_sitelib}/invoke-%{version}*-info
%endif
%changelog

45
remove-icecream.patch Normal file
View File

@ -0,0 +1,45 @@
---
dev-requirements.txt | 2 --
pyproject.toml | 4 ----
tests/conftest.py | 6 ------
3 files changed, 12 deletions(-)
--- a/dev-requirements.txt
+++ b/dev-requirements.txt
@@ -16,8 +16,6 @@ flake8>=4,<5
black>=22.8,<22.9
# Packaging
setuptools>56
-# Debuggery
-icecream>=2.1
# typing
mypy==0.971
types-PyYAML==6.0.12.4
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -40,10 +40,6 @@ module = "alabaster"
ignore_missing_imports = true
[[tool.mypy.overrides]]
-module = "icecream"
-ignore_missing_imports = true
-
-[[tool.mypy.overrides]]
module = "invocations"
ignore_missing_imports = true
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -8,12 +8,6 @@ from unittest.mock import patch
from _util import support
-# Set up icecream globally for convenience.
-from icecream import install
-
-install()
-
-
# pytest seems to tweak logging such that Invoke's debug logs go to stderr,
# which is then hella spammy if one is using --capture=no (which one must in
# order to test low level terminal IO stuff, as we do!)