commit 5aee9d9c26d21f25804cf39a288e639943a96782d9a5ea3ecee11460926ed10b Author: Daniel Garcia Date: Mon Nov 4 11:05:56 2024 +0000 - Remove not needed dep python-setuptools-git OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest-shutil?expand=0&rev=28 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -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 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/pytest-fixtures-pr171-remove-mock.patch b/pytest-fixtures-pr171-remove-mock.patch new file mode 100644 index 0000000..eb4f545 --- /dev/null +++ b/pytest-fixtures-pr171-remove-mock.patch @@ -0,0 +1,72 @@ +diff --git a/pytest-shutil/pytest_shutil/run.py b/pytest-shutil/pytest_shutil/run.py +index c5b421d..7d46aea 100644 +--- a/pytest-shutil/pytest_shutil/run.py ++++ b/pytest-shutil/pytest_shutil/run.py +@@ -11,7 +11,12 @@ + from contextlib import closing + import subprocess + +-from mock import patch ++try: ++ from unittest.mock import patch ++except ImportError: ++ # python 2 ++ from mock import patch ++ + import execnet + from six.moves import cPickle # @UnresolvedImport + +diff --git a/pytest-shutil/setup.py b/pytest-shutil/setup.py +index 4126831..3513d3e 100644 +--- a/pytest-shutil/setup.py ++++ b/pytest-shutil/setup.py +@@ -24,10 +24,11 @@ + + install_requires = ['six', + 'execnet', +- 'contextlib2', ++ 'contextlib2;python_version<"3"', + 'pytest', +- 'path.py', +- 'mock', ++ 'path; python_version >= "3.7"', ++ 'path.py; python_version < "3.7"', ++ 'mock; python_version<"3.3"', + 'termcolor' + ] + +diff --git a/pytest-shutil/tests/integration/test_run_integration.py b/pytest-shutil/tests/integration/test_run_integration.py +index d92c9da..bf20f3a 100644 +--- a/pytest-shutil/tests/integration/test_run_integration.py ++++ b/pytest-shutil/tests/integration/test_run_integration.py +@@ -8,7 +8,10 @@ + import textwrap + from uuid import uuid4 + +-import mock ++try: ++ from unittest import mock ++except ImportError: ++ import mock + + from pytest_shutil import run, workspace + from pytest_shutil.env import no_cov +diff --git a/pytest-shutil/tests/unit/test_run.py b/pytest-shutil/tests/unit/test_run.py +index 612d20d..c520e85 100644 +--- a/pytest-shutil/tests/unit/test_run.py ++++ b/pytest-shutil/tests/unit/test_run.py +@@ -3,7 +3,13 @@ + from subprocess import PIPE, STDOUT + + import pytest +-from mock import Mock, patch, sentinel, DEFAULT, call ++ ++try: ++ from unittest.mock import Mock, patch, sentinel, DEFAULT, call ++except ImportError: ++ # python 2 ++ from mock import Mock, patch, sentinel, DEFAULT, call ++ + from six.moves import cPickle + + from pytest_shutil import run diff --git a/pytest-shutil-1.7.0.tar.gz b/pytest-shutil-1.7.0.tar.gz new file mode 100644 index 0000000..c29e5af --- /dev/null +++ b/pytest-shutil-1.7.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d8165261de76e7508505c341d94c02b113dc963f274543abca74dbfabd021261 +size 23497 diff --git a/pytest-shutil-1.8.0.tar.gz b/pytest-shutil-1.8.0.tar.gz new file mode 100644 index 0000000..4846f8b --- /dev/null +++ b/pytest-shutil-1.8.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aad006ef7b6efcbace1e6bdf90ea7870c4367ab917b85fbdbac1fca1df1f48a0 +size 37608 diff --git a/python-pytest-shutil.changes b/python-pytest-shutil.changes new file mode 100644 index 0000000..c3953b0 --- /dev/null +++ b/python-pytest-shutil.changes @@ -0,0 +1,76 @@ +------------------------------------------------------------------- +Mon Nov 4 11:05:21 UTC 2024 - Daniel Garcia + +- Remove not needed dep python-setuptools-git + +------------------------------------------------------------------- +Tue Oct 22 06:08:51 UTC 2024 - Steve Kowalik + +- Update to 1.8.0: + * Drop support for Python 2 and <3.6, removing compatibility code. + * Use stdlib unittest.mock instead of mock package. + * Removed usage of path.py and path in favour of pathlib. + * Removed contextlib2 requirement. + * Fixed forcing color through termcolor. +- Drop patches, included upstream: + * pytest-fixtures-pr171-remove-mock.patch + * stop-using-imp.patch + +------------------------------------------------------------------- +Wed Jan 24 04:48:42 UTC 2024 - Steve Kowalik + +- Add patch stop-using-imp.patch: + * Use importlib and not imp. + +------------------------------------------------------------------- +Sat Jun 10 11:50:04 UTC 2023 - ecsos + +- Add %{?sle15_python_module_pythons} + +------------------------------------------------------------------- +Mon Dec 5 11:16:10 UTC 2022 - Daniel Garcia + +- Disable test_pretty_formatter test that fails in osc build but it works when + run manually. + +------------------------------------------------------------------- +Thu Apr 21 21:51:01 UTC 2022 - Ben Greiner + +- Fixup fallout from SUSE's crusade against mock in the + pytest-fixtures family + * Replace remove-mock.patch with + pytest-fixtures-pr171-remove-mock.patch + * gh#man-group/pytest-plugins#171 + * Update build and runtime requirements + +------------------------------------------------------------------- +Wed Mar 23 06:45:41 UTC 2022 - Steve Kowalik + +- Add patch remove-mock.patch: + * Do not use external mock. + +------------------------------------------------------------------- +Fri Mar 13 12:37:42 UTC 2020 - Tomáš Chvátal + +- Build without python2 present + +------------------------------------------------------------------- +Sat Dec 28 18:31:07 UTC 2019 - Ondřej Súkup + +- fix python-path/python-path.py requires + +------------------------------------------------------------------- +Mon Jun 3 09:07:17 UTC 2019 - Tomáš Chvátal + +- Update to 1.7.0: + * Support pytest 4 + +------------------------------------------------------------------- +Fri Mar 22 07:23:42 UTC 2019 - John Vandenberg + +- Remove dependency on contextlib2 on Python 3 + +------------------------------------------------------------------- +Wed Feb 20 11:52:07 UTC 2019 - Tomáš Chvátal + +- Initial commit, neded by pytest-virtualenv diff --git a/python-pytest-shutil.spec b/python-pytest-shutil.spec new file mode 100644 index 0000000..2478c24 --- /dev/null +++ b/python-pytest-shutil.spec @@ -0,0 +1,69 @@ +# +# spec file for package python-pytest-shutil +# +# Copyright (c) 2024 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/ +# + + +%{?sle15_python_module_pythons} +Name: python-pytest-shutil +Version: 1.8.0 +Release: 0 +Summary: A goodie-bag of unix shell and environment tools for pytest +License: MIT +URL: https://github.com/man-group/pytest-plugins +Source: https://files.pythonhosted.org/packages/source/p/pytest-shutil/pytest-shutil-%{version}.tar.gz +BuildRequires: %{python_module execnet} +BuildRequires: %{python_module pip} +BuildRequires: %{python_module pytest} +BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module six} +BuildRequires: %{python_module termcolor} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +Requires: python-execnet +Requires: python-pytest +Requires: python-six +Requires: python-termcolor +BuildArch: noarch + +%python_subpackages + +%description +This library is a goodie-bag of Unix shell and environment management +tools for automated tests. + +%prep +%autosetup -p2 -n pytest-shutil-%{version} + +%build +%pyproject_wheel + +%install +%pyproject_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} + +%check +# Disable test_pretty_formatter test that fails in osc build but it works when +# run manually. It should be something related to the shell and termcolor +%pytest -k "not test_pretty_formatter" + +%files %{python_files} +%doc README.md CHANGES.md +%license LICENSE +%{python_sitelib}/pytest_shutil +%{python_sitelib}/pytest_shutil-%{version}.dist-info + +%changelog diff --git a/stop-using-imp.patch b/stop-using-imp.patch new file mode 100644 index 0000000..05122ba --- /dev/null +++ b/stop-using-imp.patch @@ -0,0 +1,36 @@ +From bbb9e5c7cba84fb4665a521569d1cfcca08ee4e5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= +Date: Sat, 27 May 2023 18:05:44 +0200 +Subject: [PATCH] pytest-shutil: Replace deprecated imp module + +Replace the use of the deprecated `imp` module with `importlib.util', +as the former has been removed from Python 3.12. +--- + pytest-shutil/pytest_shutil/run.py | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/pytest-shutil/pytest_shutil/run.py b/pytest-shutil/pytest_shutil/run.py +index 7d46aea1..08a6a34c 100644 +--- a/pytest-shutil/pytest_shutil/run.py ++++ b/pytest-shutil/pytest_shutil/run.py +@@ -3,7 +3,7 @@ + """ + import sys + import os +-import imp ++import importlib.util + import logging + from functools import update_wrapper + import inspect +@@ -112,7 +112,10 @@ def run_module_as_main(module, argv=[]): + filename = os.path.splitext(filename)[0] + ".py" + + with patch("sys.argv", new=argv): +- imp.load_source('__main__', os.path.join(where, filename)) ++ spec = importlib.util.spec_from_file_location( ++ "__main__", os.path.join(where, filename)) ++ module = importlib.util.module_from_spec(spec) ++ spec.loader.exec_module(module) + + + def _evaluate_fn_source(src, *args, **kwargs):