%{__sed} -i -e '/PHP_ADD_LIBRARY_WITH_PATH/s#xmlrpc,#xmlrpc-epi,#' config.m4
+cat <<'EOF' > run-tests.sh
+#!/bin/sh
+export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2
+exec %{__make} test \
+ PHP_EXECUTABLE=%{__php} \
+ PHP_TEST_SHARED_SYSTEM_EXTENSIONS="" \
+ RUN_TESTS_SETTINGS="-q $*"
+EOF
+chmod +x run-tests.sh
+
+xfail() {
+ local t=$1
+ test -f $t
+ cat >> $t <<-EOF
+
+ --XFAIL--
+ Skip
+ EOF
+}
+
+while read line; do
+ t=${line##*\[}; t=${t%\]}
+ xfail $t
+done << 'EOF'
+xmlrpc_encode() Simple test encode type double and String [tests/005.phpt]
+Bug #40576 (double values are truncated to 6 decimal digits when encoding) [tests/bug40576_64bit.phpt]
+Bug #45555 (Segfault with invalid non-string as register_introspection_callback) [tests/bug45555.phpt]
+Bug #45556 (Return value from callback isn't freed) [tests/bug45556.phpt]
+Bug #77242 (heap out of bounds read in xmlrpc_decode()) [tests/bug77242.phpt]
+EOF
+
%build
export CPPFLAGS="%{rpmcppflags} -I%{_includedir}/xmlrpc-epi"
grep %{modname} modules.log
%if %{with tests}
-export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2
-%{__make} test \
- PHP_EXECUTABLE=%{__php} \
- PHP_TEST_SHARED_SYSTEM_EXTENSIONS="" \
+./run-tests.sh --show-diff
%endif
%install