Skip to content

Commit

Permalink
Refactor tests to use phpunit properly with standardized bootstrappin…
Browse files Browse the repository at this point in the history
…g and maanging phpunit via composer
  • Loading branch information
ircmaxell committed Oct 30, 2015
1 parent 2fa50aa commit 5ffbc2a
Show file tree
Hide file tree
Showing 5 changed files with 95 additions and 123 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,4 @@ install:
- composer update
- chmod +x ./tests/phpunit.sh

script: ./tests/phpunit.sh travis
script: ./phpunit.sh travis
3 changes: 3 additions & 0 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@
"require": {
"php": ">=5.2.0"
},
"require-dev": {
"phpunit/phpunit": "4.*"
},
"suggest": {
"ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
},
Expand Down
62 changes: 62 additions & 0 deletions phpunit.sh
Original file line number Diff line number Diff line change
@@ -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

29 changes: 29 additions & 0 deletions phpunit.xml.dist
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="true"
backupStaticAttributes="false"
bootstrap="lib/random.php"
colors="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
processIsolation="false"
stopOnError="false"
stopOnFailure="false"
syntaxCheck="true"
>
<testsuites>
<testsuite name="Unit">
<directory>tests/unit</directory>
</testsuite>
</testsuites>
<testsuites>
<testsuite name="Random Compat Test Suite">
<directory suffix="Test.php">./tests/unit</directory>
</testsuite>
</testsuites>
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">./lib</directory>
</whitelist>
</filter>
</phpunit>
122 changes: 0 additions & 122 deletions tests/phpunit.sh

This file was deleted.

0 comments on commit 5ffbc2a

Please sign in to comment.