You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
1.6 KiB
102 lines
1.6 KiB
#!/bin/bash
|
|
# this script is for developers only
|
|
|
|
. run.cfg
|
|
|
|
basename=$(basename $(pwd))
|
|
if echo $basename | grep -- - >/dev/null; then :; else
|
|
dirs=${dirs:-php5-debug}
|
|
for dir in $dirs; do
|
|
cd ../${basename}-${dir} || exit
|
|
pwd
|
|
$0 "$@"
|
|
done
|
|
exit
|
|
fi
|
|
|
|
LANG=C /usr/bin/make $MAKEOPTS "$@" 2>&1 | hi error warn FAIL
|
|
ret=${PIPESTATUS[0]}
|
|
if [[ $ret -ne 0 ]]; then
|
|
exit $ret
|
|
fi
|
|
|
|
if [[ ! -z $1 ]]; then
|
|
type=$1
|
|
shift
|
|
|
|
if [[ ! -z $1 ]]; then
|
|
args=("$@")
|
|
elif [[ -z $args ]]; then
|
|
args=(test.php)
|
|
fi
|
|
fi
|
|
|
|
cmd=()
|
|
tracer=()
|
|
case "$basename" in
|
|
*-apache1*)
|
|
cmd=($HOME/apache1/bin/httpd -X)
|
|
;;
|
|
*-apache*)
|
|
exit 1
|
|
;;
|
|
*)
|
|
cmd=(./php-cgi -q -c php.ini)
|
|
"${cmd[@]}" -v
|
|
;;
|
|
esac
|
|
|
|
case "${args[0]}" in
|
|
fcgi)
|
|
args=(-b 1026)
|
|
shift
|
|
;;
|
|
esac
|
|
|
|
case "$type" in
|
|
make)
|
|
exit
|
|
;;
|
|
ltr*)
|
|
export USE_ZEND_ALLOC=0
|
|
tracer=(ltrace -s1024 -e malloc,realloc,free,write)
|
|
;;
|
|
str*)
|
|
tracer=(strace -s1024 -T ./php-cgi)
|
|
;;
|
|
gdb)
|
|
#USE_ZEND_ALLOC=0
|
|
tracer=(gdb --args)
|
|
;;
|
|
val*)
|
|
export USE_ZEND_ALLOC=0
|
|
tracer=(valgrind --gen-suppressions=all)
|
|
;;
|
|
dc)
|
|
exec ./php-cli -c php.ini ./phpdc.phpr "${args[@]}" | tee decompiled.php
|
|
;;
|
|
dop)
|
|
exec ./php-cgi -q -c php.ini ./phpdop.phpr "${args[@]}"
|
|
;;
|
|
retest)
|
|
exec make xcachetest "$@" TESTS="`grep '^/.*\.phpt$' php_test_results_*.txt | uniq | xargs`"
|
|
;;
|
|
test)
|
|
case "${args[0]}" in
|
|
*.phpt)
|
|
exec make xcachetest TEST_ARGS=-v TESTS="${args[*]}"
|
|
;;
|
|
*/)
|
|
exec make xcachetest TESTS="${args[@]}"
|
|
;;
|
|
*)
|
|
exec make xcachetest
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|
|
|
|
export XCACHE_SKIP_FCGI_WARNING=1
|
|
echo "${tracer[@]}" "${cmd[@]}" "${args[@]}"
|
|
exec "${tracer[@]}" "${cmd[@]}" "${args[@]}"
|