mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-05-04 20:06:43 +02:00
community/php7: run subset of tests on check
This commit is contained in:
parent
128b0f0e84
commit
63010da997
@ -44,11 +44,13 @@ source="http://php.net/distributions/$_pkgreal-$pkgver.tar.bz2
|
||||
$pkgname-fpm.initd
|
||||
$pkgname-fpm.logrotate
|
||||
$pkgname-module.conf
|
||||
disabled-tests.list
|
||||
install-pear.patch
|
||||
includedir.patch
|
||||
fix-asm-constraints-in-aarch64-multiply-macro.patch
|
||||
php7-fpm-version-suffix.patch
|
||||
allow-build-recode-and-imap-together.patch
|
||||
fix-tests-devserver.patch
|
||||
"
|
||||
builddir="$srcdir/$_pkgreal-$pkgver"
|
||||
|
||||
@ -100,6 +102,11 @@ prepare() {
|
||||
# Fix some bogus permissions.
|
||||
find . -name \*.[ch] -exec chmod 644 {} \;
|
||||
|
||||
# XXX: Delete failing tests.
|
||||
sed -n '/^[^#]/p' "$srcdir"/disabled-tests.list | while read item; do
|
||||
rm -r $item # do it in this way to apply globbing...
|
||||
done
|
||||
|
||||
autoconf
|
||||
}
|
||||
|
||||
@ -216,6 +223,29 @@ build() {
|
||||
|| return 1
|
||||
}
|
||||
|
||||
check() {
|
||||
cd "$builddir"
|
||||
|
||||
# PHP is so stupid that it's not able to resolve dependencies
|
||||
# between extensions and load them in correct order, so we must
|
||||
# help it...
|
||||
# * opcache is Zend extension, it's handled specially in Makefile
|
||||
# * imap can't be loaded together with recode, so we must omit it
|
||||
local php_modules=$(_extensions_by_deps_order \
|
||||
| grep -vx opcache \
|
||||
| grep -vx imap \
|
||||
| xargs -n 1 printf "'$builddir/modules/%s.la' ")
|
||||
sed -i "/^PHP_TEST_SHARED_EXTENSIONS/,/extension=/ \
|
||||
s|in \$(PHP_MODULES)\"*|in $php_modules|" Makefile
|
||||
|
||||
NO_INTERACTION=1 REPORT_EXIT_STATUS=1 \
|
||||
SKIP_SLOW_TESTS=1 SKIP_ONLINE_TESTS=1 TEST_TIMEOUT=10 \
|
||||
TZ= LANG= LC_ALL= \
|
||||
make test
|
||||
|
||||
echo 'NOTE: We have skipped quite a lot tests, see disabled-tests.list.'
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "$builddir"
|
||||
|
||||
@ -422,12 +452,26 @@ _resolve_extension_deps() {
|
||||
done
|
||||
}
|
||||
|
||||
# Prints _exts sorted by number of dependencies.
|
||||
_extensions_by_deps_order() {
|
||||
local deps list name
|
||||
|
||||
for name in $_exts; do
|
||||
deps=$(eval "echo \$depends_$name")
|
||||
: ${deps:=$(_resolve_extension_deps $name)}
|
||||
list="$list $(echo "$deps" | wc -w);$name"
|
||||
done
|
||||
printf '%s\n' $list | sort -t ';' -k 1 | sed -E 's/\d+;//'
|
||||
}
|
||||
|
||||
sha512sums="a1dd5ffd756176e6ba600dd850510033d0d6f07aff314de69fec0c42437e6a006449e3f4f98679146a2f2645caa65ea351e31a8e1da7c14cc5260856ad40eaff php-7.1.4.tar.bz2
|
||||
1c708de82d1086f272f484faf6cf6d087af7c31750cc2550b0b94ed723961b363f28a947b015b2dfc0765caea185a75f5d2c2f2b099c948b65c290924f606e4f php7-fpm.initd
|
||||
cacce7bf789467ff40647b7319e3760c6c587218720538516e8d400baa75651f72165c4e28056cd0c1dc89efecb4d00d0d7823bed80b29136262c825ce816691 php7-fpm.logrotate
|
||||
fbf9a1572d37370ec0d126502e1d066e045a992484d8fc4f1e2ede330134c1a15f4029f29fa4daebd48eed78b045dc051ced69fbf1f11efc7ad81d884a639a99 php7-module.conf
|
||||
b4b4f27cae93b35d84509ada75f199ef411dda052fa4419fb76d08278be620e9fa0cbc88f536b7510e6cba470788864953d71e7106cddc117da4c0ff3a8ffda2 disabled-tests.list
|
||||
f1177cbf6b1f44402f421c3d317aab1a2a40d0b1209c11519c1158df337c8945f3a313d689c939768584f3e4edbe52e8bd6103fb6777462326a9d94e8ab1f505 install-pear.patch
|
||||
199aecdbd3b4035aabf5379c215f82412d3c98b79a1ee186944e7fe1f0ed6f40789ea30e2355149491de6be34fc66c5e486e2a79a7e41ab2ae18706ef3ffe79b includedir.patch
|
||||
d93d3fc015580cf5f75c6cbca4cd980e054b61e1068495da81a7e61f1af2c9ae14f09964c04928ad338142de78e4844aed885b1ad1865282072999fb045c8ad7 fix-asm-constraints-in-aarch64-multiply-macro.patch
|
||||
a4c35446745ab0ac806de801f0651fc5d2c98cf60063c3c2d3963a84f1c71ef78e09b7650c08e7231be0fdb93c0c255de38894d7f0e4f4c5a190d17f1a6bc476 php7-fpm-version-suffix.patch
|
||||
f8ecae241a90cbc3e98aa4deb3d5d35ef555f51380e29f4e182a8060dffeb84be74f030a14c6b452668471030d78964f52795ca74275db05543ccad20ef1f2cc allow-build-recode-and-imap-together.patch"
|
||||
f8ecae241a90cbc3e98aa4deb3d5d35ef555f51380e29f4e182a8060dffeb84be74f030a14c6b452668471030d78964f52795ca74275db05543ccad20ef1f2cc allow-build-recode-and-imap-together.patch
|
||||
01c3c65f153ea92192f2b2694d93a086ffa67c282fe046f877842942692c25666e4154a09aba6c2161f7f2a3b6595f4d79573e9ee74aec774a95f2f9725846f9 fix-tests-devserver.patch"
|
||||
|
||||
215
community/php7/disabled-tests.list
Normal file
215
community/php7/disabled-tests.list
Normal file
@ -0,0 +1,215 @@
|
||||
#
|
||||
# Tests that we don't need to run
|
||||
#
|
||||
|
||||
# These are mostly unit or regression tests, we care about integration tests.
|
||||
tests/lang/*
|
||||
tests/classes/*
|
||||
Zend/tests/*
|
||||
|
||||
|
||||
#
|
||||
# Tests that fail and probably should not...
|
||||
#
|
||||
|
||||
# Too many tests fail! Some of them bogus, some not.
|
||||
# THIS SHOULD BE REALLY FIXED!
|
||||
ext/openssl/tests/*
|
||||
|
||||
# Broken tests, missing config.
|
||||
sapi/fpm/tests/*
|
||||
|
||||
|
||||
# Incorrect result.
|
||||
sapi/cli/tests/upload_2G.phpt
|
||||
|
||||
# Fails in chroot (on Travis).
|
||||
sapi/cli/tests/cli_process_title_unix.phpt
|
||||
|
||||
# Error messages in different order.
|
||||
sapi/cgi/tests/005.phpt
|
||||
|
||||
# Missing timezone in date.
|
||||
ext/date/tests/bug27780.phpt
|
||||
ext/date/tests/bug32555.phpt
|
||||
ext/date/tests/bug33532.phpt
|
||||
|
||||
# Number overflow!?
|
||||
ext/date/tests/bug53437_var5.phpt
|
||||
ext/date/tests/bug53437_var6.phpt
|
||||
|
||||
# Incompatible version of enchant library?
|
||||
ext/enchant/tests/broker_list_dicts.phpt
|
||||
ext/enchant/tests/bug13181.phpt
|
||||
|
||||
# Wrong charset, conversion from `UTF-8' to `ASCII//TRANSLIT' is not allowed.
|
||||
ext/iconv/tests/iconv_basic_001.phpt
|
||||
|
||||
# Wrong charset, conversion from `UTF-8' to `UTF-8//IGNORE' is not allowed.
|
||||
ext/iconv/tests/bug48147.phpt
|
||||
|
||||
# Float rounding error and/or different precision.
|
||||
ext/date/tests/date_time_fractions.phpt
|
||||
ext/intl/tests/bug14562.phpt
|
||||
ext/intl/tests/formatter_parse.phpt
|
||||
ext/intl/tests/formatter_parse_currency.phpt
|
||||
ext/intl/tests/msgfmt_parse.phpt
|
||||
|
||||
# Incorrect results.
|
||||
ext/intl/tests/spoofchecker_001.phpt
|
||||
ext/intl/tests/timezone_IDforWindowsID_basic.phpt
|
||||
ext/intl/tests/timezone_windowsID_basic.phpt
|
||||
|
||||
# Class 'Phar' not found.
|
||||
ext/opcache/tests/issue0115.phpt
|
||||
ext/opcache/tests/issue0149.phpt
|
||||
|
||||
# Invalid datasource.
|
||||
ext/pdo_odbc/tests/max_columns.phpt
|
||||
|
||||
# Fails in chroot (on Travis).
|
||||
ext/posix/tests/posix_errno_variation2.phpt
|
||||
ext/posix/tests/posix_kill_basic.phpt
|
||||
|
||||
# Randomly fails.
|
||||
ext/pcntl/tests/002.phpt
|
||||
|
||||
# Call to undefined function session_start().
|
||||
ext/session/tests/session_regenerate_id_cookie.phpt
|
||||
|
||||
# Class 'SoapServer' not found.
|
||||
ext/soap/tests/bug73037.phpt
|
||||
|
||||
# Incorrect results.
|
||||
ext/soap/tests/server009.phpt
|
||||
|
||||
# Depends on something from ext/openssl/tests
|
||||
ext/standard/tests/streams/stream_context_tcp_nodelay_server.phpt
|
||||
|
||||
# Incorrect results.
|
||||
ext/standard/tests/crypt/bcrypt_invalid_algorithm.phpt
|
||||
ext/standard/tests/crypt/bcrypt_invalid_cost.phpt
|
||||
ext/standard/tests/crypt/des_fallback_invalid_salt.phpt
|
||||
ext/standard/tests/strings/crypt_blowfish.phpt
|
||||
ext/standard/tests/strings/crypt_blowfish_variation1.phpt
|
||||
ext/standard/tests/strings/crypt_blowfish_variation2.phpt
|
||||
ext/standard/tests/strings/crypt_des_error.phpt
|
||||
|
||||
# Incorrect results.
|
||||
ext/standard/tests/strings/bug51059.phpt
|
||||
|
||||
# Fails in chroot (on Travis).
|
||||
ext/standard/tests/general_functions/proc_nice_basic.phpt
|
||||
|
||||
# Cannot find serialization handler 'wddx'.
|
||||
ext/wddx/tests/004.phpt
|
||||
ext/wddx/tests/005.phpt
|
||||
ext/wddx/tests/bug70741.phpt
|
||||
|
||||
# Globbing in zip file does not work.
|
||||
ext/zip/tests/bug70103.phpt
|
||||
|
||||
# Test timeouts.
|
||||
#Zend/tests/concat_003.phpt
|
||||
|
||||
# Failing tests related to locale and/or iconv.
|
||||
ext/date/tests/009.phpt
|
||||
ext/gettext/tests/gettext_basic-enus.phpt
|
||||
ext/gettext/tests/gettext_basic.phpt
|
||||
ext/gettext/tests/gettext_bindtextdomain-cwd.phpt
|
||||
ext/gettext/tests/gettext_dcgettext.phpt
|
||||
ext/gettext/tests/gettext_dgettext.phpt
|
||||
ext/gettext/tests/gettext_dngettext-plural.phpt
|
||||
ext/gettext/tests/gettext_ngettext.phpt
|
||||
ext/iconv/tests/bug52211.phpt
|
||||
ext/intl/tests/bug67052.phpt
|
||||
ext/intl/tests/formatter_format6.phpt
|
||||
ext/json/tests/bug41403.phpt
|
||||
ext/pcre/tests/locales.phpt
|
||||
ext/soap/tests/bugs/bug39815.phpt
|
||||
ext/standard/tests/array/locale_sort.phpt
|
||||
ext/standard/tests/file/bug43008.phpt
|
||||
ext/standard/tests/strings/htmlentities02.phpt
|
||||
ext/standard/tests/strings/moneyformat.phpt
|
||||
ext/standard/tests/strings/setlocale_basic1.phpt
|
||||
ext/standard/tests/strings/setlocale_basic2.phpt
|
||||
ext/standard/tests/strings/setlocale_basic3.phpt
|
||||
ext/standard/tests/strings/setlocale_error.phpt
|
||||
ext/standard/tests/strings/setlocale_variation1.phpt
|
||||
ext/standard/tests/strings/setlocale_variation2.phpt
|
||||
ext/standard/tests/strings/setlocale_variation3.phpt
|
||||
ext/standard/tests/strings/setlocale_variation4.phpt
|
||||
ext/standard/tests/strings/setlocale_variation5.phpt
|
||||
ext/standard/tests/strings/sprintf_f_3.phpt
|
||||
ext/standard/tests/strings/strtoupper.phpt
|
||||
ext/standard/tests/time/strptime_basic.phpt
|
||||
ext/standard/tests/time/strptime_parts.phpt
|
||||
#tests/lang/034.phpt
|
||||
#tests/lang/bug30638.phpt
|
||||
|
||||
|
||||
#
|
||||
# Tests that fail for known reason and/or we don't need to worry about them
|
||||
#
|
||||
|
||||
# Output does not match due to verbose messages from curl. Probably just
|
||||
# different curl version...
|
||||
ext/curl/tests/bug48203.phpt
|
||||
ext/curl/tests/bug48203_multi.phpt
|
||||
|
||||
# Fails due to unsupported JP charsets.
|
||||
ext/iconv/tests/eucjp2iso2022jp.phpt
|
||||
ext/iconv/tests/eucjp2sjis.phpt
|
||||
ext/iconv/tests/eucjp2utf8.phpt
|
||||
ext/iconv/tests/iconv_basic.phpt
|
||||
ext/iconv/tests/iconv_mime_decode.phpt
|
||||
ext/iconv/tests/iconv_mime_encode.phpt
|
||||
ext/iconv/tests/iconv_stream_filter.phpt
|
||||
ext/iconv/tests/iconv_stream_filter_delimiter.phpt
|
||||
ext/iconv/tests/iconv_strpos.phpt
|
||||
ext/iconv/tests/iconv_strrpos.phpt
|
||||
ext/iconv/tests/iconv_substr.phpt
|
||||
ext/iconv/tests/ob_iconv_handler.phpt
|
||||
ext/standard/tests/strings/htmlentities04.phpt
|
||||
ext/standard/tests/strings/htmlentities15.phpt
|
||||
|
||||
# Segfaults, it tests JIT stacklimit exhaustion.
|
||||
ext/pcre/tests/preg_match_error3.phpt
|
||||
|
||||
# Timeouts.
|
||||
ext/recode/tests/001.phpt
|
||||
|
||||
# Requires running SNMP server.
|
||||
ext/snmp/tests/*
|
||||
|
||||
# Operation not permitted.
|
||||
ext/sockets/tests/socket_set_option_bindtodevice.phpt
|
||||
|
||||
# Different wording of socket error messages (due to different libc).
|
||||
ext/sockets/tests/socket_strerror.phpt
|
||||
|
||||
# Broken test.
|
||||
ext/standard/tests/file/disk_free_space_basic.phpt
|
||||
|
||||
# Fails probably due to differencies in musl.
|
||||
ext/standard/tests/file/lstat_stat_variation9.phpt
|
||||
ext/standard/tests/file/popen_pclose_error.phpt
|
||||
|
||||
# WTF?! getservername(true, "tcp") and similar non-senses...
|
||||
ext/standard/tests/general_functions/getservbyport_variation1.phpt
|
||||
ext/standard/tests/general_functions/getservbyname_variation2.phpt
|
||||
ext/standard/tests/general_functions/getservbyname_variation5.phpt
|
||||
|
||||
# Needs GNU cut utility.
|
||||
ext/standard/tests/mail/mail_basic2.phpt
|
||||
ext/standard/tests/mail/mail_variation2.phpt
|
||||
|
||||
# Fails probably due to differencies in musl.
|
||||
ext/sockets/tests/socket_create_pair-wrongparams.phpt
|
||||
|
||||
# Error message does not match due to some extra info.
|
||||
ext/standard/tests/strings/007.phpt
|
||||
|
||||
# Causes stack exhausion.
|
||||
#Zend/tests/bug54268.phpt
|
||||
#Zend/tests/bug68412.phpt
|
||||
23
community/php7/fix-tests-devserver.patch
Normal file
23
community/php7/fix-tests-devserver.patch
Normal file
@ -0,0 +1,23 @@
|
||||
From: Jakub Jirutka <jakub@jirutka.cz>
|
||||
Date: Mon, 01 May 2017 01:33:00 +0200
|
||||
Subject: [PATCH] Fix tests failing due to extra message from built-in web server
|
||||
|
||||
Remove messages like:
|
||||
|
||||
PHP 7.1.4 Development Server started at Mon May 1 00:42:39 2017
|
||||
|
||||
from test outputs, because tests do not expect them. I have no clue what
|
||||
happens here...
|
||||
|
||||
--- a/run-tests.php
|
||||
+++ b/run-tests.php
|
||||
@@ -1918,6 +1918,9 @@
|
||||
// Does the output match what is expected?
|
||||
$output = preg_replace("/\r\n/", "\n", trim($out));
|
||||
|
||||
+ // Remove message from built-in development server.
|
||||
+ $output = preg_replace("/^PHP [0-9.]+ Development Server started at .*\n\n?/m", "", $output);
|
||||
+
|
||||
/* when using CGI, strip the headers from the output */
|
||||
$headers = "";
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user