Summary: | net-libs/libsoup tests require apache with some mods enabled | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Diego Elio Pettenò (RETIRED) <flameeyes> |
Component: | New packages | Assignee: | Gentoo Linux Gnome Desktop Team <gnome> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | binki, lilwyrm |
Priority: | High | Keywords: | NeedPatch, TESTFAILURE |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | https://bugzilla.gnome.org/show_bug.cgi?id=623675 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 313037 | ||
Attachments: |
Build log
libsoup-2.30.2-configure-test.patch |
Description
Diego Elio Pettenò (RETIRED)
![]() Created attachment 237537 [details]
Build log
They don't require it on my system :-/ (my apache doesn't have proxy support and mod_proxy.so is not present), Do you have php installed? I do. In my case, they still doesn't fail (are skipped instead, even if I have apache installed, but without proxy module): Making check in tests make[1]: Entering directory `/var/tmp/portage/net-libs/libsoup-2.30.2-r1/work/libsoup-2.30.2/tests' make check-TESTS check-local make[2]: Entering directory `/var/tmp/portage/net-libs/libsoup-2.30.2-r1/work/libsoup-2.30.2/tests' ignoring bug in test case... FIXME! ignoring bug in test case... FIXME! ignoring bug in test case... FIXME! chunk-test: OK PASS: chunk-test coding-test: OK PASS: coding-test context-test: OK PASS: context-test continue-test: OK PASS: continue-test cookies-test: OK PASS: cookies-test date: OK PASS: date header-parsing: OK PASS: header-parsing misc-test: OK PASS: misc-test ntlm-test: OK PASS: ntlm-test redirect-test: OK PASS: redirect-test sniffing-test: OK PASS: sniffing-test streaming-test: OK PASS: streaming-test timeout-test: OK PASS: timeout-test uri-parsing: OK PASS: uri-parsing forms-test: OK PASS: forms-test server-auth-test: OK PASS: server-auth-test SYNCHRONOUS SSL TEST PASSED ASYNCHRONOUS SSL TEST PASSED PASS: ssl-test =================== All 17 tests passed =================== NOTE: some tests were not run due to missing packages: apache Umm, seems that in my case configure detects I have no apache: checking Apache version... 2.2.15 (Unix) (ok) checking for Apache module directory... checking for curl... /usr/bin/curl configure: Some regression tests will not be run due to missing packages: apache It's because it doesn't detect any apache module directory, that is wrong, I have it in /usr/lib64/apache2/modules Of course the tinderbox has /usr/lib not /usr/lib64 being x86 so here it detects it ;) Mystery partly solved. As seen in configure.ac: http://git.gnome.org/browse/libsoup/tree/configure.ac?h=gnome-2-30 if test "$APACHE_HTTPD" != "no"; then AC_MSG_CHECKING([for Apache module directory]) AC_ARG_WITH(apache-module-dir, AS_HELP_STRING([--with-apache-module-dir], [Apache modules dirs (for tests)]), apache_module_dirs="$withval", [apache_prefix=`dirname \`dirname $APACHE_HTTPD\`` mpm=`$APACHE_HTTPD -V | sed -ne 's/^Server MPM: */-/p' | tr 'A-Z' 'a-z'` # This only works with bash, but should fail harmlessly in sh apache_module_dirs=`echo $apache_prefix/lib{64,}/{apache,apache2,http,http2,httpd}{$mpm,}{/modules,}`]) for dir in $apache_module_dirs; do if test -f $dir/mod_auth_digest.so; then APACHE_MODULE_DIR="$dir" fi if test -f $dir/mod_ssl.so; then APACHE_SSL_MODULE_DIR="$dir" IF_HAVE_APACHE_SSL="" fi if test -f $dir/mod_php5.so; then APACHE_PHP_MODULE_DIR="$dir" APACHE_PHP_MODULE=mod_php5.so fi if test -f $dir/libphp5.so; then APACHE_PHP_MODULE_DIR="$dir" APACHE_PHP_MODULE=libphp5.so fi done AC_MSG_RESULT($APACHE_MODULE_DIR) AC_SUBST(APACHE_MODULE_DIR) AC_SUBST(APACHE_SSL_MODULE_DIR) AC_SUBST(APACHE_PHP_MODULE_DIR) AC_SUBST(APACHE_PHP_MODULE) fi Looks that I get apache tests skipped simply because some needed modules are missing and, then, I think that the same check should be used for the rest of needed modules (including mod_proxy) to skip apache tests in these situations: http://git.gnome.org/browse/libsoup/tree/tests/httpd.conf.in?h=gnome-2-30 The problem is that I don't have enough knowledge of shell scripting to test for all that files without using a lot of "&&" :-( Created attachment 238879 [details, diff]
libsoup-2.30.2-configure-test.patch
This is the patch that fixes this (thanks to Samuli Suominen for his help)
Other option could be to require apache to be built with that needed mods when running tests instead of relying on upstream way of skipping (unsuccessfully) apache tests when not present. I will probably take this way in the near future if nobody disagrees But, even with all apache mods present, auth-test stalls with: PASS: uri-parsing (auth-test:5935): libsoup-CRITICAL **: soup_auth_authenticate: assertion `SOUP_IS_AUTH (auth)' failed (auth-test:5935): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed (auth-test:5935): libsoup-CRITICAL **: soup_message_io_unpause: assertion `io != NULL' failed even when tests run fail outside portage :-/ And skipping it ends with: httpd (pid 10961?) not running proxy-test: 71 error(s). Run with '-d' for details FAIL: proxy-test Could not fetch http://127.0.0.1:47524/: 7 Connection terminated unexpectedly FAIL: pull-api httpd (pid 11009?) not running range-test: 8 error(s). Run with '-d' for details FAIL: range-test forms-test: OK PASS: forms-test server-auth-test: OK PASS: server-auth-test SYNCHRONOUS SSL TEST PASSED ASYNCHRONOUS SSL TEST PASSED PASS: ssl-test ======================================================================== 3 of 20 tests failed Please report to http://bugzilla.gnome.org/enter_bug.cgi?product=libsoup ======================================================================== make[2]: *** [check-TESTS] Error 1 make[2]: Leaving directory `/var/tmp/portage/net-libs/libsoup-2.32.2/work/libsoup-2.32.2/tests' make[1]: *** [check-am] Error 2 make[1]: Leaving directory `/var/tmp/portage/net-libs/libsoup-2.32.2/work/libsoup-2.32.2/tests' make: *** [check-recursive] Error 1 :-S |