diff --git a/.travis.build.sh b/.travis.build.sh index 7681d5a2da..4538bab1e2 100755 --- a/.travis.build.sh +++ b/.travis.build.sh @@ -112,9 +112,6 @@ elif [ "$TEST_SUITE" = "style" ]; then fi done elif [ "$TEST_SUITE" = "unit" ]; then - echo "Copying test artifacts from cached mirror..." - git clone "$TEST_ARTIFACTS_MIRROR" "open_xdmod/modules/xdmod/tests/xdmod-test-artifacts" - open_xdmod/modules/xdmod/tests/runtests.sh if [ $? != 0 ]; then build_exit_value=2 diff --git a/.travis.install.sh b/.travis.install.sh index ce78be583e..a0b203135a 100755 --- a/.travis.install.sh +++ b/.travis.install.sh @@ -37,16 +37,3 @@ source ~/.nvm/nvm.sh nvm install "$NODE_VERSION" nvm use "$NODE_VERSION" npm install - -# Create or update a mirror of the XDMoD test artifacts. -# -# Travis will create any directories that are set up for caching if they do -# not exist, so check if the directory has contents instead of checking for -# the existence of the directory. -if [ -n "$(ls -A "$TEST_ARTIFACTS_MIRROR")" ]; then - echo "Updating XDMoD test artifacts mirror..." - git -C "$TEST_ARTIFACTS_MIRROR" remote update -else - echo "Creating mirror of XDMoD test artifacts..." - git clone --mirror "$TEST_ARTIFACTS_SOURCE" "$TEST_ARTIFACTS_MIRROR" -fi diff --git a/.travis.yml b/.travis.yml index 95d50e24a2..1fbdef5ced 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,8 +9,7 @@ php: env: global: - NODE_VERSION=6 - - TEST_ARTIFACTS_SOURCE="https://github.com/ubccr/xdmod-test-artifacts.git" - - TEST_ARTIFACTS_MIRROR="$HOME/xdmod-test-artifacts.git" + - XDMOD_TEST_ARTIFACTS_MIRROR="$HOME/xdmod-test-artifacts.git" matrix: - TEST_SUITE=syntax - TEST_SUITE=style @@ -27,7 +26,7 @@ cache: - $HOME/.npm - $HOME/.composer/cache - /tmp/pear/cache - - $TEST_ARTIFACTS_MIRROR + - $XDMOD_TEST_ARTIFACTS_MIRROR # Delegate the installation step to the custom Travis installation script install: ./.travis.install.sh diff --git a/open_xdmod/modules/xdmod/tests/.gitignore b/open_xdmod/modules/xdmod/tests/artifacts/.gitignore similarity index 100% rename from open_xdmod/modules/xdmod/tests/.gitignore rename to open_xdmod/modules/xdmod/tests/artifacts/.gitignore diff --git a/open_xdmod/modules/xdmod/tests/artifacts/update-artifacts.sh b/open_xdmod/modules/xdmod/tests/artifacts/update-artifacts.sh new file mode 100755 index 0000000000..e06d798bba --- /dev/null +++ b/open_xdmod/modules/xdmod/tests/artifacts/update-artifacts.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash + +xdmod_test_artifacts_source="https://github.com/ubccr/xdmod-test-artifacts.git" +using_xdmod_test_artifacts_mirror="false"; [ -n "$XDMOD_TEST_ARTIFACTS_MIRROR" ] && using_xdmod_test_artifacts_mirror="true" + +# Change directory to this script's directory. +cd "$(dirname $0)" || exit 1 + +# If using a mirror of the xdmod-test-artifacts repo, create or update it. +# +# Travis will create any directories that are set up for caching if they do +# not exist, so also check if the directory has contents. +if "$using_xdmod_test_artifacts_mirror"; then + if [ -d "$XDMOD_TEST_ARTIFACTS_MIRROR" ] && [ -n "$(ls -A "$XDMOD_TEST_ARTIFACTS_MIRROR")" ]; then + echo "Updating xdmod-test-artifacts mirror..." + git -C "$XDMOD_TEST_ARTIFACTS_MIRROR" remote update + else + echo "Creating mirror of xdmod-test-artifacts..." + git clone --mirror "$xdmod_test_artifacts_source" "$XDMOD_TEST_ARTIFACTS_MIRROR" + fi +fi + +# If the xdmod-test-artifacts repo already exists locally, update it. +# Otherwise, clone it. +artifacts_dir="./xdmod-test-artifacts" +if [ -d "$artifacts_dir" ]; then + echo "Updating local xdmod-test-artifacts clone..." + git -C "$artifacts_dir" pull +else + echo "Cloning xdmod-test-artifacts into local directory..." + if "$using_xdmod_test_artifacts_mirror"; then + local_clone_source="$XDMOD_TEST_ARTIFACTS_MIRROR" + else + local_clone_source="$xdmod_test_artifacts_source" + fi + git clone "$local_clone_source" "$artifacts_dir" +fi diff --git a/open_xdmod/modules/xdmod/tests/lib/ETL/Configuration/ConfigurationTest.php b/open_xdmod/modules/xdmod/tests/lib/ETL/Configuration/ConfigurationTest.php index 966cb0b6b3..d7d80c68fd 100644 --- a/open_xdmod/modules/xdmod/tests/lib/ETL/Configuration/ConfigurationTest.php +++ b/open_xdmod/modules/xdmod/tests/lib/ETL/Configuration/ConfigurationTest.php @@ -13,8 +13,8 @@ class ConfigurationTest extends \PHPUnit_Framework_TestCase { - const TEST_ARTIFACT_INPUT_PATH = "./xdmod-test-artifacts/xdmod/etlv2/configuration/input"; - const TEST_ARTIFACT_OUTPUT_PATH = "./xdmod-test-artifacts/xdmod/etlv2/configuration/output"; + const TEST_ARTIFACT_INPUT_PATH = "./artifacts/xdmod-test-artifacts/xdmod/etlv2/configuration/input"; + const TEST_ARTIFACT_OUTPUT_PATH = "./artifacts/xdmod-test-artifacts/xdmod/etlv2/configuration/output"; /** * Test JSON parse errors diff --git a/open_xdmod/modules/xdmod/tests/lib/ETL/Configuration/EtlConfigurationTest.php b/open_xdmod/modules/xdmod/tests/lib/ETL/Configuration/EtlConfigurationTest.php index c5a33cc063..889d0988b2 100644 --- a/open_xdmod/modules/xdmod/tests/lib/ETL/Configuration/EtlConfigurationTest.php +++ b/open_xdmod/modules/xdmod/tests/lib/ETL/Configuration/EtlConfigurationTest.php @@ -13,8 +13,8 @@ class EtlConfigurationTest extends \PHPUnit_Framework_TestCase { - const TEST_ARTIFACT_INPUT_PATH = "./xdmod-test-artifacts/xdmod/etlv2/configuration/input"; - const TEST_ARTIFACT_OUTPUT_PATH = "./xdmod-test-artifacts/xdmod/etlv2/configuration/output"; + const TEST_ARTIFACT_INPUT_PATH = "./artifacts/xdmod-test-artifacts/xdmod/etlv2/configuration/input"; + const TEST_ARTIFACT_OUTPUT_PATH = "./artifacts/xdmod-test-artifacts/xdmod/etlv2/configuration/output"; const TMPDIR = '/tmp/xdmod-etl-configuration-test'; /** diff --git a/open_xdmod/modules/xdmod/tests/lib/ETL/Configuration/Rfc6901Test.php b/open_xdmod/modules/xdmod/tests/lib/ETL/Configuration/Rfc6901Test.php index aa5f311d73..b4b70b0e09 100644 --- a/open_xdmod/modules/xdmod/tests/lib/ETL/Configuration/Rfc6901Test.php +++ b/open_xdmod/modules/xdmod/tests/lib/ETL/Configuration/Rfc6901Test.php @@ -14,8 +14,8 @@ class Rfc6901Test extends \PHPUnit_Framework_TestCase { - const TEST_ARTIFACT_INPUT_PATH = "./xdmod-test-artifacts/xdmod/etlv2/configuration/input"; - const TEST_ARTIFACT_OUTPUT_PATH = "./xdmod-test-artifacts/xdmod/etlv2/configuration/output"; + const TEST_ARTIFACT_INPUT_PATH = "./artifacts/xdmod-test-artifacts/xdmod/etlv2/configuration/input"; + const TEST_ARTIFACT_OUTPUT_PATH = "./artifacts/xdmod-test-artifacts/xdmod/etlv2/configuration/output"; private $config = null; private $transformer = null; diff --git a/open_xdmod/modules/xdmod/tests/lib/ETL/DbModel/DbModelTest.php b/open_xdmod/modules/xdmod/tests/lib/ETL/DbModel/DbModelTest.php index a71ae93e8f..6486c14799 100644 --- a/open_xdmod/modules/xdmod/tests/lib/ETL/DbModel/DbModelTest.php +++ b/open_xdmod/modules/xdmod/tests/lib/ETL/DbModel/DbModelTest.php @@ -21,8 +21,8 @@ class DbModelTest extends \PHPUnit_Framework_TestCase { - const TEST_ARTIFACT_INPUT_PATH = "./xdmod-test-artifacts/xdmod/etlv2/dbmodel/input"; - const TEST_ARTIFACT_OUTPUT_PATH = "./xdmod-test-artifacts/xdmod/etlv2/dbmodel/output"; + const TEST_ARTIFACT_INPUT_PATH = "./artifacts/xdmod-test-artifacts/xdmod/etlv2/dbmodel/input"; + const TEST_ARTIFACT_OUTPUT_PATH = "./artifacts/xdmod-test-artifacts/xdmod/etlv2/dbmodel/output"; private $logger = null; public function __construct() diff --git a/open_xdmod/modules/xdmod/tests/runtests.sh b/open_xdmod/modules/xdmod/tests/runtests.sh index e083092e20..fd96b02965 100755 --- a/open_xdmod/modules/xdmod/tests/runtests.sh +++ b/open_xdmod/modules/xdmod/tests/runtests.sh @@ -14,12 +14,7 @@ if [ ! -x "$phpunit" ]; then exit 127 fi -artifacts_dir="./xdmod-test-artifacts" -if [ -d "$artifacts_dir" ]; then - git -C "$artifacts_dir" pull -else - git clone "https://github.com/ubccr/xdmod-test-artifacts.git" "$artifacts_dir" -fi +./artifacts/update-artifacts.sh $phpunit ${PHPUNITARGS} . exit $?