Fix all PEP-008 issues

This commit is contained in:
Nicola Soranzo
2020-02-14 15:50:06 +00:00
parent 1e420a9b57
commit cab6ecef24
34 changed files with 175 additions and 65 deletions
+4 -3
View File
@@ -1,6 +1,9 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import os, sys, subprocess, shutil import argparse
import os
import subprocess
import sys
def single_run(test_project): def single_run(test_project):
@@ -11,8 +14,6 @@ def single_run(test_project):
if __name__ == '__main__': if __name__ == '__main__':
import argparse
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser()
parser.add_argument("test_project_dir") parser.add_argument("test_project_dir")
args = parser.parse_args() args = parser.parse_args()
+5 -3
View File
@@ -1,17 +1,19 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import os, sys, subprocess, shutil, json import os
import subprocess
import sys
from glob import glob from glob import glob
if __name__ == '__main__': if __name__ == '__main__':
# move cwd to the project root # move cwd to the project root
os.chdir(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) os.chdir(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
### run the unit tests # run the unit tests
subprocess.check_call([sys.executable, '-m', 'pytest', 'unit_test']) subprocess.check_call([sys.executable, '-m', 'pytest', 'unit_test'])
### run the integration tests # run the integration tests
test_projects = sorted(glob('test/??_*')) test_projects = sorted(glob('test/??_*'))
+15 -7
View File
@@ -1,10 +1,20 @@
import argparse, os, subprocess, sys, textwrap import argparse
import os
import sys
import textwrap
import traceback
import cibuildwheel import cibuildwheel
import cibuildwheel.linux, cibuildwheel.windows, cibuildwheel.macos import cibuildwheel.linux
from cibuildwheel.environment import parse_environment, EnvironmentParseError import cibuildwheel.macos
import cibuildwheel.windows
from cibuildwheel.environment import (
EnvironmentParseError,
parse_environment,
)
from cibuildwheel.util import BuildSelector, Unbuffered from cibuildwheel.util import BuildSelector, Unbuffered
def get_option_from_environment(option_name, platform=None, default=None): def get_option_from_environment(option_name, platform=None, default=None):
''' '''
Returns an option from the environment, optionally scoped by the platform. Returns an option from the environment, optionally scoped by the platform.
@@ -84,7 +94,6 @@ def main():
file=sys.stderr) file=sys.stderr)
exit(2) exit(2)
output_dir = args.output_dir output_dir = args.output_dir
test_command = get_option_from_environment('CIBW_TEST_COMMAND', platform=platform) test_command = get_option_from_environment('CIBW_TEST_COMMAND', platform=platform)
test_requires = get_option_from_environment('CIBW_TEST_REQUIRES', platform=platform, default='').split() test_requires = get_option_from_environment('CIBW_TEST_REQUIRES', platform=platform, default='').split()
@@ -112,9 +121,8 @@ def main():
try: try:
environment = parse_environment(environment_config) environment = parse_environment(environment_config)
except (EnvironmentParseError, ValueError) as e: except (EnvironmentParseError, ValueError):
print('cibuildwheel: Malformed environment option "%s"' % environment_config, file=sys.stderr) print('cibuildwheel: Malformed environment option "%s"' % environment_config, file=sys.stderr)
import traceback
traceback.print_exc(None, sys.stderr) traceback.print_exc(None, sys.stderr)
exit(2) exit(2)
@@ -210,6 +218,7 @@ def detect_obsolete_options():
)) ))
os.environ[option] = os.environ[option].replace(deprecated, alternative) os.environ[option] = os.environ[option].replace(deprecated, alternative)
def print_preamble(platform, build_options): def print_preamble(platform, build_options):
print(textwrap.dedent(''' print(textwrap.dedent('''
_ _ _ _ _ _ _ _ _ _ _ _ _ _
@@ -220,7 +229,6 @@ def print_preamble(platform, build_options):
print('cibuildwheel version %s\n' % cibuildwheel.__version__) print('cibuildwheel version %s\n' % cibuildwheel.__version__)
print('Build options:') print('Build options:')
print(' platform: %r' % platform) print(' platform: %r' % platform)
for option, value in sorted(build_options.items()): for option, value in sorted(build_options.items()):
+6 -1
View File
@@ -1,9 +1,13 @@
import subprocess, shlex, sys import shlex
import subprocess
import sys
from collections import namedtuple from collections import namedtuple
import bashlex import bashlex
NodeExecutionContext = namedtuple('NodeExecutionContext', ['environment', 'input']) NodeExecutionContext = namedtuple('NodeExecutionContext', ['environment', 'input'])
def evaluate(value, environment): def evaluate(value, environment):
if not value: if not value:
# empty string evaluates to empty string # empty string evaluates to empty string
@@ -63,5 +67,6 @@ def evaluate_command_node(node, context):
return subprocess.check_output(shlex.split(command), env=context.environment, universal_newlines=True) return subprocess.check_output(shlex.split(command), env=context.environment, universal_newlines=True)
def evaluate_parameter_node(node, context): def evaluate_parameter_node(node, context):
return context.environment.get(node.value, '') return context.environment.get(node.value, '')
+1
View File
@@ -1,4 +1,5 @@
import bashlex import bashlex
from . import bashlex_eval from . import bashlex_eval
+16 -8
View File
@@ -1,6 +1,15 @@
import os, shlex, subprocess, sys, textwrap, uuid import os
import shlex
import subprocess
import sys
import textwrap
import uuid
from collections import namedtuple from collections import namedtuple
from .util import prepare_command, get_build_verbosity_extra_flags
from .util import (
get_build_verbosity_extra_flags,
prepare_command,
)
def get_python_configurations(build_selector): def get_python_configurations(build_selector):
@@ -27,7 +36,7 @@ def get_python_configurations(build_selector):
def build(project_dir, output_dir, test_command, test_requires, test_extras, before_build, build_verbosity, build_selector, repair_command, environment, manylinux_images): def build(project_dir, output_dir, test_command, test_requires, test_extras, before_build, build_verbosity, build_selector, repair_command, environment, manylinux_images):
try: try:
subprocess.check_call(['docker', '--version']) subprocess.check_call(['docker', '--version'])
except: except Exception:
print('cibuildwheel: Docker not found. Docker is required to run Linux builds. ' print('cibuildwheel: Docker not found. Docker is required to run Linux builds. '
'If you\'re building on Travis CI, add `services: [docker]` to your .travis.yml.' 'If you\'re building on Travis CI, add `services: [docker]` to your .travis.yml.'
'If you\'re building on Circle CI in Linux, add a `setup_remote_docker` step to your .circleci/config.yml', 'If you\'re building on Circle CI in Linux, add a `setup_remote_docker` step to your .circleci/config.yml',
@@ -123,7 +132,7 @@ def build(project_dir, output_dir, test_command, test_requires, test_extras, bef
for repaired_wheel in "${{repaired_wheels[@]}}"; do chown {uid}:{gid} "/output/$(basename "$repaired_wheel")"; done for repaired_wheel in "${{repaired_wheels[@]}}"; do chown {uid}:{gid} "/output/$(basename "$repaired_wheel")"; done
done done
'''.format( '''.format(
pybin_paths=' '.join(c.path+'/bin' for c in platform_configs), pybin_paths=' '.join(c.path + '/bin' for c in platform_configs),
test_requires=' '.join(test_requires), test_requires=' '.join(test_requires),
test_extras=test_extras, test_extras=test_extras,
test_command=shlex.quote( test_command=shlex.quote(
@@ -147,9 +156,8 @@ def build(project_dir, output_dir, test_command, test_requires, test_extras, bef
'--env', 'CIBUILDWHEEL', '--env', 'CIBUILDWHEEL',
'--name', container_name, '--name', container_name,
'-i', '-i',
'-v', '/:/host', # ignored on CircleCI '-v', '/:/host', # ignored on CircleCI
docker_image, '/bin/bash'], docker_image, '/bin/bash'], check=True)
check=True)
subprocess.run(['docker', 'cp', os.path.abspath(project_dir) + '/.', container_name + ':/project'], check=True) subprocess.run(['docker', 'cp', os.path.abspath(project_dir) + '/.', container_name + ':/project'], check=True)
subprocess.run(['docker', 'start', '-i', '-a', container_name], input=bash_script, universal_newlines=True, check=True) subprocess.run(['docker', 'start', '-i', '-a', container_name], input=bash_script, universal_newlines=True, check=True)
subprocess.run(['docker', 'cp', container_name + ':/output/.', os.path.abspath(output_dir)], check=True) subprocess.run(['docker', 'cp', container_name + ':/output/.', os.path.abspath(output_dir)], check=True)
@@ -184,5 +192,5 @@ def troubleshoot(project_dir, error):
''')) '''))
print(' Files detected:') print(' Files detected:')
print('\n'.join([' '+f for f in so_files])) print('\n'.join([' ' + f for f in so_files]))
print('') print('')
+10 -3
View File
@@ -1,9 +1,16 @@
import os
import shlex
import shutil
import subprocess
import tempfile import tempfile
import os, subprocess, shlex, sys, shutil
from collections import namedtuple from collections import namedtuple
from glob import glob from glob import glob
from .util import prepare_command, get_build_verbosity_extra_flags, download from .util import (
download,
get_build_verbosity_extra_flags,
prepare_command,
)
def get_python_configurations(build_selector): def get_python_configurations(build_selector):
@@ -31,7 +38,7 @@ def build(project_dir, output_dir, test_command, test_requires, test_extras, bef
get_pip_url = 'https://bootstrap.pypa.io/get-pip.py' get_pip_url = 'https://bootstrap.pypa.io/get-pip.py'
get_pip_script = '/tmp/get-pip.py' get_pip_script = '/tmp/get-pip.py'
pkgs_output = subprocess.check_output(['pkgutil', '--pkgs'], universal_newlines=True) pkgs_output = subprocess.check_output(['pkgutil', '--pkgs'], universal_newlines=True)
installed_system_packages = pkgs_output.splitlines() installed_system_packages = pkgs_output.splitlines()
def call(args, env=None, cwd=None, shell=False): def call(args, env=None, cwd=None, shell=False):
+3 -3
View File
@@ -1,6 +1,6 @@
import os
import urllib.request
from fnmatch import fnmatch from fnmatch import fnmatch
import warnings
import os, urllib.request
from time import sleep from time import sleep
@@ -64,7 +64,7 @@ def download(url, dest):
for i in range(repeat_num): for i in range(repeat_num):
try: try:
response = urllib.request.urlopen(url) response = urllib.request.urlopen(url)
except: except Exception:
if i == repeat_num - 1: if i == repeat_num - 1:
raise raise
sleep(3) sleep(3)
+11 -3
View File
@@ -1,8 +1,15 @@
import os, tempfile, subprocess, shutil, sys import os
import shutil
import subprocess
import tempfile
from collections import namedtuple from collections import namedtuple
from glob import glob from glob import glob
from .util import prepare_command, get_build_verbosity_extra_flags, download from .util import (
download,
get_build_verbosity_extra_flags,
prepare_command,
)
IS_RUNNING_ON_AZURE = os.path.exists('C:\\hostedtoolcache') IS_RUNNING_ON_AZURE = os.path.exists('C:\\hostedtoolcache')
@@ -20,6 +27,7 @@ def get_nuget_args(configuration):
python_name = python_name + "x86" python_name = python_name + "x86"
return [python_name, "-Version", configuration.version, "-OutputDirectory", "C:/cibw/python"] return [python_name, "-Version", configuration.version, "-OutputDirectory", "C:/cibw/python"]
def get_python_configurations(build_selector): def get_python_configurations(build_selector):
PythonConfiguration = namedtuple('PythonConfiguration', ['version', 'arch', 'identifier']) PythonConfiguration = namedtuple('PythonConfiguration', ['version', 'arch', 'identifier'])
python_configurations = [ python_configurations = [
@@ -40,7 +48,7 @@ def get_python_configurations(build_selector):
# try with (and similar): msiexec /i VCForPython27.msi ALLUSERS=1 ACCEPT=YES /passive # try with (and similar): msiexec /i VCForPython27.msi ALLUSERS=1 ACCEPT=YES /passive
python_configurations = [c for c in python_configurations if not c.version.startswith('2.7.')] python_configurations = [c for c in python_configurations if not c.version.startswith('2.7.')]
# skip builds as required # skip builds as required
python_configurations = [c for c in python_configurations if build_selector(c.identifier)] python_configurations = [c for c in python_configurations if build_selector(c.identifier)]
return python_configurations return python_configurations
@@ -1,4 +1,9 @@
import mkdocs, re, os, io, cgi import cgi
import io
import os
import re
import mkdocs
INCLUDE_TAG_REGEX = re.compile( INCLUDE_TAG_REGEX = re.compile(
r''' r'''
@@ -28,6 +33,7 @@ INCLUDEMARKDOWN_TAG_REGEX = re.compile(
flags=re.VERBOSE, flags=re.VERBOSE,
) )
class ImportMarkdownPlugin(mkdocs.plugins.BasePlugin): class ImportMarkdownPlugin(mkdocs.plugins.BasePlugin):
def on_page_markdown(self, markdown, page, **kwargs): def on_page_markdown(self, markdown, page, **kwargs):
page_src_path = page.file.abs_src_path page_src_path = page.file.abs_src_path
@@ -80,4 +86,3 @@ class ImportMarkdownPlugin(mkdocs.plugins.BasePlugin):
markdown = re.sub(INCLUDE_TAG_REGEX, found_include_tag, markdown) markdown = re.sub(INCLUDE_TAG_REGEX, found_include_tag, markdown)
markdown = re.sub(INCLUDEMARKDOWN_TAG_REGEX, found_includemarkdown_tag, markdown) markdown = re.sub(INCLUDEMARKDOWN_TAG_REGEX, found_includemarkdown_tag, markdown)
return markdown return markdown
+3
View File
@@ -19,3 +19,6 @@ replace = cibuildwheel=={new_version}
[bdist_wheel] [bdist_wheel]
universal = 1 universal = 1
[flake8]
ignore = E501,W503
application-import-names = cibuildwheel
+3 -2
View File
@@ -1,5 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import os, io import io
import os
try: try:
from setuptools import setup from setuptools import setup
@@ -20,7 +21,7 @@ setup(
author="Joe Rickerby", author="Joe Rickerby",
author_email='joerick@mac.com', author_email='joerick@mac.com',
url='https://github.com/joerick/cibuildwheel', url='https://github.com/joerick/cibuildwheel',
packages=['cibuildwheel',], packages=['cibuildwheel', ],
license="BSD", license="BSD",
zip_safe=False, zip_safe=False,
package_data={ package_data={
+3 -2
View File
@@ -1,9 +1,10 @@
import os import os
import utils import utils
project_dir = os.path.dirname(__file__) project_dir = os.path.dirname(__file__)
def test(): def test():
# build the wheels # build the wheels
actual_wheels = utils.cibuildwheel_run(project_dir) actual_wheels = utils.cibuildwheel_run(project_dir)
@@ -20,6 +21,6 @@ def test_build_identifiers():
# can be multiple wheels for each wheel, though, so we need to limit # can be multiple wheels for each wheel, though, so we need to limit
# the expected wheels # the expected wheels
expected_wheels = [w for w in utils.expected_wheels('spam', '0.1.0') expected_wheels = [w for w in utils.expected_wheels('spam', '0.1.0')
if not '-manylinux' in w or '-manylinux1' in w] if '-manylinux' not in w or '-manylinux1' in w]
build_identifiers = utils.cibuildwheel_get_build_identifiers(project_dir) build_identifiers = utils.cibuildwheel_get_build_identifiers(project_dir)
assert len(expected_wheels) == len(build_identifiers) assert len(expected_wheels) == len(build_identifiers)
+4 -1
View File
@@ -1,6 +1,9 @@
import os import os
from setuptools import setup, Extension from setuptools import (
Extension,
setup,
)
if os.environ.get('CIBUILDWHEEL', '0') != '1': if os.environ.get('CIBUILDWHEEL', '0') != '1':
raise Exception('CIBUILDWHEEL environment variable is not set to 1') raise Exception('CIBUILDWHEEL environment variable is not set to 1')
+5 -1
View File
@@ -1,7 +1,11 @@
import os, subprocess import os
import subprocess
import pytest import pytest
import utils import utils
def test(): def test():
project_dir = os.path.dirname(__file__) project_dir = os.path.dirname(__file__)
+4 -1
View File
@@ -1,4 +1,7 @@
from setuptools import setup, Extension from setuptools import (
Extension,
setup,
)
setup( setup(
name="spam", name="spam",
+1
View File
@@ -1,4 +1,5 @@
from unittest import TestCase from unittest import TestCase
import spam import spam
@@ -1,6 +1,8 @@
import os import os
import utils import utils
def test(): def test():
project_dir = os.path.dirname(__file__) project_dir = os.path.dirname(__file__)
+7 -2
View File
@@ -1,5 +1,10 @@
from setuptools import setup, Extension import os
import sys, os import sys
from setuptools import (
Extension,
setup,
)
# assert that the Python version as written to pythonversion.txt in the CIBW_BEFORE_BUILD step # assert that the Python version as written to pythonversion.txt in the CIBW_BEFORE_BUILD step
# is the same one as is currently running. # is the same one as is currently running.
+2
View File
@@ -1,6 +1,8 @@
import os import os
import utils import utils
def test(): def test():
project_dir = os.path.dirname(__file__) project_dir = os.path.dirname(__file__)
+5 -1
View File
@@ -1,6 +1,10 @@
from setuptools import setup, Extension
import sys import sys
from setuptools import (
Extension,
setup,
)
# explode if run on Python 2.7 or Python 3.4 (these should be skipped) # explode if run on Python 2.7 or Python 3.4 (these should be skipped)
if sys.version_info[0:2] == (2, 7): if sys.version_info[0:2] == (2, 7):
raise Exception('Python 2.7 should not be built') raise Exception('Python 2.7 should not be built')
+2
View File
@@ -1,6 +1,8 @@
import os import os
import utils import utils
def test(): def test():
project_dir = os.path.dirname(__file__) project_dir = os.path.dirname(__file__)
+6 -3
View File
@@ -1,5 +1,9 @@
from setuptools import setup, Extension import os
import sys, os
from setuptools import (
Extension,
setup,
)
# explode if environment isn't correct, as set in CIBW_ENVIRONMENT # explode if environment isn't correct, as set in CIBW_ENVIRONMENT
CIBW_TEST_VAR = os.environ.get('CIBW_TEST_VAR') CIBW_TEST_VAR = os.environ.get('CIBW_TEST_VAR')
@@ -15,7 +19,6 @@ if '/opt/cibw_test_path' not in PATH:
if '$PATH' in PATH: if '$PATH' in PATH:
raise Exception('$PATH should be expanded in PATH. It was "%s"' % PATH) raise Exception('$PATH should be expanded in PATH. It was "%s"' % PATH)
setup( setup(
name="spam", name="spam",
ext_modules=[Extension('spam', sources=['spam.c'])], ext_modules=[Extension('spam', sources=['spam.c'])],
+5 -1
View File
@@ -1,6 +1,10 @@
import os, pytest import os
import pytest
import utils import utils
def test(): def test():
project_dir = os.path.dirname(__file__) project_dir = os.path.dirname(__file__)
+6 -2
View File
@@ -1,6 +1,10 @@
import os, sys import os
import sys
from setuptools import setup, Extension from setuptools import (
Extension,
setup,
)
# check that we're running in the correct docker image as specified in the # check that we're running in the correct docker image as specified in the
# environment options CIBW_MANYLINUX1_*_IMAGE # environment options CIBW_MANYLINUX1_*_IMAGE
+2
View File
@@ -1,6 +1,8 @@
import os import os
import utils import utils
def test(): def test():
project_dir = os.path.dirname(__file__) project_dir = os.path.dirname(__file__)
# this test checks that SSL is working in the build environment using # this test checks that SSL is working in the build environment using
+5 -1
View File
@@ -1,6 +1,10 @@
import ssl import ssl
import sys import sys
from setuptools import setup, Extension
from setuptools import (
Extension,
setup,
)
if sys.version_info[0] == 2: if sys.version_info[0] == 2:
from urllib2 import urlopen from urllib2 import urlopen
@@ -1,4 +1,7 @@
import os, pytest import os
import pytest
import utils import utils
+4 -1
View File
@@ -1,4 +1,7 @@
from setuptools import setup, Extension from setuptools import (
Extension,
setup,
)
setup( setup(
name="spam", name="spam",
+2 -1
View File
@@ -1,9 +1,10 @@
import os import os
import utils import utils
project_dir = os.path.dirname(__file__) project_dir = os.path.dirname(__file__)
def test(): def test():
# build the wheels # build the wheels
actual_wheels = utils.cibuildwheel_run(project_dir) actual_wheels = utils.cibuildwheel_run(project_dir)
+4 -4
View File
@@ -1,7 +1,7 @@
import os from setuptools import (
Extension,
from setuptools import setup, Extension setup,
)
setup( setup(
ext_modules=[Extension('spam.spam', sources=['spam/spam.c'])], ext_modules=[Extension('spam.spam', sources=['spam/spam.c'])],
+5 -3
View File
@@ -4,10 +4,12 @@ Utility functions used by the cibuildwheel tests.
This file is added to the PYTHONPATH in the test runner at bin/run_test.py. This file is added to the PYTHONPATH in the test runner at bin/run_test.py.
''' '''
import subprocess, sys, os, shutil import os
from tempfile import mkdtemp import shutil
import subprocess
import sys
from contextlib import contextmanager from contextlib import contextmanager
from tempfile import mkdtemp
IS_WINDOWS_RUNNING_ON_AZURE = os.path.exists('C:\\hostedtoolcache') IS_WINDOWS_RUNNING_ON_AZURE = os.path.exists('C:\\hostedtoolcache')
IS_WINDOWS_RUNNING_ON_TRAVIS = os.environ.get('TRAVIS_OS_NAME') == 'windows' IS_WINDOWS_RUNNING_ON_TRAVIS = os.environ.get('TRAVIS_OS_NAME') == 'windows'
+8
View File
@@ -1,4 +1,5 @@
import os import os
from cibuildwheel.environment import parse_environment from cibuildwheel.environment import parse_environment
@@ -13,6 +14,7 @@ def test_basic_parsing():
assert environment_dict == {'VAR': '1', 'VBR': '2'} assert environment_dict == {'VAR': '1', 'VBR': '2'}
assert environment_cmds == ['export VAR=1', 'export VBR=2'] assert environment_cmds == ['export VAR=1', 'export VBR=2']
def test_quotes(): def test_quotes():
environment_recipe = parse_environment('A=1 VAR="1 NOT_A_VAR=2" VBR=\'vbr\'') environment_recipe = parse_environment('A=1 VAR="1 NOT_A_VAR=2" VBR=\'vbr\'')
@@ -24,6 +26,7 @@ def test_quotes():
assert environment_dict == {'A': '1', 'VAR': '1 NOT_A_VAR=2', 'VBR': 'vbr'} assert environment_dict == {'A': '1', 'VAR': '1 NOT_A_VAR=2', 'VBR': 'vbr'}
assert environment_cmds == ['export A=1', 'export VAR="1 NOT_A_VAR=2"', 'export VBR=\'vbr\''] assert environment_cmds == ['export A=1', 'export VAR="1 NOT_A_VAR=2"', 'export VBR=\'vbr\'']
def test_inheritance(): def test_inheritance():
environment_recipe = parse_environment('PATH=$PATH:/usr/local/bin') environment_recipe = parse_environment('PATH=$PATH:/usr/local/bin')
@@ -35,6 +38,7 @@ def test_inheritance():
assert environment_dict == {'PATH': '/usr/bin:/usr/local/bin'} assert environment_dict == {'PATH': '/usr/bin:/usr/local/bin'}
assert environment_cmds == ['export PATH=$PATH:/usr/local/bin'] assert environment_cmds == ['export PATH=$PATH:/usr/local/bin']
def test_shell_eval(): def test_shell_eval():
environment_recipe = parse_environment('VAR="$(echo "a test" string)"') environment_recipe = parse_environment('VAR="$(echo "a test" string)"')
@@ -49,6 +53,7 @@ def test_shell_eval():
assert environment_dict['VAR'] == 'a test string' assert environment_dict['VAR'] == 'a test string'
assert environment_cmds == ['export VAR="$(echo "a test" string)"'] assert environment_cmds == ['export VAR="$(echo "a test" string)"']
def test_shell_eval_and_env(): def test_shell_eval_and_env():
environment_recipe = parse_environment('VAR="$(echo "$PREV_VAR" string)"') environment_recipe = parse_environment('VAR="$(echo "$PREV_VAR" string)"')
@@ -60,6 +65,7 @@ def test_shell_eval_and_env():
assert environment_dict == {'PREV_VAR': '1 2 3', 'VAR': '1 2 3 string'} assert environment_dict == {'PREV_VAR': '1 2 3', 'VAR': '1 2 3 string'}
assert environment_cmds == ['export VAR="$(echo "$PREV_VAR" string)"'] assert environment_cmds == ['export VAR="$(echo "$PREV_VAR" string)"']
def test_empty_var(): def test_empty_var():
environment_recipe = parse_environment('CFLAGS=') environment_recipe = parse_environment('CFLAGS=')
@@ -71,6 +77,7 @@ def test_empty_var():
assert environment_dict == {'CFLAGS': ''} assert environment_dict == {'CFLAGS': ''}
assert environment_cmds == ['export CFLAGS='] assert environment_cmds == ['export CFLAGS=']
def test_no_vars(): def test_no_vars():
environment_recipe = parse_environment('') environment_recipe = parse_environment('')
@@ -80,6 +87,7 @@ def test_no_vars():
assert environment_dict == {} assert environment_dict == {}
assert environment_cmds == [] assert environment_cmds == []
def test_no_vars_pass_through(): def test_no_vars_pass_through():
environment_recipe = parse_environment('') environment_recipe = parse_environment('')