- Fix "status.diskusage" function and exclude some tests for Salt Bundle
- Added: * fix-status.diskusage-and-exclude-some-tests-to-run-w.patch OBS-URL: https://build.opensuse.org/package/show/systemsmanagement:saltstack/salt?expand=0&rev=246
This commit is contained in:
parent
fdd77ed694
commit
f91fdfb6a8
@ -1 +1 @@
|
|||||||
1eb7b9e2177458d1bd4b32462af85ea0e3f7b072
|
e2ff2b8c17278bf750998f7619ae9b29fbe017a1
|
243
fix-status.diskusage-and-exclude-some-tests-to-run-w.patch
Normal file
243
fix-status.diskusage-and-exclude-some-tests-to-run-w.patch
Normal file
@ -0,0 +1,243 @@
|
|||||||
|
From 4555f215614c2f2d5c4b5c376264df9b3f23a55b Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Pablo=20Su=C3=A1rez=20Hern=C3=A1ndez?=
|
||||||
|
<psuarezhernandez@suse.com>
|
||||||
|
Date: Tue, 18 Jun 2024 15:55:31 +0100
|
||||||
|
Subject: [PATCH] Fix "status.diskusage" and exclude some tests to run
|
||||||
|
when testing Salt Bundle (#659)
|
||||||
|
|
||||||
|
* Show warning instead of crashing when stats cannot be fetched
|
||||||
|
|
||||||
|
* Skip tests that are not compatible with Salt Bundle
|
||||||
|
|
||||||
|
* test_syndic_eauth: do not produce error if docker service is not running
|
||||||
|
|
||||||
|
* test_cmdmod: assert properly in case of DeprecationsWarnings
|
||||||
|
|
||||||
|
* Include path as part of output in case of errors
|
||||||
|
|
||||||
|
Co-authored-by: Marek Czernek <marek.czernek@suse.com>
|
||||||
|
|
||||||
|
---------
|
||||||
|
|
||||||
|
Co-authored-by: Marek Czernek <marek.czernek@suse.com>
|
||||||
|
---
|
||||||
|
salt/modules/status.py | 14 +++++++++-----
|
||||||
|
tests/integration/modules/test_pip.py | 5 +++++
|
||||||
|
tests/integration/ssh/test_state.py | 5 +++++
|
||||||
|
tests/pytests/functional/modules/test_pip.py | 4 ++++
|
||||||
|
.../functional/modules/test_virtualenv_mod.py | 5 +++++
|
||||||
|
tests/pytests/functional/states/test_pip_state.py | 4 ++++
|
||||||
|
tests/pytests/integration/cli/test_syndic_eauth.py | 3 +++
|
||||||
|
tests/pytests/integration/modules/test_cmdmod.py | 4 +++-
|
||||||
|
.../pytests/integration/netapi/test_ssh_client.py | 6 ++++++
|
||||||
|
tests/pytests/integration/ssh/conftest.py | 9 +++++++++
|
||||||
|
tests/unit/utils/test_thin.py | 4 ++++
|
||||||
|
11 files changed, 57 insertions(+), 6 deletions(-)
|
||||||
|
create mode 100644 tests/pytests/integration/ssh/conftest.py
|
||||||
|
|
||||||
|
diff --git a/salt/modules/status.py b/salt/modules/status.py
|
||||||
|
index 33e5d7b8df5..8d6241a9dce 100644
|
||||||
|
--- a/salt/modules/status.py
|
||||||
|
+++ b/salt/modules/status.py
|
||||||
|
@@ -1053,11 +1053,15 @@ def diskusage(*args):
|
||||||
|
ret = {}
|
||||||
|
for path in selected:
|
||||||
|
if os.path.exists(path):
|
||||||
|
- fsstats = os.statvfs(path)
|
||||||
|
- blksz = fsstats.f_bsize
|
||||||
|
- available = fsstats.f_bavail * blksz
|
||||||
|
- total = fsstats.f_blocks * blksz
|
||||||
|
- ret[path] = {"available": available, "total": total}
|
||||||
|
+ try:
|
||||||
|
+ fsstats = os.statvfs(path)
|
||||||
|
+ blksz = fsstats.f_bsize
|
||||||
|
+ available = fsstats.f_bavail * blksz
|
||||||
|
+ total = fsstats.f_blocks * blksz
|
||||||
|
+ ret[path] = {"available": available, "total": total}
|
||||||
|
+ except OSError as exc:
|
||||||
|
+ log.warning("Cannot get stats from '{}': {}".format(path, exc))
|
||||||
|
+ ret[path] = {"available": None, "total": None}
|
||||||
|
return ret
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/tests/integration/modules/test_pip.py b/tests/integration/modules/test_pip.py
|
||||||
|
index d57e9cd2aea..85045dec90b 100644
|
||||||
|
--- a/tests/integration/modules/test_pip.py
|
||||||
|
+++ b/tests/integration/modules/test_pip.py
|
||||||
|
@@ -2,6 +2,7 @@ import os
|
||||||
|
import pprint
|
||||||
|
import re
|
||||||
|
import shutil
|
||||||
|
+import sys
|
||||||
|
import tempfile
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
@@ -16,6 +17,10 @@ from tests.support.runtests import RUNTIME_VARS
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.skip_if_binaries_missing(*KNOWN_BINARY_NAMES, check_all=False)
|
||||||
|
+@pytest.mark.skipif(
|
||||||
|
+ "venv-salt-minion" in sys.executable,
|
||||||
|
+ reason="Skipping for Salt Bundle (tests are not compatible)",
|
||||||
|
+)
|
||||||
|
@pytest.mark.windows_whitelisted
|
||||||
|
class PipModuleTest(ModuleCase):
|
||||||
|
def setUp(self):
|
||||||
|
diff --git a/tests/integration/ssh/test_state.py b/tests/integration/ssh/test_state.py
|
||||||
|
index 69245454e85..daa478b45be 100644
|
||||||
|
--- a/tests/integration/ssh/test_state.py
|
||||||
|
+++ b/tests/integration/ssh/test_state.py
|
||||||
|
@@ -2,6 +2,7 @@ import glob
|
||||||
|
import logging
|
||||||
|
import os
|
||||||
|
import shutil
|
||||||
|
+import sys
|
||||||
|
import threading
|
||||||
|
import time
|
||||||
|
|
||||||
|
@@ -18,6 +19,10 @@ log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.slow_test
|
||||||
|
+@pytest.mark.skipif(
|
||||||
|
+ "venv-salt-minion" in sys.executable,
|
||||||
|
+ reason="Skipping for Salt Bundle (tests are not compatible)",
|
||||||
|
+)
|
||||||
|
class SSHStateTest(SSHCase):
|
||||||
|
"""
|
||||||
|
testing the state system with salt-ssh
|
||||||
|
diff --git a/tests/pytests/functional/modules/test_pip.py b/tests/pytests/functional/modules/test_pip.py
|
||||||
|
index e04baa7c43f..1f0104e3e6d 100644
|
||||||
|
--- a/tests/pytests/functional/modules/test_pip.py
|
||||||
|
+++ b/tests/pytests/functional/modules/test_pip.py
|
||||||
|
@@ -23,6 +23,10 @@ from tests.support.helpers import VirtualEnv
|
||||||
|
@pytest.mark.requires_network
|
||||||
|
@pytest.mark.slow_test
|
||||||
|
@pytest.mark.skip_if_binaries_missing("virtualenv", reason="Needs virtualenv binary")
|
||||||
|
+@pytest.mark.skipif(
|
||||||
|
+ "venv-salt-minion" in sys.executable,
|
||||||
|
+ reason="Skipping for Salt Bundle (tests are not compatible)",
|
||||||
|
+)
|
||||||
|
def test_list_available_packages(modules, pip_version, tmp_path):
|
||||||
|
with VirtualEnv(venv_dir=tmp_path, pip_requirement=pip_version) as virtualenv:
|
||||||
|
virtualenv.install("-U", pip_version)
|
||||||
|
diff --git a/tests/pytests/functional/modules/test_virtualenv_mod.py b/tests/pytests/functional/modules/test_virtualenv_mod.py
|
||||||
|
index 2b6abf91e23..69e1866c6e3 100644
|
||||||
|
--- a/tests/pytests/functional/modules/test_virtualenv_mod.py
|
||||||
|
+++ b/tests/pytests/functional/modules/test_virtualenv_mod.py
|
||||||
|
@@ -1,4 +1,5 @@
|
||||||
|
import shutil
|
||||||
|
+import sys
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
@@ -68,6 +69,10 @@ def test_clear(virtualenv, venv_dir, modules):
|
||||||
|
bool(salt.utils.path.which("transactional-update")),
|
||||||
|
reason="Skipping on transactional systems",
|
||||||
|
)
|
||||||
|
+@pytest.mark.skipif(
|
||||||
|
+ "venv-salt-minion" in sys.executable,
|
||||||
|
+ reason="Skipping for Salt Bundle (tests are not compatible)",
|
||||||
|
+)
|
||||||
|
def test_virtualenv_ver(virtualenv, venv_dir):
|
||||||
|
ret = virtualenv.create(str(venv_dir))
|
||||||
|
assert ret
|
||||||
|
diff --git a/tests/pytests/functional/states/test_pip_state.py b/tests/pytests/functional/states/test_pip_state.py
|
||||||
|
index 1f2080f1f86..28c1f9fd1f3 100644
|
||||||
|
--- a/tests/pytests/functional/states/test_pip_state.py
|
||||||
|
+++ b/tests/pytests/functional/states/test_pip_state.py
|
||||||
|
@@ -84,6 +84,10 @@ def create_virtualenv(modules):
|
||||||
|
bool(salt.utils.path.which("transactional-update")),
|
||||||
|
reason="Skipping on transactional systems",
|
||||||
|
)
|
||||||
|
+@pytest.mark.skipif(
|
||||||
|
+ "venv-salt-minion" in sys.executable,
|
||||||
|
+ reason="Skipping for Salt Bundle (tests are not compatible)",
|
||||||
|
+)
|
||||||
|
def test_pip_installed_removed(modules, states):
|
||||||
|
"""
|
||||||
|
Tests installed and removed states
|
||||||
|
diff --git a/tests/pytests/integration/cli/test_syndic_eauth.py b/tests/pytests/integration/cli/test_syndic_eauth.py
|
||||||
|
index dde4c25bc91..f2d36c13abb 100644
|
||||||
|
--- a/tests/pytests/integration/cli/test_syndic_eauth.py
|
||||||
|
+++ b/tests/pytests/integration/cli/test_syndic_eauth.py
|
||||||
|
@@ -68,6 +68,9 @@ def syndic_network():
|
||||||
|
try:
|
||||||
|
network = client.networks.create(name="syndic_test_net", ipam=ipam_config)
|
||||||
|
yield network.name
|
||||||
|
+ except Exception as e:
|
||||||
|
+ # Docker failed, it's gonna be an environment issue, let's just skip
|
||||||
|
+ pytest.skip(f"Docker failed with error {e}")
|
||||||
|
finally:
|
||||||
|
if network is not None:
|
||||||
|
network.remove()
|
||||||
|
diff --git a/tests/pytests/integration/modules/test_cmdmod.py b/tests/pytests/integration/modules/test_cmdmod.py
|
||||||
|
index d0b993ddbcf..20a6f808933 100644
|
||||||
|
--- a/tests/pytests/integration/modules/test_cmdmod.py
|
||||||
|
+++ b/tests/pytests/integration/modules/test_cmdmod.py
|
||||||
|
@@ -75,7 +75,9 @@ def test_blacklist_glob(salt_call_cli):
|
||||||
|
)
|
||||||
|
|
||||||
|
assert (
|
||||||
|
- ret.stderr.rstrip()
|
||||||
|
+ ret.stderr.rstrip().split("\n")[
|
||||||
|
+ -1
|
||||||
|
+ ] # Taking only the last line in case of DeprecationWarnings
|
||||||
|
== "Error running 'cmd.run': The shell command \"bad_command --foo\" is not permitted"
|
||||||
|
)
|
||||||
|
|
||||||
|
diff --git a/tests/pytests/integration/netapi/test_ssh_client.py b/tests/pytests/integration/netapi/test_ssh_client.py
|
||||||
|
index 42db6d0eacd..457c151c94f 100644
|
||||||
|
--- a/tests/pytests/integration/netapi/test_ssh_client.py
|
||||||
|
+++ b/tests/pytests/integration/netapi/test_ssh_client.py
|
||||||
|
@@ -1,3 +1,5 @@
|
||||||
|
+import sys
|
||||||
|
+
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
import salt.netapi
|
||||||
|
@@ -8,6 +10,10 @@ from tests.support.mock import patch
|
||||||
|
pytestmark = [
|
||||||
|
pytest.mark.slow_test,
|
||||||
|
pytest.mark.requires_sshd_server,
|
||||||
|
+ pytest.mark.skipif(
|
||||||
|
+ "venv-salt-minion" in sys.executable,
|
||||||
|
+ reason="Skipping for Salt Bundle (tests are not compatible)",
|
||||||
|
+ ),
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/tests/pytests/integration/ssh/conftest.py b/tests/pytests/integration/ssh/conftest.py
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000000..ba6e5f2773a
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/pytests/integration/ssh/conftest.py
|
||||||
|
@@ -0,0 +1,9 @@
|
||||||
|
+import sys
|
||||||
|
+
|
||||||
|
+import pytest
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+@pytest.fixture(scope="package", autouse=True)
|
||||||
|
+def _auto_skip_on_salt_bundle():
|
||||||
|
+ if "venv-salt-minion" in sys.executable:
|
||||||
|
+ pytest.skip("Skipping for Salt Bundle (tests are not compatible)")
|
||||||
|
diff --git a/tests/unit/utils/test_thin.py b/tests/unit/utils/test_thin.py
|
||||||
|
index c4e9c3b3bef..b31199976c8 100644
|
||||||
|
--- a/tests/unit/utils/test_thin.py
|
||||||
|
+++ b/tests/unit/utils/test_thin.py
|
||||||
|
@@ -1383,6 +1383,10 @@ class SSHThinTestCase(TestCase):
|
||||||
|
"virtualenv", reason="Needs virtualenv binary"
|
||||||
|
)
|
||||||
|
@pytest.mark.skip_on_windows(reason="salt-ssh does not deploy to/from windows")
|
||||||
|
+ @pytest.mark.skipif(
|
||||||
|
+ "venv-salt-minion" in sys.executable,
|
||||||
|
+ reason="Skipping for Salt Bundle (tests are not compatible)",
|
||||||
|
+ )
|
||||||
|
def test_thin_dir(self):
|
||||||
|
"""
|
||||||
|
Test the thin dir to make sure salt-call can run
|
||||||
|
--
|
||||||
|
2.44.0
|
||||||
|
|
||||||
|
|
@ -1,3 +1,11 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jun 18 15:00:44 UTC 2024 - Pablo Suárez Hernández <pablo.suarezhernandez@suse.com>
|
||||||
|
|
||||||
|
- Fix "status.diskusage" function and exclude some tests for Salt Bundle
|
||||||
|
|
||||||
|
- Added:
|
||||||
|
* fix-status.diskusage-and-exclude-some-tests-to-run-w.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Jun 12 08:44:38 UTC 2024 - Pablo Suárez Hernández <pablo.suarezhernandez@suse.com>
|
Wed Jun 12 08:44:38 UTC 2024 - Pablo Suárez Hernández <pablo.suarezhernandez@suse.com>
|
||||||
|
|
||||||
|
@ -400,6 +400,8 @@ Patch119: several-fixes-for-tests-to-avoid-errors-and-failures.patch
|
|||||||
Patch120: provide-systemd-timer-unit.patch
|
Patch120: provide-systemd-timer-unit.patch
|
||||||
# PATCH-FIX_UPSTREAM https://github.com/saltstack/salt/pull/66630
|
# PATCH-FIX_UPSTREAM https://github.com/saltstack/salt/pull/66630
|
||||||
Patch121: skip-certain-tests-if-necessary-and-mark-some-flaky-.patch
|
Patch121: skip-certain-tests-if-necessary-and-mark-some-flaky-.patch
|
||||||
|
# PATCH-FIX_UPSTREAM https://github.com/saltstack/salt/pull/66647
|
||||||
|
Patch122: fix-status.diskusage-and-exclude-some-tests-to-run-w.patch
|
||||||
|
|
||||||
### IMPORTANT: The line below is used as a snippet marker. Do not touch it.
|
### IMPORTANT: The line below is used as a snippet marker. Do not touch it.
|
||||||
### SALT PATCHES LIST END
|
### SALT PATCHES LIST END
|
||||||
|
Loading…
Reference in New Issue
Block a user