summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick McLean <chutzpah@gentoo.org>2022-03-30 18:38:56 -0700
committerPatrick McLean <chutzpah@gentoo.org>2022-03-30 19:03:06 -0700
commit120be08f598da8aea6f84ae1822d5bef0bf3cecc (patch)
treead8f73203caf6068c64e7f4d2d9af97db14a9172 /dev-python/pytest-salt-factories
parentapp-admin/salt: add 3004.1 (diff)
downloadgentoo-120be08f598da8aea6f84ae1822d5bef0bf3cecc.tar.gz
gentoo-120be08f598da8aea6f84ae1822d5bef0bf3cecc.tar.bz2
gentoo-120be08f598da8aea6f84ae1822d5bef0bf3cecc.zip
Revert "dev-python/pytest-salt-factories: Remove old"
This reverts commit 56cf1d56651bdd2b8e952fdc890463312ac2ca16. Signed-off-by: Patrick McLean <chutzpah@gentoo.org>
Diffstat (limited to 'dev-python/pytest-salt-factories')
-rw-r--r--dev-python/pytest-salt-factories/Manifest1
-rw-r--r--dev-python/pytest-salt-factories/files/pytest-salt-factories-0.121.1-tests.patch294
-rw-r--r--dev-python/pytest-salt-factories/pytest-salt-factories-0.121.1-r1.ebuild63
3 files changed, 358 insertions, 0 deletions
diff --git a/dev-python/pytest-salt-factories/Manifest b/dev-python/pytest-salt-factories/Manifest
index b2955ea369a7..05d7a46c3fb7 100644
--- a/dev-python/pytest-salt-factories/Manifest
+++ b/dev-python/pytest-salt-factories/Manifest
@@ -1,2 +1,3 @@
+DIST pytest-salt-factories-0.121.1.tar.gz 102121 BLAKE2B 92cd5953b11377f1646f01b86a677a50216d16bcb944235a3f04176aecbb005974c415adcbf23cc391aab41b1ee9596984516ab61ecdd8c944d4ce707c39ab00 SHA512 32252695c6e8b17ef17d3330c4b0b38bdce89201d5573b4efa3531a72e826ee1fb26fea3ad0408401dec867cee405f21031804c32eb8fe6ceaa00925b17725a1
DIST pytest-salt-factories-0.911.0.tar.gz 161682 BLAKE2B b5a827c9a9acc55c53bc4152b648f96845f513e2d1c8425cbde0862909996a653df4debbf798a3d7461da4fc221acd5fc8e6052e123f3e64e0c8f4345557f141 SHA512 bada21cfe990ccb10b0e298cb05a7f3842d0fe24e2c8664352ae991363d0094dd1ff877adea5fcc0c1040e3f20f82ba616607c595511cade93ebadddd336a26b
DIST pytest-salt-factories-1.0.0_rc13.tar.gz 148418 BLAKE2B 3688f05d137df23266ebc7e999bc3b3a8ec198173b38dc98bd4a1e2655b982a37485278691e970da0be700cee6f609c57933b041a6d8403e75fb197f5d23d5d4 SHA512 f3713410704540ee48b7263973d3a9bf3159fb63e53e5ef5002201aea3fdcf0b4eaf00e1dd1e67d869b42242985d8117a117568d63abf5ad366e247fb3e1d83f
diff --git a/dev-python/pytest-salt-factories/files/pytest-salt-factories-0.121.1-tests.patch b/dev-python/pytest-salt-factories/files/pytest-salt-factories-0.121.1-tests.patch
new file mode 100644
index 000000000000..3e85580c9158
--- /dev/null
+++ b/dev-python/pytest-salt-factories/files/pytest-salt-factories-0.121.1-tests.patch
@@ -0,0 +1,294 @@
+diff --git a/saltfactories/plugin.py b/saltfactories/plugin.py
+index b29a115..9d68c34 100644
+--- a/saltfactories/plugin.py
++++ b/saltfactories/plugin.py
+@@ -21,7 +21,7 @@ def pytest_tempdir_temproot():
+ tempdir = os.environ.get("TMPDIR") or tempfile.gettempdir()
+ else:
+ tempdir = "/tmp"
+- return os.path.abspath(os.path.realpath(tempdir))
++ return os.path.abspath(tempdir)
+
+
+ def pytest_tempdir_basename():
+diff --git a/tests/functional/markers/test_requires_network.py b/tests/functional/markers/test_requires_network.py
+index 8b57368..d58f0a1 100644
+--- a/tests/functional/markers/test_requires_network.py
++++ b/tests/functional/markers/test_requires_network.py
+@@ -9,7 +9,10 @@ from unittest import mock
+ from saltfactories.utils import ports
+ from saltfactories.utils import socket
+
++import pytest
+
++
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_has_local_network(testdir):
+ testdir.makepyfile(
+ """
+diff --git a/tests/integration/factories/cli/test_salt.py b/tests/integration/factories/cli/test_salt.py
+index 17fce6c..7bd2789 100644
+--- a/tests/integration/factories/cli/test_salt.py
++++ b/tests/integration/factories/cli/test_salt.py
+@@ -17,6 +17,7 @@ def salt_minion_2(salt_master, salt_minion):
+ yield factory
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_merged_json_out(salt_cli, salt_minion, salt_minion_2):
+ ret = salt_cli.run("test.ping", minion_tgt="*")
+ assert ret.exitcode == 0, ret
+@@ -27,6 +28,7 @@ def test_merged_json_out(salt_cli, salt_minion, salt_minion_2):
+ assert ret.json[salt_minion_2.id] is True
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_merged_json_out_disabled(salt_cli, salt_minion, salt_minion_2):
+ ret = salt_cli.run("test.ping", minion_tgt="*", merge_json_output=False)
+ assert ret.exitcode == 0, ret
+diff --git a/tests/integration/factories/daemons/api/test_api.py b/tests/integration/factories/daemons/api/test_api.py
+index 78b8bb7..e20f28c 100644
+--- a/tests/integration/factories/daemons/api/test_api.py
++++ b/tests/integration/factories/daemons/api/test_api.py
+@@ -23,5 +23,6 @@ def salt_api(master):
+ yield factory
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_api(salt_api):
+ assert salt_api.is_running()
+diff --git a/tests/integration/factories/daemons/api/test_restarts.py b/tests/integration/factories/daemons/api/test_restarts.py
+index a6c5472..dd15c17 100644
+--- a/tests/integration/factories/daemons/api/test_restarts.py
++++ b/tests/integration/factories/daemons/api/test_restarts.py
+@@ -16,6 +16,7 @@ def master(salt_factories):
+ yield factory
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_multiple_start_stops(master):
+ factory = master.get_salt_api_daemon()
+ assert factory.is_running() is False
+diff --git a/tests/integration/factories/daemons/master/test_master.py b/tests/integration/factories/daemons/master/test_master.py
+index 2676dfa..cbf598e 100644
+--- a/tests/integration/factories/daemons/master/test_master.py
++++ b/tests/integration/factories/daemons/master/test_master.py
+@@ -46,10 +46,12 @@ def salt_key(master):
+ return master.get_salt_key_cli()
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_master(master):
+ assert master.is_running()
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_salt_run(master, salt_run):
+ max_open_files_config_value = master.config["max_open_files"]
+ ret = salt_run.run("config.get", "max_open_files")
+@@ -57,6 +59,7 @@ def test_salt_run(master, salt_run):
+ assert ret.json == max_open_files_config_value
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_salt_cp(master, minion, salt_cp, tempfiles):
+ """
+ Test copying a file from the master to the minion
+@@ -98,6 +101,7 @@ def test_salt_cp(master, minion, salt_cp, tempfiles):
+ os.unlink(dest)
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_salt_cp_no_match(master, minion, salt_cp, tempfiles):
+ assert master.is_running()
+ assert minion.is_running()
+@@ -119,6 +123,7 @@ def test_salt_cp_no_match(master, minion, salt_cp, tempfiles):
+ os.unlink(dest)
+
+
++@pytest.mark.skip("not compatible with sandbox")
+ @pytest.mark.skip_on_salt_system_install
+ def test_salt_key(master, minion, minion_3, salt_key):
+ ret = salt_key.run("--list-all")
+diff --git a/tests/integration/factories/daemons/master/test_restarts.py b/tests/integration/factories/daemons/master/test_restarts.py
+index 6a6852d..70415d0 100644
+--- a/tests/integration/factories/daemons/master/test_restarts.py
++++ b/tests/integration/factories/daemons/master/test_restarts.py
+@@ -11,6 +11,7 @@ def master(salt_factories):
+ return factory
+
+
++@pytest.mark.skip("not compatible with network")
+ def test_multiple_start_stops(master):
+ assert master.is_running() is False
+ pid = None
+diff --git a/tests/integration/factories/daemons/minion/test_event_forwarder_engine.py b/tests/integration/factories/daemons/minion/test_event_forwarder_engine.py
+index d63e640..653693e 100644
+--- a/tests/integration/factories/daemons/minion/test_event_forwarder_engine.py
++++ b/tests/integration/factories/daemons/minion/test_event_forwarder_engine.py
+@@ -28,6 +28,7 @@ def salt_call_cli(minion):
+ return minion.get_salt_call_cli()
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_event_listener_engine(minion, salt_call_cli, event_listener):
+ """
+ There are some events which the minion fires internally that never reach the master.
+diff --git a/tests/integration/factories/daemons/minion/test_minion.py b/tests/integration/factories/daemons/minion/test_minion.py
+index 64a3df6..ab82e55 100644
+--- a/tests/integration/factories/daemons/minion/test_minion.py
++++ b/tests/integration/factories/daemons/minion/test_minion.py
+@@ -27,6 +27,7 @@ def salt_call_cli(minion):
+ return minion.get_salt_call_cli()
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_minion(minion, salt_cli):
+ assert minion.is_running()
+ ret = salt_cli.run("test.ping", minion_tgt=minion.id)
+@@ -34,6 +35,7 @@ def test_minion(minion, salt_cli):
+ assert ret.json is True
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_no_match(minion, salt_cli):
+ assert minion.is_running()
+ ret = salt_cli.run("test.ping", minion_tgt="minion-2")
+@@ -41,6 +43,7 @@ def test_no_match(minion, salt_cli):
+ assert not ret.json
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_show_jid(minion, salt_cli):
+ assert minion.is_running()
+ ret = salt_cli.run("--show-jid", "test.ping", minion_tgt=minion.id)
+@@ -48,6 +51,7 @@ def test_show_jid(minion, salt_cli):
+ assert ret.json is True
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_minion_salt_call(minion, salt_call_cli):
+ assert minion.is_running()
+ ret = salt_call_cli.run("test.ping")
+@@ -59,6 +63,7 @@ def test_minion_salt_call(minion, salt_call_cli):
+ assert ret.json is True
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_salt_call_exception_handling_doesnt_timeout(minion, salt_call_cli):
+ ret = salt_call_cli.run(
+ "test.raise_exception", "OSError", "2", "No such file or directory", "/tmp/foo.txt"
+diff --git a/tests/integration/factories/daemons/minion/test_restarts.py b/tests/integration/factories/daemons/minion/test_restarts.py
+index a7d9ae0..8f0401b 100644
+--- a/tests/integration/factories/daemons/minion/test_restarts.py
++++ b/tests/integration/factories/daemons/minion/test_restarts.py
+@@ -10,6 +10,7 @@ def master(salt_factories):
+ yield factory
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_multiple_start_stops(master):
+ factory = master.get_salt_minion_daemon(random_string("minion-"))
+ assert factory.is_running() is False
+diff --git a/tests/integration/factories/daemons/proxy/test_proxy_minion.py b/tests/integration/factories/daemons/proxy/test_proxy_minion.py
+index 3bbca21..2e2fb8b 100644
+--- a/tests/integration/factories/daemons/proxy/test_proxy_minion.py
++++ b/tests/integration/factories/daemons/proxy/test_proxy_minion.py
+@@ -35,6 +35,7 @@ def salt_call_cli(proxy_minion):
+ return proxy_minion.get_salt_call_cli()
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_proxy_minion(proxy_minion, salt_cli):
+ assert proxy_minion.is_running()
+ ret = salt_cli.run("test.ping", minion_tgt=proxy_minion.id)
+@@ -42,6 +43,7 @@ def test_proxy_minion(proxy_minion, salt_cli):
+ assert ret.json is True
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_no_match(proxy_minion, salt_cli):
+ assert proxy_minion.is_running()
+ ret = salt_cli.run("test.ping", minion_tgt="proxy-minion-2")
+@@ -49,6 +51,7 @@ def test_no_match(proxy_minion, salt_cli):
+ assert not ret.json
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_show_jid(proxy_minion, salt_cli):
+ if platform.is_darwin() and sys.version_info[:2] == (3, 7):
+ pytest.skip(
+@@ -61,6 +64,7 @@ def test_show_jid(proxy_minion, salt_cli):
+ assert ret.json is True
+
+
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_proxy_minion_salt_call(proxy_minion, salt_call_cli):
+ assert proxy_minion.is_running()
+ ret = salt_call_cli.run("test.ping")
+diff --git a/tests/integration/factories/daemons/proxy/test_restarts.py b/tests/integration/factories/daemons/proxy/test_restarts.py
+index 3101204..28652ff 100644
+--- a/tests/integration/factories/daemons/proxy/test_restarts.py
++++ b/tests/integration/factories/daemons/proxy/test_restarts.py
+@@ -17,6 +17,7 @@ def master(salt_factories):
+ yield factory
+
+
++@pytest.mark.skip("not compatible with sandbox")
+ def test_multiple_start_stops(master):
+ factory = master.get_salt_proxy_minion_daemon(random_string("proxy-minion-"))
+ assert factory.is_running() is False
+diff --git a/tests/integration/factories/daemons/ssh/test_salt_ssh.py b/tests/integration/factories/daemons/ssh/test_salt_ssh.py
+index f58eac4..c3df3de 100644
+--- a/tests/integration/factories/daemons/ssh/test_salt_ssh.py
++++ b/tests/integration/factories/daemons/ssh/test_salt_ssh.py
+@@ -51,6 +51,7 @@ def salt_ssh_cli(sshd, salt_factories, master):
+
+
+ @pytest.mark.skip_on_windows
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_salt_ssh(salt_ssh_cli):
+ ret = salt_ssh_cli.run("--ignore-host-keys", "test.echo", "It Works!", minion_tgt="localhost")
+ assert ret.exitcode == 0
+diff --git a/tests/integration/factories/daemons/sshd/test_sshd.py b/tests/integration/factories/daemons/sshd/test_sshd.py
+index 3b425fc..3e03636 100644
+--- a/tests/integration/factories/daemons/sshd/test_sshd.py
++++ b/tests/integration/factories/daemons/sshd/test_sshd.py
+@@ -5,6 +5,7 @@ import pytest
+
+ @pytest.fixture(scope="module")
+ @pytest.mark.skip_if_binaries_missing("sshd", "ssh-keygen")
++@pytest.mark.skip("not compatible with network-sandbox")
+ def sshd(salt_factories):
+ # Set StrictModes to no because our config directory lives in /tmp and those permissions
+ # are not acceptable by sshd strict paranoia.
+@@ -15,12 +16,14 @@ def sshd(salt_factories):
+
+
+ @pytest.mark.skip_on_windows
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_sshd(sshd):
+ assert sshd.is_running()
+
+
+ @pytest.mark.skip_on_windows
+ @pytest.mark.skip_if_binaries_missing("ssh")
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_connect(sshd):
+ cmd = subprocess.run(
+ [
+diff --git a/tests/unit/utils/markers/test_skip_if_no_remote_network.py b/tests/unit/utils/markers/test_skip_if_no_remote_network.py
+index 1aa72dc..c4d079e 100644
+--- a/tests/unit/utils/markers/test_skip_if_no_remote_network.py
++++ b/tests/unit/utils/markers/test_skip_if_no_remote_network.py
+@@ -9,7 +9,10 @@ from unittest import mock
+ import saltfactories.utils.markers as markers
+ from saltfactories.utils import socket
+
++import pytest
+
++
++@pytest.mark.skip("not compatible with network-sandbox")
+ def test_has_remote_network():
+ assert markers.skip_if_no_remote_network() is None
+
diff --git a/dev-python/pytest-salt-factories/pytest-salt-factories-0.121.1-r1.ebuild b/dev-python/pytest-salt-factories/pytest-salt-factories-0.121.1-r1.ebuild
new file mode 100644
index 000000000000..e4d2f0f1ee31
--- /dev/null
+++ b/dev-python/pytest-salt-factories/pytest-salt-factories-0.121.1-r1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 2020-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..9} )
+inherit distutils-r1
+
+DESCRIPTION="The new generation of the pytest-salt Plugin"
+HOMEPAGE="https://github.com/saltstack/pytest-salt-factories"
+SRC_URI="https://github.com/saltstack/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 x86"
+IUSE="test"
+
+RDEPEND="
+ >=dev-python/pytest-6.1.1[${PYTHON_USEDEP}]
+ dev-python/attrs[${PYTHON_USEDEP}]
+ dev-python/pytest-tempdir[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pyzmq[${PYTHON_USEDEP}]
+ dev-python/msgpack[${PYTHON_USEDEP}]
+ >=app-admin/salt-3001.0[${PYTHON_USEDEP}]
+"
+BDEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/pytest-salt-factories-0.121.1-tests.patch"
+)
+
+distutils_enable_tests --install pytest
+
+python_prepare_all() {
+ sed -r -e "s:use_scm_version=True:version='${PV}', name='${PN//-/.}':" -i setup.py || die
+ sed -r -e '/(setuptools|setup_requires)/ d' -i setup.cfg || die
+
+ sed -i 's:tool.setuptools_scm:tool.disabled:' pyproject.toml || die
+ printf '__version__ = "%s"\n' "${PV}" > saltfactories/version.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local tempdir
+
+ # ${T} is too long a path for the tests to work
+ tempdir="$(mktemp -du --tmpdir=/tmp salt-XXX)"
+ mkdir "${T}/$(basename "${tempdir}")"
+
+ addwrite "${tempdir}"
+ ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}" || die
+
+ distutils_install_for_testing --via-root
+
+ (
+ cleanup() { rm -f "${tempdir}" || die; }
+
+ trap cleanup EXIT
+ SHELL="/bin/bash" TMPDIR="${tempdir}" \
+ pytest -vv || die "Tests failed with ${EPYTHON}"
+ )
+}