diff --git a/.travis.yml b/.travis.yml index 630f2ac..f9aa315 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,34 +19,16 @@ python: - '3.4' 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.4 + env: JYTHON="org.python;jython-installer;2.7.0" 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 diff --git a/ci/before_install.sh b/ci/before_install.sh index 1b4a35f..1a99394 100755 --- a/ci/before_install.sh +++ b/ci/before_install.sh @@ -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 diff --git a/ci/before_install_jython.sh b/ci/before_install_jython.sh index 21765cf..c9c5826 100755 --- a/ci/before_install_jython.sh +++ b/ci/before_install_jython.sh @@ -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/ diff --git a/ci/before_install_nonjython.sh b/ci/before_install_nonjython.sh deleted file mode 100755 index 597e62a..0000000 --- a/ci/before_install_nonjython.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -set -e - -ln -s $VIRTUAL_ENV $HOME/myvirtualenv diff --git a/ci/mvnget.sh b/ci/mvnget.sh index a7ad631..27ac129 100755 --- a/ci/mvnget.sh +++ b/ci/mvnget.sh @@ -1,13 +1,13 @@ #!/bin/bash set -e -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))"` +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))"` _PATH=${GROUP_ID/./\/}/$ARTIFACT_NAME -_ARTIFACT_SPEC_BASENAME=${NON_GROUP_ID/:/-} -VERSION=${ARTIFACT_SPEC##*:} +_ARTIFACT_SPEC_BASENAME=${NON_GROUP_ID/;/-} +VERSION=${ARTIFACT_SPEC##*;} echo "Downloading ${ARTIFACT_NAME} version ${VERSION} group id ${GROUP_ID}..." >&2 wget http://search.maven.org/remotecontent?filepath=${_PATH}/$VERSION/${_ARTIFACT_SPEC_BASENAME}.jar -O ${_ARTIFACT_SPEC_BASENAME}.jar echo "...download of ${_ARTIFACT_SPEC_BASENAME}.jar finished." >&2 diff --git a/requirements-jython.txt b/requirements-jython.txt deleted file mode 100644 index 9696b3b..0000000 --- a/requirements-jython.txt +++ /dev/null @@ -1 +0,0 @@ -unittest2==0.5.1 diff --git a/tox.ini b/tox.ini index 61bccad..7e83cae 100644 --- a/tox.ini +++ b/tox.ini @@ -1,8 +1,20 @@ [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} + +[travis:env] +JYTHON = + org.python;jython-installer;2.7.0: jython-driver-{hsqldb,mock} + [testenv] whitelist_externals = mvn -setenv = CLASSPATH = {envdir}/javalib/* +setenv = + CLASSPATH = {envdir}/javalib/* driver-mock: TESTNAME=test_mock driver-hsqldb: TESTNAME=test_integration.HsqldbTest driver-sqliteXerial: TESTNAME=test_integration.SqliteXerialTest @@ -11,8 +23,7 @@ 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 + jip==0.9.10 commands = python ci/jipconf_subst.py {envdir} {toxworkdir}/shared driver-hsqldb: jip install org.hsqldb:hsqldb:1.8.0.10