update testing infra

This commit is contained in:
Vincent Fretin 2013-06-01 17:46:19 +02:00
parent 45e9428930
commit 6b1e86d52f
8 changed files with 38 additions and 90 deletions

12
.travis.yml Normal file
View File

@ -0,0 +1,12 @@
language: python
python:
- 2.7
install:
- mkdir -p buildout-cache/{eggs,downloads}
- python bootstrap.py -c travis.cfg -d
- bin/buildout -c travis.cfg -N -q -t 3
script:
- bin/test
notifications:
email:
- prive-ged@listes.entrouvert.com

View File

@ -1,28 +1,11 @@
[buildout]
plone-version = 4.2.3
package-name = collective.dms.thesaurus
package-extras = [test]
extends =
http://dist.plone.org/release/4.2-latest/versions.cfg
checkouts.cfg
https://raw.github.com/collective/buildout.plonetest/master/test-4.3.x.cfg
sources.cfg
checkouts.cfg
versions.cfg
extensions =
mr.developer
develop = .
parts +=
test
eggs +=
Pillow
[test]
recipe = zc.recipe.testrunner
eggs =
${buildout:eggs}
${buildout:package-name} ${buildout:package-extras}
defaults = ['-s', '${buildout:package-name}', '--auto-color', '--auto-progress']
show-picked-versions = true

View File

@ -18,13 +18,13 @@ The script accepts buildout command-line options, so you can
use the -c option to specify an alternate configuration file.
"""
import os, shutil, sys, tempfile, textwrap, urllib, urllib2, subprocess
import os, shutil, sys, tempfile, urllib, urllib2, subprocess
from optparse import OptionParser
if sys.platform == 'win32':
def quote(c):
if ' ' in c:
return '"%s"' % c # work around spawn lamosity on windows
return '"%s"' % c # work around spawn lamosity on windows
else:
return c
else:
@ -57,13 +57,13 @@ if not has_broken_dash_S and 'site' in sys.modules:
# out any namespace packages from site-packages that might have been
# loaded by .pth files.
clean_path = sys.path[:]
import site
import site # imported because of its side effects
sys.path[:] = clean_path
for k, v in sys.modules.items():
if k in ('setuptools', 'pkg_resources') or (
hasattr(v, '__path__') and
len(v.__path__)==1 and
not os.path.exists(os.path.join(v.__path__[0],'__init__.py'))):
len(v.__path__) == 1 and
not os.path.exists(os.path.join(v.__path__[0], '__init__.py'))):
# This is a namespace package. Remove it.
sys.modules.pop(k)
@ -72,10 +72,11 @@ is_jython = sys.platform.startswith('java')
setuptools_source = 'http://peak.telecommunity.com/dist/ez_setup.py'
distribute_source = 'http://python-distribute.org/distribute_setup.py'
# parsing arguments
def normalize_to_url(option, opt_str, value, parser):
if value:
if '://' not in value: # It doesn't smell like a URL.
if '://' not in value: # It doesn't smell like a URL.
value = 'file://%s' % (
urllib.pathname2url(
os.path.abspath(os.path.expanduser(value))),)
@ -110,7 +111,7 @@ parser.add_option("--setup-source", action="callback", dest="setup_source",
help=("Specify a URL or file location for the setup file. "
"If you use Setuptools, this will default to " +
setuptools_source + "; if you use Distribute, this "
"will default to " + distribute_source +"."))
"will default to " + distribute_source + "."))
parser.add_option("--download-base", action="callback", dest="download_base",
callback=normalize_to_url, nargs=1, type="string",
help=("Specify a URL or directory for downloading "
@ -156,7 +157,7 @@ args.append('bootstrap')
try:
import pkg_resources
import setuptools # A flag. Sometimes pkg_resources is installed alone.
import setuptools # A flag. Sometimes pkg_resources is installed alone.
if not hasattr(pkg_resources, '_distribute'):
raise ImportError
except ImportError:
@ -211,6 +212,7 @@ if version is None and not options.accept_buildout_test_releases:
# Figure out the most recent final version of zc.buildout.
import setuptools.package_index
_final_parts = '*final-', '*final'
def _final_version(parsed_version):
for part in parsed_version:
if (part[:1] == '*') and (part not in _final_parts):
@ -242,7 +244,7 @@ cmd.append(requirement)
if is_jython:
import subprocess
exitcode = subprocess.Popen(cmd, env=env).wait()
else: # Windows prefers this, apparently; otherwise we would prefer subprocess
else: # Windows prefers this, apparently; otherwise we would prefer subprocess
exitcode = os.spawnle(*([os.P_WAIT, sys.executable] + cmd + [env]))
if exitcode != 0:
sys.stdout.flush()
@ -256,5 +258,5 @@ ws.add_entry(eggs_dir)
ws.require(requirement)
import zc.buildout.buildout
zc.buildout.buildout.main(args)
if not options.eggs: # clean up temporary egg directory
if not options.eggs: # clean up temporary egg directory
shutil.rmtree(eggs_dir)

View File

@ -1,12 +1,10 @@
[buildout]
extends =
base.cfg
extensions +=
buildout.dumppickedversions
parts +=
omelette
eggs +=
ipdb
[omelette]
recipe = collective.recipe.omelette

View File

@ -1,14 +1,5 @@
[buildout]
extends =
https://raw.github.com/plone/buildout.coredev/4.2/sources.cfg
https://raw.github.com/plone/buildout.dexterity/master/sources.cfg
https://raw.github.com/plone/buildout.coredev/4.3/sources.cfg
always-checkout = force
auto-checkout +=
collective.dms.thesaurus
plone.app.dexterity
plone.dexterity
plone.formwidget.masterselect
collective.contact.widget
collective.contact.core
z3c.form
plone.app.z3cform
auto-checkout +=

View File

@ -1,8 +1,7 @@
[buildout]
extends = https://raw.github.com/plone/buildout.coredev/4.3/sources.cfg
[remotes]
collective = git://github.com/collective
collective_push = git@github.com:collective
plone = git://github.com/plone
plone_push = git@github.com:plone
tdesvenain = git://github.com/tdesvenain
tdesvenain_push = git@github.com:tdesvenain
vincentfretin = git://github.com/vincentfretin
@ -11,16 +10,5 @@ cedricmessiant = git://github.com/cedricmessiant
cedricmessiant_push = git@github.com:cedricmessiant
entrouvert = git://repos.entrouvert.org
entrouvert_push = git+ssh://git@repos.entrouvert.org
zopefoundation = git://github.com/zopefoundation
zopefoundation_push = git@github.com:zopefoundation
[sources]
collective.contact.core = git ${remotes:collective}/collective.contact.core.git pushurl=${remotes:collective_push}/collective.contact.core.git
collective.contact.widget = git ${remotes:collective}/collective.contact.widget.git pushurl=${remotes:collective_push}/collective.contact.widget.git
collective.dms.basecontent = git ${remotes:collective}/collective.dms.basecontent.git pushurl=${remotes:collective_push}/collective.dms.basecontent.git
collective.dms.batchimport = git ${remotes:collective}/collective.dms.batchimport.git pushurl=${remotes:collective_push}/collective.dms.batchimport.git
collective.dms.mailcontent = git ${remotes:collective}/collective.dms.mailcontent.git pushurl=${remotes:collective_push}/collective.dms.mailcontent.git
collective.dms.thesaurus = git ${remotes:collective}/collective.dms.thesaurus.git pushurl=${remotes:collective_push}/collective.dms.thesaurus.git
plone.formwidget.masterselect = git ${remotes:cedricmessiant}/plone.formwidget.masterselect.git pushurl=${remotes:cedricmessiant_push}/plone.formwidget.masterselect.git
plone.app.z3cform = git ${remotes:plone}/plone.app.z3cform.git pushurl=${remotes:plone_push}/plone.app.z3cform.git
z3c.form = git ${remotes:zopefoundation}/z3c.form pushurl=${remotes:zopefoundation_push}/z3c.form
[sources]

View File

@ -1,27 +1,5 @@
[buildout]
extends =
https://raw.github.com/collective/buildout.plonetest/master/travis-4.3.x.cfg
base.cfg
parts =
download
install
test
# network speedup
eggs-directory = buildout-cache/eggs
download-cache = buildout-cache/downloads
socket-timeout = 3
allow-hosts =
*.python.org
launchpad.net
[download]
recipe = hexagonit.recipe.download
url = https://launchpad.net/plone/4.2/${buildout:plone-version}/+download/Plone-${buildout:plone-version}-UnifiedInstaller.tgz
[install]
recipe = collective.recipe.cmd
on_install = true
cmds = tar jxvf ${download:location}/Plone-${buildout:plone-version}-UnifiedInstaller/packages/buildout-cache.tar.bz2 1>/dev/null
parts = download install test

View File

@ -1,6 +1,2 @@
[versions]
Pillow = 1.7.8
collective.recipe.cmd = 0.6
ecreall.helpers.testing = 1.3
hexagonit.recipe.download = 1.6
zc.buildout = 1.6.3
zc.buildout = 1.7.1