mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
Ensure version.py included before we install
This commit is contained in:
parent
249367b462
commit
a8a22a4040
2 changed files with 64 additions and 0 deletions
6
setup.py
6
setup.py
|
@ -745,6 +745,12 @@ class Install(install):
|
||||||
self.distribution.salt_download_windows_dlls = True
|
self.distribution.salt_download_windows_dlls = True
|
||||||
self.run_command('download-windows-dlls')
|
self.run_command('download-windows-dlls')
|
||||||
self.distribution.salt_download_windows_dlls = None
|
self.distribution.salt_download_windows_dlls = None
|
||||||
|
# need to ensure _version.py is created in build dir before install
|
||||||
|
if not os.path.exists(os.path.join(self.build_lib)):
|
||||||
|
if not self.skip_build:
|
||||||
|
self.run_command('build')
|
||||||
|
else:
|
||||||
|
self.run_command('write_salt_version')
|
||||||
# Run install.run
|
# Run install.run
|
||||||
install.run(self)
|
install.run(self)
|
||||||
|
|
||||||
|
|
58
tests/integration/setup/test_egg.py
Normal file
58
tests/integration/setup/test_egg.py
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
# -*- 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)
|
Loading…
Add table
Reference in a new issue