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
.project
.tox
.coverage
*.iml
.idea/

View File

@ -17,36 +17,19 @@ python:
- '2.6'
- '2.7'
- '3.4'
- '3.6'
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:
include:
- python: 2.7
env: TESTNAME=test_integration.SqlitePyTest
- 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
- python: 3.6
env: JYTHON=org.python:jython-installer:2.7.0 TOXENV="jython-driver-{hsqldb,mock}"
before_install:
- ci/before_install.sh
- export PATH="$HOME/bin:$PATH"
install:
- if [ "$JDBC_DRIVER" == "org.jaydebeapi:mockdriver:1.0-SNAPSHOT" ]; then (cd mockdriver && mvn -Dmaven.repo.local=$VIRTUAL_ENV/.m2/repository install) ;fi
- 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
- pip install tox-travis
script:
- 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
script: tox

View File

@ -1,11 +1,4 @@
#!/bin/sh
set -e
[ -n "$JYTHON" ] && "${TRAVIS_BUILD_DIR}/ci/before_install_jython.sh" || "${TRAVIS_BUILD_DIR}/ci/before_install_nonjython.sh"
[ -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
[ -n "$JYTHON" ] && "${TRAVIS_BUILD_DIR}/ci/before_install_jython.sh" || true

View File

@ -1,8 +1,7 @@
#!/bin/sh
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
$HOME/jython/bin/pip install virtualenv
$HOME/jython/bin/virtualenv $HOME/myvirtualenv
mkdir -p $HOME/bin
ln -s $HOME/jython/bin/jython $HOME/bin/

View File

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

View File

@ -1,7 +1,7 @@
#!/bin/bash
set -e
ARTIFACT_SPEC=$1
ARTIFACT_SPEC="$1"
GROUP_ID=${ARTIFACT_SPEC%%:*}
NON_GROUP_ID=${ARTIFACT_SPEC#*:}
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]
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]
# usedevelop required to enable coveralls source code view.
usedevelop=True
whitelist_externals = mvn
setenv = CLASSPATH = {envdir}/javalib/*
passenv = TRAVIS TRAVIS_JOB_ID TRAVIS_BRANCH
setenv =
CLASSPATH = {envdir}/javalib/*
driver-mock: TESTNAME=test_mock
driver-hsqldb: TESTNAME=test_integration.HsqldbTest
driver-sqliteXerial: TESTNAME=test_integration.SqliteXerialTest
driver-sqlitePy: TESTNAME=test_integration.SqlitePyTest
deps =
py26: -rrequirements-python-2.6.txt
py27: -rrequirements-python-2.7.txt
py3: -rrequirements-python-3.4.txt
# not required for jython >= 2.7 anymore jython: -rrequirements-jython.txt
jip==0.9.9
py26: unittest2==0.5.1
# urllib3 required by coveralls. See https://github.com/eddyxu/cpp-coveralls/issues/108
py26: urllib3[secure]
py: JPype1==0.6.2
jip==0.9.10
coveralls
commands =
python --version
python ci/jipconf_subst.py {envdir} {toxworkdir}/shared
driver-hsqldb: jip install org.hsqldb:hsqldb:1.8.0.10
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: jip install org.jaydebeapi:mockdriver:1.0-SNAPSHOT
{envbindir}/python test/testsuite.py {env:TESTNAME}
driver-hsqldb: {envbindir}/python test/doctests.py
coverage run -a --source jaydebeapi test/testsuite.py {env:TESTNAME}
driver-hsqldb: coverage run -a --source jaydebeapi test/doctests.py
python ci/run_coveralls.py