Skip to content

Commit 4422e83

Browse files
committed
Merge pull request #209 from mkoppanen/php7
Php7
2 parents e573a6e + fd8fead commit 4422e83

File tree

5 files changed

+216
-156
lines changed

5 files changed

+216
-156
lines changed

.travis.yml

+17-6
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ php:
33
- 7.0
44

55
env:
6+
- LIBMEMCACHED_VERSION=1.0.18
67
- LIBMEMCACHED_VERSION=1.0.17
78
- LIBMEMCACHED_VERSION=1.0.16
89
- LIBMEMCACHED_VERSION=1.0.15
@@ -12,15 +13,25 @@ env:
1213
- LIBMEMCACHED_VERSION=1.0.7
1314
- LIBMEMCACHED_VERSION=1.0.6
1415
- LIBMEMCACHED_VERSION=1.0.2
15-
- LIBMEMCACHED_VERSION=0.53
16-
- LIBMEMCACHED_VERSION=0.49
17-
- LIBMEMCACHED_VERSION=0.44
18-
19-
services:
20-
- memcached # will start memcached
16+
#- LIBMEMCACHED_VERSION=0.53
17+
#- LIBMEMCACHED_VERSION=0.49
18+
#- LIBMEMCACHED_VERSION=0.44
19+
addons:
20+
apt:
21+
packages:
22+
- sasl2-bin
23+
- libsasl2-dev
2124

2225
before_script:
2326
- ./.travis/travis.sh before_script $LIBMEMCACHED_VERSION
2427

2528
script:
2629
- ./.travis/travis.sh script $LIBMEMCACHED_VERSION
30+
31+
sudo: false
32+
33+
cache:
34+
directories:
35+
- $HOME/cache
36+
37+

.travis/travis.sh

+46-27
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,12 @@ function validate_package_xml() {
4444

4545
function install_libmemcached() {
4646

47+
if test -d "${LIBMEMCACHED_PREFIX}"
48+
then
49+
echo "Using cached libmemcached: ${LIBMEMCACHED_PREFIX}"
50+
return
51+
fi
52+
4753
wget "https://launchpad.net/libmemcached/1.0/${LIBMEMCACHED_VERSION}/+download/libmemcached-${LIBMEMCACHED_VERSION}.tar.gz" -O libmemcached-${LIBMEMCACHED_VERSION}.tar.gz
4854

4955
tar xvfz libmemcached-${LIBMEMCACHED_VERSION}.tar.gz
@@ -81,35 +87,52 @@ function install_msgpack() {
8187
popd
8288
}
8389

84-
function install_sasl() {
90+
function install_memcached() {
91+
local prefix="${HOME}/cache/memcached-sasl-${MEMCACHED_VERSION}"
92+
93+
if test -d "$prefix"
94+
then
95+
echo "Using cached memcached: ${prefix}"
96+
return
97+
fi
8598

86-
wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz -O memcached-1.4.15.tar.gz
87-
tar xfz memcached-1.4.15.tar.gz
99+
wget http://www.memcached.org/files/memcached-${MEMCACHED_VERSION}.tar.gz -O memcached-${MEMCACHED_VERSION}.tar.gz
100+
tar xfz memcached-${MEMCACHED_VERSION}.tar.gz
88101

89-
pushd memcached-1.4.15
90-
./configure --enable-sasl --prefix="${HOME}/memcached"
102+
pushd memcached-${MEMCACHED_VERSION}
103+
./configure --enable-sasl --enable-sasl-pwdb --prefix="${prefix}"
91104
make
92105
make install
93106
popd
107+
}
108+
109+
function run_memcached() {
110+
local prefix="${HOME}/cache/memcached-sasl-${MEMCACHED_VERSION}"
94111

95-
sudo apt-get install sasl2-bin
96-
export SASL_CONF_PATH="${HOME}/sasl2"
112+
export SASL_CONF_PATH="/tmp/sasl2"
113+
114+
if test -d "${SASL_CONF_PATH}"
115+
then
116+
rm -rf "${SASL_CONF_PATH}"
117+
fi
97118

98-
# Create config path
99119
mkdir "${SASL_CONF_PATH}"
120+
export MEMCACHED_SASL_PWDB="${SASL_CONF_PATH}/sasldb2"
100121

101122
# Create configuration
102123
cat<<EOF > "${SASL_CONF_PATH}/memcached.conf"
103124
mech_list: PLAIN
104125
plainlog_level: 5
105-
sasldb_path: ${SASL_CONF_PATH}/sasldb2
126+
sasldb_path: ${MEMCACHED_SASL_PWDB}
106127
EOF
107128

108-
# Create password
109-
echo "test" | /usr/sbin/saslpasswd2 -c memcached -a memcached -f "${SASL_CONF_PATH}/sasldb2"
129+
echo "test" | /usr/sbin/saslpasswd2 -c memcached -a memcached -f "${MEMCACHED_SASL_PWDB}"
130+
131+
# Run normal memcached
132+
"${prefix}/bin/memcached" -d -p 11211
110133

111134
# Run memcached on port 11212 with SASL support
112-
"${HOME}/memcached/bin/memcached" -S -d -p 11212
135+
"${prefix}/bin/memcached" -S -d -p 11212
113136
}
114137

115138
function build_php_memcached() {
@@ -153,30 +176,24 @@ EOF
153176
function run_memcached_tests() {
154177
export NO_INTERACTION=1
155178
export REPORT_EXIT_STATUS=1
156-
export TEST_PHP_EXECUTABLE=`which php`
179+
export TEST_PHP_EXECUTABLE=$(which php)
157180

158181
pushd "${PHP_MEMCACHED_BUILD_DIR}/memcached-${PHP_MEMCACHED_VERSION}"
159182
# We have one xfail test, we run it separately
160183
php run-tests.php -d extension=memcached.so -n ./tests/expire.phpt
161184
rm ./tests/expire.phpt
162185

163186
# Run normal tests
164-
php run-tests.php -d extension=memcached.so -n ./tests/*.phpt
187+
php run-tests.php --show-diff -d extension=memcached.so -n ./tests/*.phpt
165188
retval=$?
166-
for i in `ls tests/*.out 2>/dev/null`; do
167-
echo "-- START ${i}";
168-
cat $i;
169-
echo "";
170-
echo "-- END";
171-
done
172189
popd
173-
174190
return $retval;
175191
}
176192

177193
# Command line arguments
178194
ACTION=$1
179195
LIBMEMCACHED_VERSION=$2
196+
MEMCACHED_VERSION="1.4.25"
180197

181198
if test "x$ACTION" = "x"; then
182199
echo "Usage: $0 <action> <libmemcached version>"
@@ -188,11 +205,15 @@ if test "x$LIBMEMCACHED_VERSION" = "x"; then
188205
exit 1
189206
fi
190207

208+
if test "x$3" != "x"; then
209+
MEMCACHED_VERSION=$3
210+
fi
211+
191212
# the extension version
192213
PHP_MEMCACHED_VERSION=$(php -r '$sxe = simplexml_load_file ("package.xml"); echo (string) $sxe->version->release;')
193214

194215
# Libmemcached install dir
195-
LIBMEMCACHED_PREFIX="${HOME}/libmemcached-${LIBMEMCACHED_VERSION}"
216+
LIBMEMCACHED_PREFIX="${HOME}/cache/libmemcached-${LIBMEMCACHED_VERSION}"
196217

197218
# Where to do the build
198219
PHP_MEMCACHED_BUILD_DIR="/tmp/php-memcached-build"
@@ -219,11 +240,9 @@ case $ACTION in
219240

220241
# install msgpack
221242
# install_msgpack
222-
223-
# install SASL
224-
if test "x$ENABLE_SASL" = "xyes"; then
225-
install_sasl
226-
fi
243+
244+
install_memcached
245+
run_memcached
227246
;;
228247

229248
script)

0 commit comments

Comments
 (0)