blob: 66d8997d7527021e6e234c504e86e5d521765aba (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
#!/usr/bin/env bash
if [ $1 ]; then
if [ $1 == 'full' ]; then
fulltest=1
else
fulltest=0
fi
fi
origdir=`pwd`
cdir=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
cd $origdir
parentdir="$(dirname $cdir)"
clean=0 # Clean up?
gpg --fingerprint D8406D0D82947747293778314AA394086372C20A
if [ $? -ne 0 ]; then
echo -e "\033[33mDownloading PGP Public Key...\033[0m"
gpg --recv-keys D8406D0D82947747293778314AA394086372C20A
# Sebastian Bergmann <sb@sebastian-bergmann.de>
gpg --fingerprint D8406D0D82947747293778314AA394086372C20A
if [ $? -ne 0 ]; then
echo -e "\033[31mCould not download PGP public key for verification\033[0m"
exit
fi
fi
if [ "$clean" -eq 1 ]; then
# Let's clean them up, if they exist
if [ -f phpunit.phar ]; then
rm -f phpunit.phar
fi
if [ -f phpunit.phar.asc ]; then
rm -f phpunit.phar.asc
fi
fi
PHP_VERSION=$(php -r "echo PHP_VERSION_ID;")
# Let's grab the latest release and its signature
if [ ! -f phpunit.phar ]; then
if [[ $PHP_VERSION -ge 50600 ]]; then
wget https://phar.phpunit.de/phpunit.phar
else
wget -O phpunit.phar https://phar.phpunit.de/phpunit-old.phar
fi
fi
if [ ! -f phpunit.phar.asc ]; then
if [[ $PHP_VERSION -ge 50600 ]]; then
wget https://phar.phpunit.de/phpunit.phar.asc
else
wget -O phpunit.phar.asc https://phar.phpunit.de/phpunit-old.phar.asc
fi
fi
# Verify before running
gpg --verify phpunit.phar.asc phpunit.phar
if [ $? -eq 0 ]; then
echo
echo -e "\033[33mBegin Unit Testing\033[0m"
# Run the testing suite
echo "Basic test suite:"
php phpunit.phar --bootstrap "$parentdir/lib/random.php" "$parentdir/tests/unit"
if [ $? -ne 0 ]; then
# Test failure
exit 1
fi
echo "With open_basedir enabled:"
php -d open_basedir=$parentdir phpunit.phar --bootstrap "$parentdir/vendor/autoload.php" "$parentdir/tests/unit"
if [ $? -ne 0 ]; then
# Test failure
exit 1
fi
echo "With open_basedir enabled, allowing /dev:"
php -d open_basedir=$parentdir:/dev phpunit.phar --bootstrap "$parentdir/vendor/autoload.php" "$parentdir/tests/unit"
if [ $? -ne 0 ]; then
# Test failure
exit 1
fi
echo "With mbstring.func_overload enabled:"
php -d mbstring.func_overload=7 phpunit.phar --bootstrap "$parentdir/vendor/autoload.php" "$parentdir/tests/unit"
if [ $? -ne 0 ]; then
# Test failure
exit 1
fi
# Should we perform full statistical analyses?
if [[ "$fulltest" == "1" ]]; then
php phpunit.phar --bootstrap "$parentdir/vendor/autoload.php" "$parentdir/tests/full"
if [ $? -ne 0 ]; then
# Test failure
exit 1
fi
fi
# Cleanup
if [[ "$clean" == "1" ]]; then
echo -e "\033[32mCleaning Up!\033[0m"
rm -f phpunit.phar
rm -f phpunit.phar.asc
fi
else
echo
chmod -x phpunit.phar
mv phpunit.phar /tmp/bad-phpunit.phar
mv phpunit.phar.asc /tmp/bad-phpunit.phar.asc
echo -e "\033[31mSignature did not match! Check /tmp/bad-phpunit.phar for trojans\033[0m"
exit 1
fi
|