mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
58 lines
2.2 KiB
Python
58 lines
2.2 KiB
Python
# -*- coding: utf-8 -*-
|
|
'''
|
|
tests.integration.setup.test_egg
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
'''
|
|
|
|
# Import python libs
|
|
from __future__ import absolute_import, print_function, unicode_literals
|
|
import os
|
|
import re
|
|
import shutil
|
|
|
|
# Import Salt Testing libs
|
|
from tests.support.runtests import RUNTIME_VARS
|
|
from tests.support.unit import skipIf
|
|
from tests.support.helpers import VirtualEnv, destructiveTest
|
|
from tests.support.case import ModuleCase
|
|
|
|
# Import salt libs
|
|
import salt.utils.path
|
|
import salt.utils.platform
|
|
from salt.modules.virtualenv_mod import KNOWN_BINARY_NAMES
|
|
|
|
|
|
@destructiveTest
|
|
@skipIf(salt.utils.path.which_bin(KNOWN_BINARY_NAMES) is None, 'virtualenv not installed')
|
|
class EggSetupTest(ModuleCase):
|
|
'''
|
|
Tests for building and installing egg packages
|
|
'''
|
|
def test_egg_install(self):
|
|
'''
|
|
test installing an egg package
|
|
'''
|
|
# Let's create the testing virtualenv
|
|
with VirtualEnv() as venv:
|
|
ret = self.run_function('cmd.run', ['{0} setup.py install --prefix={1}'.format(venv.venv_python,
|
|
venv.venv_dir)],
|
|
cwd=RUNTIME_VARS.CODE_DIR)
|
|
lib_dir = os.path.join(venv.venv_dir, 'lib')
|
|
for _dir in os.listdir(lib_dir):
|
|
site_pkg = os.path.join(lib_dir, _dir, 'site-packages')
|
|
for _file in os.listdir(site_pkg):
|
|
if _file.startswith('salt-'):
|
|
egg = os.path.join(venv.venv_dir, _file)
|
|
assert os.path.exists(os.path.join(site_pkg, _file, 'salt', '_version.py'))
|
|
break
|
|
|
|
# Let's ensure the version is correct
|
|
pip_ver = self.run_function('pip.list', bin_env=venv.venv_dir).get('salt')
|
|
egg_ver = [x for x in egg.split('/')[-1:][0].split('-') if re.search(r'^\d.\d*', x)][0]
|
|
assert pip_ver == egg_ver.replace('_', '-')
|
|
assert self.run_function('cmd.run', ['salt --version']).split()[1] == pip_ver
|
|
|
|
def tearDown(self):
|
|
build_dir = os.path.join(RUNTIME_VARS.CODE_DIR, 'build')
|
|
if os.path.exists(build_dir):
|
|
shutil.rmtree(build_dir)
|