summaryrefslogtreecommitdiffstats
path: root/phpunit.sh
diff options
context:
space:
mode:
authorAnthony Ferrara <ircmaxell@gmail.com>2015-10-30 12:45:38 +0100
committerAnthony Ferrara <ircmaxell@gmail.com>2015-10-30 12:45:38 +0100
commit5ffbc2aa5500af3014e3d31c11ab46b2f73ea1fc (patch)
tree42df3804f1c86347f2ec8145e86c30efc249bbee /phpunit.sh
parent2fa50aa2f17066fa74ba00d943e8cee1a98284af (diff)
downloadrandom_compat-5ffbc2aa5500af3014e3d31c11ab46b2f73ea1fc.zip
random_compat-5ffbc2aa5500af3014e3d31c11ab46b2f73ea1fc.tar.gz
random_compat-5ffbc2aa5500af3014e3d31c11ab46b2f73ea1fc.tar.bz2
Refactor tests to use phpunit properly with standardized bootstrapping and maanging phpunit via composer
Diffstat (limited to 'phpunit.sh')
-rwxr-xr-xphpunit.sh62
1 files changed, 62 insertions, 0 deletions
diff --git a/phpunit.sh b/phpunit.sh
new file mode 100755
index 0000000..c4c6a9f
--- /dev/null
+++ b/phpunit.sh
@@ -0,0 +1,62 @@
+#!/usr/bin/env bash
+
+if [ "$1" == 'full' ]; then
+ fulltest=1
+elif [ "$1" == 'each' ]; then
+ testeach=1
+else
+ fulltest=0
+fi
+
+PHP_VERSION=$(php -r "echo PHP_VERSION_ID;")
+
+echo
+echo -e "\033[33mBegin Unit Testing\033[0m"
+# Run the testing suite
+echo "Basic test suite:"
+php vendor/bin/phpunit tests/unit
+if [ $? -ne 0 ]; then
+ # Test failure
+ exit 1
+fi
+echo "With open_basedir enabled:"
+php -d open_basedir=`pwd` vendor/bin/phpunit tests/unit
+if [ $? -ne 0 ]; then
+ # Test failure
+ exit 1
+fi
+echo "With open_basedir enabled, allowing /dev:"
+php -d open_basedir=`pwd`:/dev vendor/bin/phpunit tests/unit
+if [ $? -ne 0 ]; then
+ # Test failure
+ exit 1
+fi
+echo "With mbstring.func_overload enabled:"
+php -d mbstring.func_overload=7 vendor/bin/phpunit tests/unit
+if [ $? -ne 0 ]; then
+ # Test failure
+ exit 1
+fi
+
+if [[ "$testeach" == "1" ]]; then
+ echo " CAPICOM:"
+ php vendor/bin/phpunit --bootstrap tests/specific/capicom.php tests/unit
+ echo " /dev/urandom:"
+ php vendor/bin/phpunit --bootstrap tests/specific/dev_urandom.php tests/unit
+ echo " libsodium:"
+ php vendor/bin/phpunit --bootstrap tests/specific/libsodium.php tests/unit
+ echo " mcrypt:"
+ php vendor/bin/phpunit --bootstrap tests/specific/mcrypt.php tests/unit
+ echo " openssl:"
+ php vendor/bin/phpunit --bootstrap tests/specific/openssl.php tests/unit
+fi
+
+# Should we perform full statistical analyses?
+if [[ "$fulltest" == "1" ]]; then
+ php vendor/bin/phpunit tests/full
+ if [ $? -ne 0 ]; then
+ # Test failure
+ exit 1
+ fi
+fi
+