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
import os, sys, subprocess, shutil
import argparse
import os
import subprocess
import sys
def single_run(test_project):
@@ -11,8 +14,6 @@ def single_run(test_project):
if __name__ == '__main__':
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("test_project_dir")
args = parser.parse_args()
+5 -3
View File
@@ -1,17 +1,19 @@
#!/usr/bin/env python3
import os, sys, subprocess, shutil, json
import os
import subprocess
import sys
from glob import glob
if __name__ == '__main__':
# move cwd to the project root
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'])
### run the integration tests
# run the integration tests
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.linux, cibuildwheel.windows, cibuildwheel.macos
from cibuildwheel.environment import parse_environment, EnvironmentParseError
import cibuildwheel.linux
import cibuildwheel.macos
import cibuildwheel.windows
from cibuildwheel.environment import (
EnvironmentParseError,
parse_environment,
)
from cibuildwheel.util import BuildSelector, Unbuffered
def get_option_from_environment(option_name, platform=None, default=None):
'''
Returns an option from the environment, optionally scoped by the platform.
@@ -84,7 +94,6 @@ def main():
file=sys.stderr)
exit(2)
output_dir = args.output_dir
test_command = get_option_from_environment('CIBW_TEST_COMMAND', platform=platform)
test_requires = get_option_from_environment('CIBW_TEST_REQUIRES', platform=platform, default='').split()
@@ -112,9 +121,8 @@ def main():
try:
environment = parse_environment(environment_config)
except (EnvironmentParseError, ValueError) as e:
except (EnvironmentParseError, ValueError):
print('cibuildwheel: Malformed environment option "%s"' % environment_config, file=sys.stderr)
import traceback
traceback.print_exc(None, sys.stderr)
exit(2)
@@ -210,6 +218,7 @@ def detect_obsolete_options():
))
os.environ[option] = os.environ[option].replace(deprecated, alternative)
def print_preamble(platform, build_options):
print(textwrap.dedent('''
_ _ _ _ _ _ _
@@ -220,7 +229,6 @@ def print_preamble(platform, build_options):
print('cibuildwheel version %s\n' % cibuildwheel.__version__)
print('Build options:')
print(' platform: %r' % platform)
for option, value in sorted(build_options.items()):
+8 -3
View File
@@ -1,9 +1,13 @@
import subprocess, shlex, sys
import shlex
import subprocess
import sys
from collections import namedtuple
import bashlex
NodeExecutionContext = namedtuple('NodeExecutionContext', ['environment', 'input'])
def evaluate(value, environment):
if not value:
# empty string evaluates to empty string
@@ -16,9 +20,9 @@ def evaluate(value, environment):
raise ValueError('"%s" has too many parts' % value)
value_word_node = command_node.parts[0]
return evaluate_node(
value_word_node,
value_word_node,
context=NodeExecutionContext(environment=environment, input=value)
)
@@ -63,5 +67,6 @@ def evaluate_command_node(node, context):
return subprocess.check_output(shlex.split(command), env=context.environment, universal_newlines=True)
def evaluate_parameter_node(node, context):
return context.environment.get(node.value, '')
+1
View File
@@ -1,4 +1,5 @@
import bashlex
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 .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):
@@ -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):
try:
subprocess.check_call(['docker', '--version'])
except:
except Exception:
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 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
done
'''.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_extras=test_extras,
test_command=shlex.quote(
@@ -147,9 +156,8 @@ def build(project_dir, output_dir, test_command, test_requires, test_extras, bef
'--env', 'CIBUILDWHEEL',
'--name', container_name,
'-i',
'-v', '/:/host', # ignored on CircleCI
docker_image, '/bin/bash'],
check=True)
'-v', '/:/host', # ignored on CircleCI
docker_image, '/bin/bash'], 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', 'cp', container_name + ':/output/.', os.path.abspath(output_dir)], check=True)
@@ -184,5 +192,5 @@ def troubleshoot(project_dir, error):
'''))
print(' Files detected:')
print('\n'.join([' '+f for f in so_files]))
print('\n'.join([' ' + f for f in so_files]))
print('')
+10 -3
View File
@@ -1,9 +1,16 @@
import os
import shlex
import shutil
import subprocess
import tempfile
import os, subprocess, shlex, sys, shutil
from collections import namedtuple
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):
@@ -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_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()
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
import warnings
import os, urllib.request
from time import sleep
@@ -64,7 +64,7 @@ def download(url, dest):
for i in range(repeat_num):
try:
response = urllib.request.urlopen(url)
except:
except Exception:
if i == repeat_num - 1:
raise
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 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')
@@ -20,6 +27,7 @@ def get_nuget_args(configuration):
python_name = python_name + "x86"
return [python_name, "-Version", configuration.version, "-OutputDirectory", "C:/cibw/python"]
def get_python_configurations(build_selector):
PythonConfiguration = namedtuple('PythonConfiguration', ['version', 'arch', 'identifier'])
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
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)]
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(
r'''
@@ -28,6 +33,7 @@ INCLUDEMARKDOWN_TAG_REGEX = re.compile(
flags=re.VERBOSE,
)
class ImportMarkdownPlugin(mkdocs.plugins.BasePlugin):
def on_page_markdown(self, markdown, page, **kwargs):
page_src_path = page.file.abs_src_path
@@ -62,13 +68,13 @@ class ImportMarkdownPlugin(mkdocs.plugins.BasePlugin):
with io.open(file_path_abs, encoding='utf8') as f:
text_to_include = f.read()
if start:
_, _, text_to_include = text_to_include.partition(start)
if end:
text_to_include, _, _ = text_to_include.partition(end)
return (
'<!-- BEGIN INCLUDE %s %s %s -->\n' % (
filename, cgi.escape(start or ''), cgi.escape(end or '')
@@ -80,4 +86,3 @@ class ImportMarkdownPlugin(mkdocs.plugins.BasePlugin):
markdown = re.sub(INCLUDE_TAG_REGEX, found_include_tag, markdown)
markdown = re.sub(INCLUDEMARKDOWN_TAG_REGEX, found_includemarkdown_tag, markdown)
return markdown
+3
View File
@@ -19,3 +19,6 @@ replace = cibuildwheel=={new_version}
[bdist_wheel]
universal = 1
[flake8]
ignore = E501,W503
application-import-names = cibuildwheel
+3 -2
View File
@@ -1,5 +1,6 @@
# -*- coding: utf-8 -*-
import os, io
import io
import os
try:
from setuptools import setup
@@ -20,7 +21,7 @@ setup(
author="Joe Rickerby",
author_email='joerick@mac.com',
url='https://github.com/joerick/cibuildwheel',
packages=['cibuildwheel',],
packages=['cibuildwheel', ],
license="BSD",
zip_safe=False,
package_data={
+3 -2
View File
@@ -1,9 +1,10 @@
import os
import utils
project_dir = os.path.dirname(__file__)
def test():
# build the wheels
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
# the expected wheels
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)
assert len(expected_wheels) == len(build_identifiers)
+4 -1
View File
@@ -1,6 +1,9 @@
import os
from setuptools import setup, Extension
from setuptools import (
Extension,
setup,
)
if os.environ.get('CIBUILDWHEEL', '0') != '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 utils
def test():
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(
name="spam",
+1
View File
@@ -1,4 +1,5 @@
from unittest import TestCase
import spam
@@ -1,6 +1,8 @@
import os
import utils
def test():
project_dir = os.path.dirname(__file__)
+7 -2
View File
@@ -1,5 +1,10 @@
from setuptools import setup, Extension
import sys, os
import os
import sys
from setuptools import (
Extension,
setup,
)
# assert that the Python version as written to pythonversion.txt in the CIBW_BEFORE_BUILD step
# is the same one as is currently running.
+2
View File
@@ -1,6 +1,8 @@
import os
import utils
def test():
project_dir = os.path.dirname(__file__)
+5 -1
View File
@@ -1,6 +1,10 @@
from setuptools import setup, Extension
import sys
from setuptools import (
Extension,
setup,
)
# explode if run on Python 2.7 or Python 3.4 (these should be skipped)
if sys.version_info[0:2] == (2, 7):
raise Exception('Python 2.7 should not be built')
+2
View File
@@ -1,6 +1,8 @@
import os
import utils
def test():
project_dir = os.path.dirname(__file__)
+6 -3
View File
@@ -1,5 +1,9 @@
from setuptools import setup, Extension
import sys, os
import os
from setuptools import (
Extension,
setup,
)
# explode if environment isn't correct, as set in CIBW_ENVIRONMENT
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:
raise Exception('$PATH should be expanded in PATH. It was "%s"' % PATH)
setup(
name="spam",
ext_modules=[Extension('spam', sources=['spam.c'])],
+5 -1
View File
@@ -1,6 +1,10 @@
import os, pytest
import os
import pytest
import utils
def test():
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
# environment options CIBW_MANYLINUX1_*_IMAGE
+2
View File
@@ -1,6 +1,8 @@
import os
import utils
def test():
project_dir = os.path.dirname(__file__)
# this test checks that SSL is working in the build environment using
+5 -1
View File
@@ -1,6 +1,10 @@
import ssl
import sys
from setuptools import setup, Extension
from setuptools import (
Extension,
setup,
)
if sys.version_info[0] == 2:
from urllib2 import urlopen
@@ -1,4 +1,7 @@
import os, pytest
import os
import pytest
import utils
+4 -1
View File
@@ -1,4 +1,7 @@
from setuptools import setup, Extension
from setuptools import (
Extension,
setup,
)
setup(
name="spam",
+2 -1
View File
@@ -1,9 +1,10 @@
import os
import utils
project_dir = os.path.dirname(__file__)
def test():
# build the wheels
actual_wheels = utils.cibuildwheel_run(project_dir)
+4 -4
View File
@@ -1,7 +1,7 @@
import os
from setuptools import setup, Extension
from setuptools import (
Extension,
setup,
)
setup(
ext_modules=[Extension('spam.spam', sources=['spam/spam.c'])],
+1 -1
View File
@@ -1 +1 @@
__version__ = "0.1.0"
__version__ = "0.1.0"
+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.
'''
import subprocess, sys, os, shutil
from tempfile import mkdtemp
import os
import shutil
import subprocess
import sys
from contextlib import contextmanager
from tempfile import mkdtemp
IS_WINDOWS_RUNNING_ON_AZURE = os.path.exists('C:\\hostedtoolcache')
IS_WINDOWS_RUNNING_ON_TRAVIS = os.environ.get('TRAVIS_OS_NAME') == 'windows'
+8
View File
@@ -1,4 +1,5 @@
import os
from cibuildwheel.environment import parse_environment
@@ -13,6 +14,7 @@ def test_basic_parsing():
assert environment_dict == {'VAR': '1', 'VBR': '2'}
assert environment_cmds == ['export VAR=1', 'export VBR=2']
def test_quotes():
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_cmds == ['export A=1', 'export VAR="1 NOT_A_VAR=2"', 'export VBR=\'vbr\'']
def test_inheritance():
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_cmds == ['export PATH=$PATH:/usr/local/bin']
def test_shell_eval():
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_cmds == ['export VAR="$(echo "a test" string)"']
def test_shell_eval_and_env():
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_cmds == ['export VAR="$(echo "$PREV_VAR" string)"']
def test_empty_var():
environment_recipe = parse_environment('CFLAGS=')
@@ -71,6 +77,7 @@ def test_empty_var():
assert environment_dict == {'CFLAGS': ''}
assert environment_cmds == ['export CFLAGS=']
def test_no_vars():
environment_recipe = parse_environment('')
@@ -80,6 +87,7 @@ def test_no_vars():
assert environment_dict == {}
assert environment_cmds == []
def test_no_vars_pass_through():
environment_recipe = parse_environment('')