Merge branch 'tox-travis'

master
baztian 2017-03-10 12:26:20 +01:00
commit 8fc9ae8869
12 changed files with 54 additions and 54 deletions

1
.gitignore vendored
View File

@ -16,5 +16,6 @@ target/
.classpath .classpath
.project .project
.tox .tox
.coverage
*.iml *.iml
.idea/ .idea/

View File

@ -17,36 +17,19 @@ python:
- '2.6' - '2.6'
- '2.7' - '2.7'
- '3.4' - '3.4'
- '3.6'
env: env:
matrix:
- TESTNAME=test_mock JDBC_DRIVER=org.jaydebeapi:mockdriver:1.0-SNAPSHOT
- TESTNAME="test_integration.HsqldbTest test_integration.PropertiesDriverArgsPassingTest" JDBC_DRIVER=org.hsqldb:hsqldb:1.8.0.10
- TESTNAME=test_integration.SqliteXerialTest JDBC_DRIVER=org.xerial:sqlite-jdbc:3.7.2
matrix: matrix:
include: include:
- python: 2.7 - python: 3.6
env: TESTNAME=test_integration.SqlitePyTest env: JYTHON=org.python:jython-installer:2.7.0 TOXENV="jython-driver-{hsqldb,mock}"
- python: 2.7
env: JYTHON=org.python:jython-installer:2.7.0 TESTNAME="test_integration.HsqldbTest test_integration.PropertiesDriverArgsPassingTest" JDBC_DRIVER=org.hsqldb:hsqldb:1.8.0.10
- python: 2.7
env: JYTHON=org.python:jython-installer:2.7.0 TESTNAME=test_mock JDBC_DRIVER=org.jaydebeapi:mockdriver:1.0-SNAPSHOT
before_install: before_install:
- ci/before_install.sh - ci/before_install.sh
- export PATH="$HOME/bin:$PATH"
install: install:
- if [ "$JDBC_DRIVER" == "org.jaydebeapi:mockdriver:1.0-SNAPSHOT" ]; then (cd mockdriver && mvn -Dmaven.repo.local=$VIRTUAL_ENV/.m2/repository install) ;fi - pip install tox-travis
- if [ -n "$JDBC_DRIVER" ]; then python ci/jipconf_subst.py $VIRTUAL_ENV $VIRTUAL_ENV && pip install jip==0.9.9 && jip install $JDBC_DRIVER && export CLASSPATH=$VIRTUAL_ENV/javalib/* ;fi # TODO: Fix jip to search for local maven repo without twaking .jip
- source $HOME/myvirtualenv/bin/activate
- pip install -e .
- if [ -z "$JYTHON" ]; then pip install coveralls ;fi
script: script: tox
- if [ -z "$JYTHON" ]; then PY="coverage run --source jaydebeapi"; else PY="python" ;fi
- $PY test/testsuite.py $TESTNAME
- if [ "$JDBC_DRIVER" == "org.hsqldb:hsqldb:1.8.0.10" ] ; then $PY test/doctests.py ;fi
after_success:
- if [ -z "$JYTHON" ]; then coveralls ;fi

View File

@ -1,11 +1,4 @@
#!/bin/sh #!/bin/sh
set -e set -e
[ -n "$JYTHON" ] && "${TRAVIS_BUILD_DIR}/ci/before_install_jython.sh" || "${TRAVIS_BUILD_DIR}/ci/before_install_nonjython.sh" [ -n "$JYTHON" ] && "${TRAVIS_BUILD_DIR}/ci/before_install_jython.sh" || true
[ -n "$JYTHON" ] && cp requirements-jython.txt requirements.txt || cp requirements-python-${TRAVIS_PYTHON_VERSION}.txt requirements.txt
if [ -f requirements.txt ]
then
pip install -r requirements.txt
fi

View File

@ -1,8 +1,7 @@
#!/bin/sh #!/bin/sh
set -e set -e
JYTHON_JAR=$(${TRAVIS_BUILD_DIR}/ci/mvnget.sh $JYTHON) JYTHON_JAR=$(${TRAVIS_BUILD_DIR}/ci/mvnget.sh "$JYTHON")
java -jar ${JYTHON_JAR} -s -d $HOME/jython java -jar ${JYTHON_JAR} -s -d $HOME/jython
mkdir -p $HOME/bin
$HOME/jython/bin/pip install virtualenv ln -s $HOME/jython/bin/jython $HOME/bin/
$HOME/jython/bin/virtualenv $HOME/myvirtualenv

View File

@ -1,4 +0,0 @@
#!/bin/sh
set -e
ln -s $VIRTUAL_ENV $HOME/myvirtualenv

View File

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
set -e set -e
ARTIFACT_SPEC=$1 ARTIFACT_SPEC="$1"
GROUP_ID=${ARTIFACT_SPEC%%:*} GROUP_ID=${ARTIFACT_SPEC%%:*}
NON_GROUP_ID=${ARTIFACT_SPEC#*:} NON_GROUP_ID=${ARTIFACT_SPEC#*:}
ARTIFACT_NAME=`python -c "import re;print(re.search(r':(.*):', '$ARTIFACT_SPEC').group(1))"` ARTIFACT_NAME=`python -c "import re;print(re.search(r':(.*):', '$ARTIFACT_SPEC').group(1))"`

View File

@ -0,0 +1,19 @@
#!/bin/env/python
"""Runs coveralls if in Travis CI build environment. Taken from
http://stackoverflow.com/a/33012308/1960601
"""
import os
import sys
from subprocess import call
if __name__ == '__main__':
if sys.platform.lower().startswith('java'):
print("Export to coveralls skipped for Jython")
sys.exit(0)
if 'TRAVIS' in os.environ:
rc = call('coveralls')
raise SystemExit(rc)

View File

@ -1 +0,0 @@
unittest2==0.5.1

View File

@ -1,2 +0,0 @@
JPype1==0.6.0
unittest2==0.5.1

View File

@ -1,2 +0,0 @@
JPype1==0.6.0
unittest2==0.5.1

View File

@ -1 +0,0 @@
JPype1==0.6.0

31
tox.ini
View File

@ -1,23 +1,38 @@
[tox] [tox]
envlist = py{26,27,3}-driver-{hsqldb,mock,sqliteXerial},py27-driver-sqlitePy,jython-driver-{hsqldb,mock} envlist = py{26,27,3}-driver-{hsqldb,mock,sqliteXerial},py27-driver-sqlitePy,jython-driver-{hsqldb,mock}
[travis]
python =
2.6: py26-driver-{hsqldb,mock,sqliteXerial}
2.7: py27-driver-{hsqldb,mock,sqliteXerial,sqlitePy}
3.4: py34-driver-{hsqldb,mock,sqliteXerial}
3.6: py36-driver-{hsqldb,mock,sqliteXerial}
[testenv] [testenv]
# usedevelop required to enable coveralls source code view.
usedevelop=True
whitelist_externals = mvn whitelist_externals = mvn
setenv = CLASSPATH = {envdir}/javalib/* passenv = TRAVIS TRAVIS_JOB_ID TRAVIS_BRANCH
setenv =
CLASSPATH = {envdir}/javalib/*
driver-mock: TESTNAME=test_mock driver-mock: TESTNAME=test_mock
driver-hsqldb: TESTNAME=test_integration.HsqldbTest driver-hsqldb: TESTNAME=test_integration.HsqldbTest
driver-sqliteXerial: TESTNAME=test_integration.SqliteXerialTest driver-sqliteXerial: TESTNAME=test_integration.SqliteXerialTest
driver-sqlitePy: TESTNAME=test_integration.SqlitePyTest driver-sqlitePy: TESTNAME=test_integration.SqlitePyTest
deps = deps =
py26: -rrequirements-python-2.6.txt py26: unittest2==0.5.1
py27: -rrequirements-python-2.7.txt # urllib3 required by coveralls. See https://github.com/eddyxu/cpp-coveralls/issues/108
py3: -rrequirements-python-3.4.txt py26: urllib3[secure]
# not required for jython >= 2.7 anymore jython: -rrequirements-jython.txt py: JPype1==0.6.2
jip==0.9.9 jip==0.9.10
coveralls
commands = commands =
python --version
python ci/jipconf_subst.py {envdir} {toxworkdir}/shared python ci/jipconf_subst.py {envdir} {toxworkdir}/shared
driver-hsqldb: jip install org.hsqldb:hsqldb:1.8.0.10 driver-hsqldb: jip install org.hsqldb:hsqldb:1.8.0.10
driver-sqliteXerial: jip install org.xerial:sqlite-jdbc:3.7.2 driver-sqliteXerial: jip install org.xerial:sqlite-jdbc:3.7.2
driver-mock: mvn -Dmaven.repo.local={toxworkdir}/shared/.m2/repository -f mockdriver/pom.xml install driver-mock: mvn -Dmaven.repo.local={toxworkdir}/shared/.m2/repository -f mockdriver/pom.xml install
driver-mock: jip install org.jaydebeapi:mockdriver:1.0-SNAPSHOT driver-mock: jip install org.jaydebeapi:mockdriver:1.0-SNAPSHOT
{envbindir}/python test/testsuite.py {env:TESTNAME} coverage run -a --source jaydebeapi test/testsuite.py {env:TESTNAME}
driver-hsqldb: {envbindir}/python test/doctests.py driver-hsqldb: coverage run -a --source jaydebeapi test/doctests.py
python ci/run_coveralls.py