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.run_command('download-windows-dlls')
|
||||
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
|
||||
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