/
usr
/
share
/
doc
/
python3-pycurl
/
tests
/
/usr/share/doc/python3-pycurl/tests
mkdir
upload
Name
Size
Mode
Actions
certs/
-
0755
rm
ext/
-
0755
rm
fake-curl/
-
0755
rm
fixtures/
-
0755
rm
matrix/
-
0755
rm
tmp/
-
0755
rm
__pycache__/
-
0755
rm
app.py
4088
0644
edit
dl
rm
appmanager.py
1380
0644
edit
dl
rm
cadata_test.py
1452
0644
edit
dl
rm
certinfo_test.py
3468
0644
edit
dl
rm
close_socket_cb_test.py
2168
0644
edit
dl
rm
curl_object_test.py
4883
0644
edit
dl
rm
debug_test.py
2275
0644
edit
dl
rm
default_write_cb_test.py
3039
0644
edit
dl
rm
error_constants_test.py
662
0644
edit
dl
rm
error_test.py
2901
0644
edit
dl
rm
failonerror_test.py
3509
0644
edit
dl
rm
ftp_test.py
1537
0644
edit
dl
rm
global_init_test.py
1063
0644
edit
dl
rm
header_cb_test.py
1560
0644
edit
dl
rm
header_test.py
1848
0644
edit
dl
rm
high_level_curl_test.py
632
0644
edit
dl
rm
info_constants_test.py
387
0644
edit
dl
rm
internals_test.py
6674
0644
edit
dl
rm
matrix.py
6816
0644
edit
dl
rm
multi_option_constants_test.py
2503
0644
edit
dl
rm
multi_socket_test.py
3049
0644
edit
dl
rm
multi_test.py
12313
0644
edit
dl
rm
multi_timer_test.py
2695
0644
edit
dl
rm
open_socket_cb_test.py
4761
0644
edit
dl
rm
option_constants_test.py
16371
0644
edit
dl
rm
perform_test.py
2179
0644
edit
dl
rm
procmgr.py
2731
0644
edit
dl
rm
protocol_constants_test.py
1679
0644
edit
dl
rm
readdata_test.py
9623
0644
edit
dl
rm
read_cb_test.py
4340
0644
edit
dl
rm
relative_url_test.py
551
0644
edit
dl
rm
reload_test.py
430
0644
edit
dl
rm
reset_test.py
2699
0644
edit
dl
rm
resolve_test.py
780
0644
edit
dl
rm
run-quickstart.sh
768
0755
edit
dl
rm
run.sh
690
0755
edit
dl
rm
runwsgi.py
3733
0644
edit
dl
rm
seek_cb_constants_test.py
833
0644
edit
dl
rm
setopt_lifecycle_test.py
1797
0644
edit
dl
rm
setopt_string_test.py
816
0644
edit
dl
rm
setopt_test.py
3773
0644
edit
dl
rm
setopt_unicode_test.py
1092
0644
edit
dl
rm
setup_test.py
10035
0644
edit
dl
rm
share_test.py
1726
0644
edit
dl
rm
sockopt_cb_test.py
2453
0644
edit
dl
rm
unset_range_test.py
1482
0644
edit
dl
rm
user_agent_string_test.py
820
0644
edit
dl
rm
util.py
8291
0644
edit
dl
rm
version_comparison_test.py
514
0644
edit
dl
rm
version_constants_test.py
2056
0644
edit
dl
rm
version_test.py
313
0644
edit
dl
rm
vsftpd.conf
294
0644
edit
dl
rm
weakref_test.py
443
0644
edit
dl
rm
write_abort_test.py
1194
0644
edit
dl
rm
write_cb_bogus_test.py
1381
0644
edit
dl
rm
write_test.py
10048
0644
edit
dl
rm
write_to_stringio_test.py
1228
0644
edit
dl
rm
xferinfo_cb_test.py
2147
0644
edit
dl
rm
__init__.py
535
0644
edit
dl
rm
Edit:
/usr/share/doc/python3-pycurl/tests/matrix.py
(6816B)
import os, os.path, subprocess, shutil try: from urllib.request import urlopen except ImportError: from urllib import urlopen python_versions = ['2.6.8', '2.7.5', '3.1.5', '3.2.5', '3.3.5', '3.4.1'] libcurl_versions = ['7.19.0', '7.46.0'] libcurl_meta = { '7.19.0': { 'patches': [ 'curl-7.19.0-sslv2-c66b0b32fba-modified.patch', #'curl-7.19.0-sslv2-2b0e09b0f98.patch', ], }, } root = os.path.abspath(os.path.dirname(__file__)) class in_dir: def __init__(self, dir): self.dir = dir def __enter__(self): self.oldwd = os.getcwd() os.chdir(self.dir) def __exit__(self, type, value, traceback): os.chdir(self.oldwd) def subprocess_check_call(cmd, **kwargs): try: subprocess.check_call(cmd, **kwargs) except OSError as exc: message = exc.args[0] message = '%s while trying to execute %s' % (message, str(cmd)) args = tuple([message] + exc.args[1:]) raise type(exc)(args) def fetch(url, archive=None): if archive is None: archive = os.path.basename(url) if not os.path.exists(archive): sys.stdout.write("Fetching %s\n" % url) io = urlopen(url) with open('.tmp.%s' % archive, 'wb') as f: while True: chunk = io.read(65536) if len(chunk) == 0: break f.write(chunk) os.rename('.tmp.%s' % archive, archive) def build(archive, dir, prefix, meta=None): if not os.path.exists(dir): sys.stdout.write("Building %s\n" % archive) subprocess_check_call(['tar', 'xf', archive]) with in_dir(dir): if meta and 'patches' in meta: for patch in meta['patches']: patch_path = os.path.join(root, 'matrix', patch) subprocess_check_call(['patch', '-p1', '-i', patch_path]) subprocess_check_call(['./configure', '--prefix=%s' % prefix]) if 'post-configure' in meta: for cmd in meta['post-configure']: subprocess_check_call(cmd, shell=True) subprocess_check_call(['make']) subprocess_check_call(['make', 'install']) def run_matrix(python_versions, libcurl_versions): for python_version in python_versions: url = 'http://www.python.org/ftp/python/%s/Python-%s.tgz' % (python_version, python_version) archive = os.path.basename(url) fetch(url, archive) dir = archive.replace('.tgz', '') prefix = os.path.abspath('i/%s' % dir) build(archive, dir, prefix) for libcurl_version in libcurl_versions: url = 'https://curl.haxx.se/download/curl-%s.tar.gz' % libcurl_version archive = os.path.basename(url) fetch(url, archive) dir = archive.replace('.tar.gz', '') prefix = os.path.abspath('i/%s' % dir) build(archive, dir, prefix, meta=libcurl_meta.get(libcurl_version)) fetch('https://raw.github.com/pypa/virtualenv/1.7/virtualenv.py', 'virtualenv-1.7.py') fetch('https://raw.github.com/pypa/virtualenv/1.9.1/virtualenv.py', 'virtualenv-1.9.1.py') if not os.path.exists('venv'): os.mkdir('venv') for python_version in python_versions: python_version_pieces = [int(piece) for piece in python_version.split('.')[:2]] for libcurl_version in libcurl_versions: python_prefix = os.path.abspath('i/Python-%s' % python_version) libcurl_prefix = os.path.abspath('i/curl-%s' % libcurl_version) venv = os.path.abspath('venv/Python-%s-curl-%s' % (python_version, libcurl_version)) if os.path.exists(venv): shutil.rmtree(venv) fetch('https://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c11-py2.6.egg') fetch('https://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg') # I had virtualenv 1.8.2 installed systemwide which # did not work with python 3.0: # http://stackoverflow.com/questions/1422361/why-am-i-getting-this-error-related-to-pip-and-easy-install-when-trying-to-set # so, use known versions everywhere # md5=89e68df89faf1966bcbd99a0033fbf8e fetch('https://pypi.python.org/packages/source/d/distribute/distribute-0.6.49.tar.gz') subprocess_check_call(['python', 'virtualenv-1.9.1.py', venv, '-p', '%s/bin/python%d.%d' % (python_prefix, python_version_pieces[0], python_version_pieces[1]), '--no-site-packages', '--never-download']) curl_config_path = os.path.join(libcurl_prefix, 'bin/curl-config') curl_lib_path = os.path.join(libcurl_prefix, 'lib') with in_dir('pycurl'): extra_patches = [] extra_env = [] deps_cmd = 'pip install -r requirements-dev.txt' extra_patches = ' && '.join(extra_patches) extra_env = ' '.join(extra_env) cmd = ''' make clean && . %(venv)s/bin/activate && %(deps_cmd)s && %(extra_patches)s python -V && LD_LIBRARY_PATH=%(curl_lib_path)s PYCURL_CURL_CONFIG=%(curl_config_path)s %(extra_env)s make test ''' % dict( venv=venv, deps_cmd=deps_cmd, extra_patches=extra_patches, curl_lib_path=curl_lib_path, curl_config_path=curl_config_path, extra_env=extra_env ) print(cmd) subprocess_check_call(cmd, shell=True) if __name__ == '__main__': import sys def main(): import optparse parser = optparse.OptionParser() parser.add_option('-p', '--python', help='Specify python version to test against') parser.add_option('-c', '--curl', help='Specify libcurl version to test against') options, args = parser.parse_args() if options.python: python_version = options.python if python_version in python_versions: chosen_python_versions = [python_version] else: chosen_python_versions = [v for v in python_versions if v.startswith(python_version)] if len(chosen_python_versions) != 1: raise Exception('Bogus python version requested: %s' % python_version) else: chosen_python_versions = python_versions if options.curl: chosen_libcurl_versions = [options.curl] else: chosen_libcurl_versions = libcurl_versions run_matrix(chosen_python_versions, chosen_libcurl_versions) main()
Save
cmd:
run