summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/Mermaid/tests/travis
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/extensions/Mermaid/tests/travis')
-rw-r--r--www/wiki/extensions/Mermaid/tests/travis/install-mediawiki.sh43
-rw-r--r--www/wiki/extensions/Mermaid/tests/travis/install-mermaid.sh72
-rw-r--r--www/wiki/extensions/Mermaid/tests/travis/run-tests.sh14
-rw-r--r--www/wiki/extensions/Mermaid/tests/travis/upload-coverage-report.sh10
4 files changed, 139 insertions, 0 deletions
diff --git a/www/wiki/extensions/Mermaid/tests/travis/install-mediawiki.sh b/www/wiki/extensions/Mermaid/tests/travis/install-mediawiki.sh
new file mode 100644
index 00000000..0fe25fb1
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/tests/travis/install-mediawiki.sh
@@ -0,0 +1,43 @@
+#!/bin/bash
+set -ex
+
+cd ..
+
+## Use sha (master@5cc1f1d) to download a particular commit to avoid breakages
+## introduced by MediaWiki core
+if [[ "$MW" == *@* ]]
+then
+ arrMw=(${MW//@/ })
+ MW=${arrMw[0]}
+ SOURCE=${arrMw[1]}
+else
+ MW=$MW
+ SOURCE=$MW
+fi
+
+wget https://github.com/wikimedia/mediawiki/archive/$SOURCE.tar.gz -O $MW.tar.gz
+
+tar -zxf $MW.tar.gz
+mv mediawiki-* mw
+
+cd mw
+
+## MW 1.25+ requires Psr\Logger
+if [ -f composer.json ]
+then
+ composer self-update
+ composer install --prefer-source
+fi
+
+if [ "$DB" == "postgres" ]
+then
+ # See #458
+ sudo /etc/init.d/postgresql stop
+ sudo /etc/init.d/postgresql start
+
+ psql -c 'create database its_a_mw;' -U postgres
+ php maintenance/install.php --dbtype $DB --dbuser postgres --dbname its_a_mw --pass nyan TravisWiki admin --scriptpath /TravisWiki
+else
+ mysql -e 'create database its_a_mw;'
+ php maintenance/install.php --dbtype $DB --dbuser root --dbname its_a_mw --dbpath $(pwd) --pass nyan TravisWiki admin --scriptpath /TravisWiki
+fi
diff --git a/www/wiki/extensions/Mermaid/tests/travis/install-mermaid.sh b/www/wiki/extensions/Mermaid/tests/travis/install-mermaid.sh
new file mode 100644
index 00000000..d87aa25a
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/tests/travis/install-mermaid.sh
@@ -0,0 +1,72 @@
+#!/bin/bash
+set -ex
+
+BASE_PATH=$(pwd)
+MW_INSTALL_PATH=$BASE_PATH/../mw
+
+# Run Composer installation from the MW root directory
+function installToMediaWikiRoot {
+ echo -e "Running MW root composer install build on $TRAVIS_BRANCH \n"
+
+ cd $MW_INSTALL_PATH
+
+ if [ "$PHPUNIT" != "" ]
+ then
+ composer require 'phpunit/phpunit='$PHPUNIT --update-with-dependencies
+ else
+ composer require 'phpunit/phpunit=4.8.*' --update-with-dependencies
+ fi
+
+ if [ "$MERMAID" != "" ]
+ then
+ composer require 'mediawiki/mermaid='$MERMAID --update-with-dependencies
+ else
+ composer init --stability dev
+ composer require "mediawiki/mermaid:dev-master" --dev --update-with-dependencies
+
+ cd extensions
+ cd Mermaid
+
+ # Pull request number, "false" if it's not a pull request
+ # After the install via composer an additional get fetch is carried out to
+ # update th repository to make sure that the latests code changes are
+ # deployed for testing
+ if [ "$TRAVIS_PULL_REQUEST" != "false" ]
+ then
+ git fetch origin +refs/pull/"$TRAVIS_PULL_REQUEST"/merge:
+ git checkout -qf FETCH_HEAD
+ else
+ git fetch origin "$TRAVIS_BRANCH"
+ git checkout -qf FETCH_HEAD
+ fi
+
+ cd ../..
+ fi
+
+ # Rebuild the class map for added classes during git fetch
+ composer dump-autoload
+}
+
+function updateConfiguration {
+
+ cd $MW_INSTALL_PATH
+
+ # Site language
+ if [ "$SITELANG" != "" ]
+ then
+ echo '$wgLanguageCode = "'$SITELANG'";' >> LocalSettings.php
+ fi
+
+ echo 'error_reporting(E_ALL| E_STRICT);' >> LocalSettings.php
+ echo 'ini_set("display_errors", 1);' >> LocalSettings.php
+ echo '$wgShowExceptionDetails = true;' >> LocalSettings.php
+ echo '$wgDevelopmentWarnings = true;' >> LocalSettings.php
+ echo "putenv( 'MW_INSTALL_PATH=$(pwd)' );" >> LocalSettings.php
+
+ echo "wfLoadExtension( 'Mermaid' );" >> LocalSettings.php
+
+ php maintenance/update.php --quick
+}
+
+installToMediaWikiRoot
+updateConfiguration
diff --git a/www/wiki/extensions/Mermaid/tests/travis/run-tests.sh b/www/wiki/extensions/Mermaid/tests/travis/run-tests.sh
new file mode 100644
index 00000000..7f37b652
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/tests/travis/run-tests.sh
@@ -0,0 +1,14 @@
+#! /bin/bash
+set -ex
+
+BASE_PATH=$(pwd)
+MW_INSTALL_PATH=$BASE_PATH/../mw
+
+cd $MW_INSTALL_PATH/extensions/Mermaid
+
+if [ "$TYPE" == "coverage" ]
+then
+ composer phpunit -- --coverage-clover $BASE_PATH/build/coverage.clover
+else
+ composer phpunit
+fi
diff --git a/www/wiki/extensions/Mermaid/tests/travis/upload-coverage-report.sh b/www/wiki/extensions/Mermaid/tests/travis/upload-coverage-report.sh
new file mode 100644
index 00000000..aff95cf7
--- /dev/null
+++ b/www/wiki/extensions/Mermaid/tests/travis/upload-coverage-report.sh
@@ -0,0 +1,10 @@
+#! /bin/bash
+set -ex
+
+BASE_PATH=$(pwd)
+
+if [ "$TYPE" == "coverage" ]
+then
+ wget https://scrutinizer-ci.com/ocular.phar
+ php ocular.phar code-coverage:upload --format=php-clover $BASE_PATH/build/coverage.clover
+fi \ No newline at end of file