summaryrefslogtreecommitdiffstats
path: root/phpunit.sh
diff options
context:
space:
mode:
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
+