Skip to content

Commit

Permalink
Merge pull request #8 from s0undt3ch/hotfix/fix-suse-skips
Browse files Browse the repository at this point in the history
Fix suse skips
  • Loading branch information
dwoz authored Jul 15, 2019
2 parents 6e0c8f6 + fe428f1 commit 01871e7
Show file tree
Hide file tree
Showing 5 changed files with 51 additions and 45 deletions.
42 changes: 42 additions & 0 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,13 +43,16 @@
# Import pytest libs
import pytest
import _pytest.logging
import _pytest.skipping
from _pytest.mark.evaluate import MarkEvaluator

# Import 3rd-party libs
import yaml
import psutil
from salt.ext import six

# Import salt libs
import salt.loader
import salt.config
import salt.utils.files
import salt.utils.path
Expand Down Expand Up @@ -1092,3 +1095,42 @@ def bridge_pytest_and_runtests(reap_stray_processes,
os.path.join(RUNTIME_VARS.TMP_CONF_DIR, entry)
)
# <---- Salt Configuration -------------------------------------------------------------------------------------------
# <---- Fixtures Overrides -------------------------------------------------------------------------------------------


# ----- Custom Grains Mark Evaluator -------------------------------------------------------------------------------->
class GrainsMarkEvaluator(MarkEvaluator):
_cached_grains = None

def _getglobals(self):
item_globals = super(GrainsMarkEvaluator, self)._getglobals()
if GrainsMarkEvaluator._cached_grains is None:
cachedir = self.item.config.cache._cachedir
root_dir = cachedir / 'salt'
opts = {
'root_dir': str(root_dir),
'cachedir': str(root_dir / 'cache'),
'extension_modules': str(root_dir / 'extmods')
}
GrainsMarkEvaluator._grains = salt.loader.grains(opts)
item_globals['grains'] = GrainsMarkEvaluator._grains.copy()
return item_globals


# Patch PyTest's skipping MarkEvaluator to use our GrainsMarkEvaluator
_pytest.skipping.MarkEvaluator = GrainsMarkEvaluator
# <---- Custom Grains Mark Evaluator ---------------------------------------------------------------------------------


# ----- Custom Fixtures --------------------------------------------------------------------------------------------->
@pytest.fixture(scope='session')
def grains(request):
cachedir = request.config.cache._cachedir
root_dir = cachedir / 'salt'
opts = {
'root_dir': str(root_dir),
'cachedir': str(root_dir / 'cache'),
'extension_modules': str(root_dir / 'extmods')
}
return salt.loader.grains(opts)
# <---- Custom Fixtures ----------------------------------------------------------------------------------------------
15 changes: 3 additions & 12 deletions tests/integration/states/test_pkg.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,6 @@
import os
import time

# linux_distribution deprecated in py3.7
try:
from platform import linux_distribution
except ImportError:
from distro import linux_distribution

# Import Salt Testing libs
from tests.support.case import ModuleCase
from tests.support.mixins import SaltReturnAssertsMixin
Expand All @@ -31,6 +25,7 @@
import salt.utils.platform

# Import 3rd-party libs
import pytest
from salt.ext import six
from salt.ext.six.moves import range # pylint: disable=import-error,redefined-builtin

Expand Down Expand Up @@ -70,10 +65,6 @@

_WILDCARDS_SUPPORTED = ('Arch', 'Debian', 'RedHat')

ON_SUSE = False
if 'SuSE' in linux_distribution(full_distribution_name=False):
ON_SUSE = True


def pkgmgr_avail(run_function, grains):
'''
Expand Down Expand Up @@ -188,7 +179,7 @@ def setUp(self):
self.run_function('pkg.refresh_db')
self.ctx['refresh'] = True

@skipIf(ON_SUSE, 'WAR ROOM SKIP FRIDAY')
@pytest.mark.skipif('grains["os_family"] in ("Suse",)', reason='WAR ROOM SKIP FRIDAY')
@requires_system_grains
def test_pkg_001_installed(self, grains):
'''
Expand Down Expand Up @@ -290,7 +281,7 @@ def test_pkg_003_installed_multipkg(self, grains):
ret = self.run_state('pkg.removed', name=None, pkgs=pkg_targets)
self.assertSaltTrueReturn(ret)

@skipIf(ON_SUSE, 'WAR ROOM SKIP FRIDAY')
@pytest.mark.skipif('grains["os_family"] in ("Suse",)', reason='WAR ROOM SKIP FRIDAY')
@requires_system_grains
def test_pkg_004_installed_multipkg_with_version(self, grains):
'''
Expand Down
10 changes: 0 additions & 10 deletions tests/unit/modules/test_boto_lambda.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,6 @@
import os
from tempfile import NamedTemporaryFile

# linux_distribution deprecated in py3.7
try:
from platform import linux_distribution
except ImportError:
from distro import linux_distribution

# Import Salt Testing libs
from tests.support.mixins import LoaderModuleMockMixin
from tests.support.unit import skipIf, TestCase
Expand Down Expand Up @@ -44,10 +38,6 @@
except ImportError:
HAS_BOTO = False

ON_SUSE = False
if 'SuSE' in linux_distribution(full_distribution_name=False):
ON_SUSE = True

# pylint: enable=import-error,no-name-in-module

# the boto_lambda module relies on the connect_to_region() method
Expand Down
15 changes: 3 additions & 12 deletions tests/unit/modules/test_cmdmod.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,8 @@
import sys
import tempfile

# linux_distribution deprecated in py3.7
try:
from platform import linux_distribution
except ImportError:
from distro import linux_distribution
# Import 3rd-party libs
import pytest

# Import Salt Libs
import salt.utils.files
Expand Down Expand Up @@ -75,11 +72,6 @@ def stderr(self):
return self._stderr


ON_SUSE = False
if 'SuSE' in linux_distribution(full_distribution_name=False):
ON_SUSE = True


@skipIf(NO_MOCK, NO_MOCK_REASON)
class CMDMODTestCase(TestCase, LoaderModuleMockMixin):
'''
Expand Down Expand Up @@ -356,8 +348,7 @@ def test_run_cwd_doesnt_exist_issue_7154(self):
raise RuntimeError

@skipIf(True, 'WAR ROOM SKIP FRIDAY')
@skipIf(salt.utils.platform.is_windows(), 'Do not run on Windows')
@skipIf(salt.utils.platform.is_darwin(), 'Do not run on MacOS')
@pytest.mark.skipif('grains["os_family"] in ("MacOS", "Windows")', reason='Do not run on Windows or MacOS')
def test_run_cwd_in_combination_with_runas(self):
'''
cmd.run executes command in the cwd directory
Expand Down
14 changes: 3 additions & 11 deletions tests/unit/transport/test_zeromq.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,8 @@
import ctypes
from concurrent.futures.thread import ThreadPoolExecutor

# linux_distribution deprecated in py3.7
try:
from platform import linux_distribution
except ImportError:
from distro import linux_distribution

# Import 3rd-party libs
import pytest
import zmq.eventloop.ioloop
# support pyzmq 13.0.x, TODO: remove once we force people to 14.0.x
if not hasattr(zmq.eventloop.ioloop, 'ZMQIOLoop'):
Expand Down Expand Up @@ -46,10 +41,6 @@
from tests.support.mock import MagicMock, patch
from tests.unit.transport.mixins import PubChannelMixin, ReqChannelMixin

ON_SUSE = False
if 'SuSE' in linux_distribution(full_distribution_name=False):
ON_SUSE = True


class BaseZMQReqCase(TestCase, AdaptedConfigurationTestCaseMixin):
'''
Expand Down Expand Up @@ -158,7 +149,8 @@ def test_master_uri_override(self):


@flaky
@skipIf(ON_SUSE, 'Skipping until https://github.com/saltstack/salt/issues/32902 gets fixed')
@pytest.mark.skipif('grains["os_family"] in ("Suse",)',
reason='Skipping until https://github.com/saltstack/salt/issues/32902 gets fixed')
class AESReqTestCases(BaseZMQReqCase, ReqChannelMixin):
def setUp(self):
self.channel = salt.transport.client.ReqChannel.factory(self.minion_config)
Expand Down

0 comments on commit 01871e7

Please sign in to comment.