Commit 3d3b61b2 authored by Jim Fulton's avatar Jim Fulton

Test passing on windows and Python 2.6

parent 9d845464
...@@ -10,6 +10,7 @@ zope.exceptions = 4.0.1 ...@@ -10,6 +10,7 @@ zope.exceptions = 4.0.1
[py] [py]
recipe = zc.recipe.egg recipe = zc.recipe.egg
eggs = zc.buildout eggs = zc.buildout
zc.recipe.egg
zope.testing zope.testing
interpreter = py interpreter = py
......
...@@ -394,7 +394,8 @@ class Buildout(DictMixin): ...@@ -394,7 +394,8 @@ class Buildout(DictMixin):
if args: if args:
eggs = '\n '.join(a for a in args if not sep.search(a)) eggs = '\n '.join(a for a in args if not sep.search(a))
paths = '\n '.join( paths = '\n '.join(
sep.sub(os.path.sep, a) for a in args if sep.search(a)) sep.sub(re.escape(os.path.sep), a)
for a in args if sep.search(a))
f.write('[buildout]\n' f.write('[buildout]\n'
'parts = py\n' 'parts = py\n'
'\n' '\n'
......
...@@ -2575,10 +2575,8 @@ or paths to use: ...@@ -2575,10 +2575,8 @@ or paths to use:
>>> cd(sample_bootstrapped) >>> cd(sample_bootstrapped)
>>> remove('setup.cfg') >>> remove('setup.cfg')
>>> remove('bin', 'buildout')
>>> print_(system(buildout + ' -csetup.cfg init demo other ./src'), end='') >>> print_(system(buildout + ' -csetup.cfg init demo other ./src'), end='')
Creating '/sample-bootstrapped/setup.cfg'. Creating '/sample-bootstrapped/setup.cfg'.
Generated script '/sample-bootstrapped/bin/buildout'.
Getting distribution for 'zc.recipe.egg'. Getting distribution for 'zc.recipe.egg'.
Got zc.recipe.egg 1.3.3dev. Got zc.recipe.egg 1.3.3dev.
Installing py. Installing py.
......
...@@ -181,7 +181,7 @@ class Download(object): ...@@ -181,7 +181,7 @@ class Download(object):
self.logger.info('Downloading %s' % url) self.logger.info('Downloading %s' % url)
handle, tmp_path = tempfile.mkstemp(prefix='buildout-') handle, tmp_path = tempfile.mkstemp(prefix='buildout-')
try: os.close(handle)
try: try:
tmp_path, headers = urlretrieve(url, tmp_path) tmp_path, headers = urlretrieve(url, tmp_path)
if not check_md5sum(tmp_path, md5sum): if not check_md5sum(tmp_path, md5sum):
...@@ -195,8 +195,6 @@ class Download(object): ...@@ -195,8 +195,6 @@ class Download(object):
except Exception: except Exception:
os.remove(tmp_path) os.remove(tmp_path)
raise raise
finally:
os.close(handle)
if path: if path:
shutil.move(tmp_path, path) shutil.move(tmp_path, path)
......
...@@ -94,6 +94,8 @@ def _get_index(index_url, find_links, allow_hosts=('*',)): ...@@ -94,6 +94,8 @@ def _get_index(index_url, find_links, allow_hosts=('*',)):
if index_url is None: if index_url is None:
index_url = default_index_url index_url = default_index_url
if index_url.startswith('file://'):
index_url = index_url[7:]
index = AllowHostsPackageIndex(index_url, hosts=allow_hosts) index = AllowHostsPackageIndex(index_url, hosts=allow_hosts)
if find_links: if find_links:
...@@ -433,6 +435,7 @@ class Installer: ...@@ -433,6 +435,7 @@ class Installer:
# Retrieve the dist: # Retrieve the dist:
if avail is None: if avail is None:
self._index.obtain(requirement)
raise MissingDistribution(requirement, ws) raise MissingDistribution(requirement, ws)
# We may overwrite distributions, so clear importer # We may overwrite distributions, so clear importer
...@@ -1049,7 +1052,10 @@ def _create_script(contents, dest): ...@@ -1049,7 +1052,10 @@ def _create_script(contents, dest):
if changed: if changed:
open(dest, 'w').write(contents) open(dest, 'w').write(contents)
logger.info("Generated script %r.", script) logger.info(
"Generated script %r.",
# Normalize for windows
script.endswith('-script.py') and script[:-10] or script)
try: try:
os.chmod(dest, 493) # 0755 os.chmod(dest, 493) # 0755
......
...@@ -503,3 +503,9 @@ normalize_exception_type_for_python_2_and_3 = ( ...@@ -503,3 +503,9 @@ normalize_exception_type_for_python_2_and_3 = (
re.compile(r'^(\w+\.)*([A-Z][A-Za-z0-9]+Error: )'), re.compile(r'^(\w+\.)*([A-Z][A-Za-z0-9]+Error: )'),
'\2') '\2')
not_found = (re.compile(r'^Not found: [^\n]+/\w+/\r?\n', re.M), '')
ignore_not_upgrading = (
re.compile(
'Not upgrading because not running a local buildout command.\n'
), '')
...@@ -2912,6 +2912,7 @@ def test_suite(): ...@@ -2912,6 +2912,7 @@ def test_suite():
zc.buildout.testing.normalize_endings, zc.buildout.testing.normalize_endings,
zc.buildout.testing.normalize_script, zc.buildout.testing.normalize_script,
zc.buildout.testing.normalize_egg_py, zc.buildout.testing.normalize_egg_py,
zc.buildout.testing.not_found,
(re.compile('__buildout_signature__ = recipes-\S+'), (re.compile('__buildout_signature__ = recipes-\S+'),
'__buildout_signature__ = recipes-SSSSSSSSSSS'), '__buildout_signature__ = recipes-SSSSSSSSSSS'),
(re.compile('executable = [\S ]+python\S*', re.I), (re.compile('executable = [\S ]+python\S*', re.I),
...@@ -2945,6 +2946,7 @@ def test_suite(): ...@@ -2945,6 +2946,7 @@ def test_suite():
zc.buildout.testing.normalize_endings, zc.buildout.testing.normalize_endings,
zc.buildout.testing.normalize_script, zc.buildout.testing.normalize_script,
zc.buildout.testing.normalize_egg_py, zc.buildout.testing.normalize_egg_py,
zc.buildout.testing.not_found,
(re.compile('__buildout_signature__ = recipes-\S+'), (re.compile('__buildout_signature__ = recipes-\S+'),
'__buildout_signature__ = recipes-SSSSSSSSSSS'), '__buildout_signature__ = recipes-SSSSSSSSSSS'),
(re.compile('[-d] distribute-\S+[.]egg'), 'distribute.egg'), (re.compile('[-d] distribute-\S+[.]egg'), 'distribute.egg'),
...@@ -2974,6 +2976,7 @@ def test_suite(): ...@@ -2974,6 +2976,7 @@ def test_suite():
zc.buildout.testing.normalize_path, zc.buildout.testing.normalize_path,
zc.buildout.testing.normalize_endings, zc.buildout.testing.normalize_endings,
zc.buildout.testing.normalize_exception_type_for_python_2_and_3, zc.buildout.testing.normalize_exception_type_for_python_2_and_3,
zc.buildout.testing.not_found,
(re.compile('zc.buildout.buildout.MissingOption'), (re.compile('zc.buildout.buildout.MissingOption'),
'MissingOption'), 'MissingOption'),
(re.compile(r'\S+buildout.py'), 'buildout.py'), (re.compile(r'\S+buildout.py'), 'buildout.py'),
...@@ -2994,6 +2997,7 @@ def test_suite(): ...@@ -2994,6 +2997,7 @@ def test_suite():
zc.buildout.testing.normalize_endings, zc.buildout.testing.normalize_endings,
zc.buildout.testing.normalize_script, zc.buildout.testing.normalize_script,
zc.buildout.testing.normalize_egg_py, zc.buildout.testing.normalize_egg_py,
zc.buildout.testing.not_found,
normalize_bang, normalize_bang,
normalize_S, normalize_S,
(re.compile('99[.]99'), 'NINETYNINE.NINETYNINE'), (re.compile('99[.]99'), 'NINETYNINE.NINETYNINE'),
...@@ -3010,20 +3014,25 @@ def test_suite(): ...@@ -3010,20 +3014,25 @@ def test_suite():
setUp=easy_install_SetUp, setUp=easy_install_SetUp,
tearDown=zc.buildout.testing.buildoutTearDown, tearDown=zc.buildout.testing.buildoutTearDown,
checker=renormalizing.RENormalizing([ checker=renormalizing.RENormalizing([
zc.buildout.testing.normalize_script,
zc.buildout.testing.normalize_path, zc.buildout.testing.normalize_path,
zc.buildout.testing.normalize_endings, zc.buildout.testing.normalize_endings,
zc.buildout.testing.normalize_script,
zc.buildout.testing.normalize_egg_py, zc.buildout.testing.normalize_egg_py,
zc.buildout.testing.normalize_exception_type_for_python_2_and_3, zc.buildout.testing.normalize_exception_type_for_python_2_and_3,
zc.buildout.testing.not_found,
normalize_bang, normalize_bang,
normalize_S, normalize_S,
(re.compile('[-d] distribute-\S+[.]egg'), 'distribute.egg'), (re.compile('[-d] distribute-\S+[.]egg'), 'distribute.egg'),
(re.compile(r'\\[\\]?'), '/'), (re.compile(r'\\[\\]?'), '/'),
(re.compile('(\n?)- ([a-zA-Z_.-]+)\n- \\2.exe\n'),
'\\1- \\2\n'),
]+(sys.version_info < (2, 5) and [ ]+(sys.version_info < (2, 5) and [
(re.compile('.*No module named runpy.*', re.S), ''), (re.compile('.*No module named runpy.*', re.S), ''),
(re.compile('.*usage: pdb.py scriptfile .*', re.S), ''), (re.compile('.*usage: pdb.py scriptfile .*', re.S), ''),
(re.compile('.*Error: what does not exist.*', re.S), ''), (re.compile('.*Error: what does not exist.*', re.S), ''),
] or [])), ] or [])),
), ),
doctest.DocFileSuite( doctest.DocFileSuite(
...@@ -3033,11 +3042,13 @@ def test_suite(): ...@@ -3033,11 +3042,13 @@ def test_suite():
optionflags=doctest.NORMALIZE_WHITESPACE | doctest.ELLIPSIS, optionflags=doctest.NORMALIZE_WHITESPACE | doctest.ELLIPSIS,
checker=renormalizing.RENormalizing([ checker=renormalizing.RENormalizing([
zc.buildout.testing.normalize_exception_type_for_python_2_and_3, zc.buildout.testing.normalize_exception_type_for_python_2_and_3,
zc.buildout.testing.not_found,
(re.compile(' at -?0x[^>]+'), '<MEM ADDRESS>'), (re.compile(' at -?0x[^>]+'), '<MEM ADDRESS>'),
(re.compile('http://localhost:[0-9]{4,5}/'), (re.compile('http://localhost:[0-9]{4,5}/'),
'http://localhost/'), 'http://localhost/'),
(re.compile('[0-9a-f]{32}'), '<MD5 CHECKSUM>'), (re.compile('[0-9a-f]{32}'), '<MD5 CHECKSUM>'),
zc.buildout.testing.normalize_path, zc.buildout.testing.normalize_path,
zc.buildout.testing.ignore_not_upgrading,
]), ]),
), ),
...@@ -3050,6 +3061,7 @@ def test_suite(): ...@@ -3050,6 +3061,7 @@ def test_suite():
zc.buildout.testing.normalize_script, zc.buildout.testing.normalize_script,
zc.buildout.testing.normalize_egg_py, zc.buildout.testing.normalize_egg_py,
zc.buildout.testing.normalize___pycache__, zc.buildout.testing.normalize___pycache__,
zc.buildout.testing.not_found,
(re.compile(r'^(\w+\.)*(Missing\w+: )'), '\2'), (re.compile(r'^(\w+\.)*(Missing\w+: )'), '\2'),
(re.compile("buildout: Running \S*setup.py"), (re.compile("buildout: Running \S*setup.py"),
'buildout: Running setup.py'), 'buildout: Running setup.py'),
...@@ -3086,6 +3098,7 @@ def test_suite(): ...@@ -3086,6 +3098,7 @@ def test_suite():
zc.buildout.testing.normalize_endings, zc.buildout.testing.normalize_endings,
zc.buildout.testing.normalize_script, zc.buildout.testing.normalize_script,
zc.buildout.testing.normalize_egg_py, zc.buildout.testing.normalize_egg_py,
zc.buildout.testing.not_found,
(re.compile('__buildout_signature__ = recipes-\S+'), (re.compile('__buildout_signature__ = recipes-\S+'),
'__buildout_signature__ = recipes-SSSSSSSSSSS'), '__buildout_signature__ = recipes-SSSSSSSSSSS'),
(re.compile('[-d] distribute-\S+[.]egg'), 'distribute.egg'), (re.compile('[-d] distribute-\S+[.]egg'), 'distribute.egg'),
...@@ -3120,6 +3133,7 @@ def test_suite(): ...@@ -3120,6 +3133,7 @@ def test_suite():
zc.buildout.testing.normalize_path, zc.buildout.testing.normalize_path,
zc.buildout.testing.normalize_endings, zc.buildout.testing.normalize_endings,
zc.buildout.testing.normalize_script, zc.buildout.testing.normalize_script,
zc.buildout.testing.not_found,
normalize_bang, normalize_bang,
(re.compile('Downloading.*distribute.*egg\n'), ''), (re.compile('Downloading.*distribute.*egg\n'), ''),
]), ]),
......
...@@ -48,6 +48,7 @@ def test_suite(): ...@@ -48,6 +48,7 @@ def test_suite():
zc.buildout.testing.normalize_egg_py, zc.buildout.testing.normalize_egg_py,
zc.buildout.tests.normalize_bang, zc.buildout.tests.normalize_bang,
zc.buildout.tests.normalize_S, zc.buildout.tests.normalize_S,
zc.buildout.testing.not_found,
(re.compile('[d-] zc.buildout(-\S+)?[.]egg(-link)?'), (re.compile('[d-] zc.buildout(-\S+)?[.]egg(-link)?'),
'zc.buildout.egg'), 'zc.buildout.egg'),
(re.compile('[d-] distribute-[^-]+-'), 'distribute-X-'), (re.compile('[d-] distribute-[^-]+-'), 'distribute-X-'),
...@@ -61,6 +62,7 @@ def test_suite(): ...@@ -61,6 +62,7 @@ def test_suite():
checker=renormalizing.RENormalizing([ checker=renormalizing.RENormalizing([
zc.buildout.testing.normalize_path, zc.buildout.testing.normalize_path,
zc.buildout.testing.normalize_endings, zc.buildout.testing.normalize_endings,
zc.buildout.testing.not_found,
(re.compile('__buildout_signature__ = ' (re.compile('__buildout_signature__ = '
'sample-\S+\s+' 'sample-\S+\s+'
'zc.recipe.egg-\S+\s+' 'zc.recipe.egg-\S+\s+'
...@@ -80,6 +82,7 @@ def test_suite(): ...@@ -80,6 +82,7 @@ def test_suite():
checker=renormalizing.RENormalizing([ checker=renormalizing.RENormalizing([
zc.buildout.testing.normalize_path, zc.buildout.testing.normalize_path,
zc.buildout.testing.normalize_endings, zc.buildout.testing.normalize_endings,
zc.buildout.testing.not_found,
(re.compile("(d ((ext)?demo(needed)?|other)" (re.compile("(d ((ext)?demo(needed)?|other)"
"-\d[.]\d-py)\d[.]\d(-\S+)?[.]egg"), "-\d[.]\d-py)\d[.]\d(-\S+)?[.]egg"),
'\\1V.V.egg'), '\\1V.V.egg'),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment