gnu: glib: Disable tests in build phases instead of patches.
* gnu/packages/glib.scm (glib)[sources]: Remove glib-tests-desktop.patch, glib-tests-prlimit.patch and glib-tests-gapplicatiotn.patch. [arguments]: Add 'disable-falling-tests' phase. * gnu/packages/patches/glib-tests-timer.patch: Adjust accordingly. * gnu/packages/patches/glib-tests-desktop.patch, gnu/packages/patches/glib-tests-gapplication.patch, gnu/packages/patches/glib-tests-prlimit.patch: Remove files. * gnu-system.am (dist_patch_DATA): Remove them.master
parent
7dd99e5573
commit
7c951767c0
|
@ -485,10 +485,7 @@ dist_patch_DATA = \
|
|||
gnu/packages/patches/ghostscript-CVE-2015-3228.patch \
|
||||
gnu/packages/patches/ghostscript-runpath.patch \
|
||||
gnu/packages/patches/glib-networking-ssl-cert-file.patch \
|
||||
gnu/packages/patches/glib-tests-desktop.patch \
|
||||
gnu/packages/patches/glib-tests-prlimit.patch \
|
||||
gnu/packages/patches/glib-tests-timer.patch \
|
||||
gnu/packages/patches/glib-tests-gapplication.patch \
|
||||
gnu/packages/patches/glibc-CVE-2015-7547.patch \
|
||||
gnu/packages/patches/glibc-bootstrap-system.patch \
|
||||
gnu/packages/patches/glibc-hurd-extern-inline.patch \
|
||||
|
|
|
@ -138,10 +138,7 @@ shared NFS home directories.")
|
|||
(sha256
|
||||
(base32
|
||||
"1yzxr1ip3l0m9ydk5nq32piq70c9f17p5f0jyvlsghzbaawh67ss"))
|
||||
(patches (search-patches "glib-tests-desktop.patch"
|
||||
"glib-tests-prlimit.patch"
|
||||
"glib-tests-timer.patch"
|
||||
"glib-tests-gapplication.patch"))))
|
||||
(patches (search-patches "glib-tests-timer.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" ; everything
|
||||
"bin" ; glib-mkenums, gtester, etc.; depends on Python
|
||||
|
@ -176,16 +173,66 @@ shared NFS home directories.")
|
|||
"glib/tests/utils.c"
|
||||
"tests/spawn-test.c")
|
||||
(("/bin/sh")
|
||||
(string-append (assoc-ref inputs "bash") "/bin/sh")))
|
||||
(string-append (assoc-ref inputs "bash") "/bin/sh")))))
|
||||
(add-before 'check 'disable-failing-tests
|
||||
(lambda _
|
||||
(let ((disable
|
||||
(lambda (test-file test-paths)
|
||||
(define pattern+procs
|
||||
(map (lambda (test-path)
|
||||
(cons
|
||||
;; XXX: only works for single line statements.
|
||||
(format #f "g_test_add_func.*\"~a\".*" test-path)
|
||||
(const "")))
|
||||
test-paths))
|
||||
(substitute test-file pattern+procs)))
|
||||
(failing-tests
|
||||
'(("glib/tests/thread.c"
|
||||
(;; prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64
|
||||
;; as found on hydra.gnu.org, and strace(1) doesn't
|
||||
;; recognize it.
|
||||
"/thread/thread4"))
|
||||
|
||||
;; Disable a test that requires /etc/machine-id.
|
||||
(substitute* "gio/tests/gdbus-peer.c"
|
||||
(("g_test_add_func.*/gdbus/codegen-peer-to-peer.*") ""))
|
||||
;; Disable a test that requires dbus.
|
||||
(substitute* "gio/tests/gdbus-serialization.c"
|
||||
(("g_test_add_func \
|
||||
\\(\"/gdbus/message-serialize/double-array\", test_double_array\\);" all)
|
||||
(string-append "/* " all " */"))))))
|
||||
("glib/tests/timer.c"
|
||||
(;; fails if compiler optimizations are enabled, which they
|
||||
;; are by default.
|
||||
"/timer/stop"))
|
||||
|
||||
("gio/tests/gapplication.c"
|
||||
(;; XXX: proven to be unreliable. See:
|
||||
;; <https://bugs.debian.org/756273>
|
||||
;; <http://bugs.gnu.org/18445>
|
||||
"/gapplication/quit"))
|
||||
|
||||
("gio/tests/contenttype.c"
|
||||
(;; XXX: requires shared-mime-info.
|
||||
"/contenttype/guess"
|
||||
"/contenttype/subtype"
|
||||
"/contenttype/list"
|
||||
"/contenttype/icon"
|
||||
"/contenttype/symbolic-icon"
|
||||
"/contenttype/tree"))
|
||||
|
||||
("gio/tests/appinfo.c"
|
||||
(;; XXX: requires update-desktop-database.
|
||||
"/appinfo/associations"))
|
||||
|
||||
("gio/tests/desktop-app-info.c"
|
||||
(;; XXX: requires update-desktop-database.
|
||||
"/desktop-app-info/delete"
|
||||
"/desktop-app-info/default"
|
||||
"/desktop-app-info/fallback"
|
||||
"/desktop-app-info/lastused"
|
||||
"/desktop-app-info/search"))
|
||||
|
||||
("gio/tests/gdbus-peer.c"
|
||||
(;; Requires /etc/machine-id.
|
||||
"/gdbus/codegen-peer-to-peer"))
|
||||
|
||||
("gio/tests/gdbus-unix-addresses.c"
|
||||
(;; Requires /etc/machine-id.
|
||||
"/gdbus/x11-autolaunch")))))
|
||||
(and-map (lambda (x) (apply disable x)) failing-tests)))))
|
||||
|
||||
;; Note: `--docdir' and `--htmldir' are not honored, so work around it.
|
||||
#:configure-flags (list (string-append "--with-html-dir="
|
||||
|
|
|
@ -1,138 +0,0 @@
|
|||
Some GLib tests expect desktop things, such as an xterm, a MIME
|
||||
database, the `update-desktop-database' program, which we don't provide.
|
||||
|
||||
--- glib-2.37.1/gio/tests/appinfo.c 2013-06-07 23:44:44.000000000 +0200
|
||||
+++ glib-2.37.1/gio/tests/appinfo.c 2013-06-07 23:44:56.000000000 +0200
|
||||
@@ -497,16 +497,10 @@ main (int argc, char *argv[])
|
||||
|
||||
g_test_add_func ("/appinfo/basic", test_basic);
|
||||
g_test_add_func ("/appinfo/text", test_text);
|
||||
- g_test_add_func ("/appinfo/launch", test_launch);
|
||||
g_test_add_func ("/appinfo/show-in", test_show_in);
|
||||
g_test_add_func ("/appinfo/commandline", test_commandline);
|
||||
- g_test_add_func ("/appinfo/launch-context", test_launch_context);
|
||||
- g_test_add_func ("/appinfo/launch-context-signals", test_launch_context_signals);
|
||||
g_test_add_func ("/appinfo/tryexec", test_tryexec);
|
||||
- g_test_add_func ("/appinfo/associations", test_associations);
|
||||
g_test_add_func ("/appinfo/environment", test_environment);
|
||||
- g_test_add_func ("/appinfo/startup-wm-class", test_startup_wm_class);
|
||||
- g_test_add_func ("/appinfo/supported-types", test_supported_types);
|
||||
g_test_add_func ("/appinfo/from-keyfile", test_from_keyfile);
|
||||
|
||||
return g_test_run ();
|
||||
|
||||
--- glib-2.40.0/gio/tests/contenttype.c 2013-01-16 21:22:29.000000000 +0100
|
||||
+++ glib-2.40.0/gio/tests/contenttype.c 2013-01-16 21:22:33.000000000 +0100
|
||||
@@ -207,15 +207,6 @@ main (int argc, char *argv[])
|
||||
{
|
||||
g_test_init (&argc, &argv, NULL);
|
||||
|
||||
- g_test_add_func ("/contenttype/guess", test_guess);
|
||||
- g_test_add_func ("/contenttype/unknown", test_unknown);
|
||||
- g_test_add_func ("/contenttype/subtype", test_subtype);
|
||||
- g_test_add_func ("/contenttype/list", test_list);
|
||||
- g_test_add_func ("/contenttype/executable", test_executable);
|
||||
- g_test_add_func ("/contenttype/description", test_description);
|
||||
- g_test_add_func ("/contenttype/icon", test_icon);
|
||||
- g_test_add_func ("/contenttype/symbolic-icon", test_symbolic_icon);
|
||||
- g_test_add_func ("/contenttype/tree", test_tree);
|
||||
|
||||
return g_test_run ();
|
||||
}
|
||||
|
||||
|
||||
--- glib-2.40.0/gio/tests/desktop-app-info.c 2014-03-19 22:50:45.000000000 -0500
|
||||
+++ glib-2.40.0/gio/tests/desktop-app-info.c 2014-06-30 14:27:52.543358331 -0500
|
||||
@@ -708,6 +708,8 @@
|
||||
g_setenv ("XDG_DATA_HOME", basedir, TRUE);
|
||||
cleanup_subdirs (basedir);
|
||||
|
||||
+ result = g_test_run ();
|
||||
+ return result;
|
||||
g_test_add_func ("/desktop-app-info/delete", test_delete);
|
||||
g_test_add_func ("/desktop-app-info/default", test_default);
|
||||
g_test_add_func ("/desktop-app-info/fallback", test_fallback);
|
||||
|
||||
|
||||
-----------------------------
|
||||
The hunk below removes tests that depend on `gdbus-testserver.py',
|
||||
because that script depends on python-gobject. The second hunk
|
||||
disables a test that expects /etc/machine-id in the build environment.
|
||||
|
||||
--- glib-2.46.0/gio/tests/Makefile.in 2015-10-14 14:11:00.928809504 +0200
|
||||
+++ glib-2.46.0/gio/tests/Makefile.in 2015-10-14 14:12:13.157291092 +0200
|
||||
@@ -186,20 +186,13 @@ check_PROGRAMS = $(am__EXEEXT_16)
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-auth \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-bz627724 \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-close-pending \
|
||||
-@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-connection \
|
||||
-@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-connection-loss \
|
||||
-@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-connection-slow \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-error \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-exit-on-close \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-export \
|
||||
-@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-introspection \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-names \
|
||||
-@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-proxy \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-proxy-threads \
|
||||
-@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-proxy-well-known-name \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-test-codegen \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-test-codegen-old \
|
||||
-@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-threading \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gmenumodel \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gnotification \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ $(NULL)
|
||||
@@ -321,8 +314,7 @@ libresourceplugin_la_LINK = $(LIBTOOL) $
|
||||
am__EXEEXT_1 =
|
||||
@OS_UNIX_TRUE@am__EXEEXT_2 = contenttype$(EXEEXT) file$(EXEEXT) \
|
||||
@OS_UNIX_TRUE@ gdbus-peer-object-manager$(EXEEXT) \
|
||||
-@OS_UNIX_TRUE@ gdbus-unix-addresses$(EXEEXT) \
|
||||
@OS_UNIX_TRUE@ live-g-file$(EXEEXT) socket-address$(EXEEXT) \
|
||||
@OS_UNIX_TRUE@ stream-rw_all$(EXEEXT) unix-fd$(EXEEXT) \
|
||||
@OS_UNIX_TRUE@ unix-streams$(EXEEXT) $(am__EXEEXT_1) \
|
||||
|
||||
|
||||
The test below depends on the availability /etc/passwd to dbus-daemon.
|
||||
|
||||
--- glib-2.40.0/gio/tests/gdbus-auth.c 2014-02-03 11:40:41.000000000 -0600
|
||||
+++ glib-2.40.0/gio/tests/gdbus-auth.c 2014-06-30 15:08:43.719421893 -0500
|
||||
@@ -286,6 +286,8 @@
|
||||
{
|
||||
gint ret;
|
||||
|
||||
+ g_test_init (&argc, &argv, NULL);
|
||||
+ return g_test_run();
|
||||
setlocale (LC_ALL, "C");
|
||||
|
||||
temp_dbus_keyrings_setup ();
|
||||
|
||||
|
||||
The test dbus-appinfo is dropped as it hangs indefinitely since 2.37.5, see
|
||||
https://launchpad.net/ubuntu/+source/glib2.0/2.37.5-1ubuntu1
|
||||
|
||||
--- glib-2.40.0/gio/tests/dbus-appinfo.c 2014-02-03 11:40:41.000000000 -0600
|
||||
+++ glib-2.40.0/gio/tests/dbus-appinfo.c 2014-06-30 14:44:08.215383632 -0500
|
||||
@@ -278,7 +278,7 @@
|
||||
{
|
||||
g_test_init (&argc, &argv, NULL);
|
||||
|
||||
- g_test_add_func ("/appinfo/dbusappinfo", test_dbus_appinfo);
|
||||
+ return g_test_run();
|
||||
|
||||
return session_bus_run ();
|
||||
}
|
||||
|
||||
|
||||
The test below fails for unknown reasons (!).
|
||||
|
||||
--- glib-2.39.1/gio/tests/gsettings.c.orig 2014-01-20 00:45:04.000000000 +0100
|
||||
+++ glib-2.39.1/gio/tests/gsettings.c 2014-01-20 00:45:10.000000000 +0100
|
||||
@@ -2489,7 +2489,6 @@ main (int argc, char *argv[])
|
||||
g_test_add_func ("/gsettings/range/subprocess/high", test_range_high);
|
||||
g_test_add_func ("/gsettings/range/subprocess/low", test_range_low);
|
||||
g_test_add_func ("/gsettings/list-items", test_list_items);
|
||||
- g_test_add_func ("/gsettings/list-schemas", test_list_schemas);
|
||||
g_test_add_func ("/gsettings/mapped", test_get_mapped);
|
||||
g_test_add_func ("/gsettings/get-range", test_get_range);
|
||||
g_test_add_func ("/gsettings/schema-source", test_schema_source);
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
This test has proven to be unreliable, often leading to things like this
|
||||
in gapplication.log:
|
||||
|
||||
PASS: gapplication 3 /gapplication/properties
|
||||
Failed to register: The connection is closed
|
||||
**
|
||||
GLib-GIO:ERROR:gapplication.c:564:test_quit: assertion failed: (activated)
|
||||
ok 4 /gapplication/app-id
|
||||
PASS: gapplication 4 /gapplication/app-id
|
||||
../../tap-test: line 5: 24133 Aborted $1 -k --tap
|
||||
# GLib-GIO:ERROR:gapplication.c:564:test_quit: assertion failed: (activated)
|
||||
cleaning up pid 24154
|
||||
ERROR: gapplication - missing test plan
|
||||
ERROR: gapplication - exited with status 134 (terminated by signal 6?)
|
||||
|
||||
See <https://bugs.debian.org/756273> and <http://bugs.gnu.org/18445>.
|
||||
|
||||
|
||||
--- glib-2.40.2/gio/tests/gapplication.c 2014-12-03 22:34:44.566667649 +0100
|
||||
+++ glib-2.40.2/gio/tests/gapplication.c 2014-12-03 22:34:45.346674179 +0100
|
||||
@@ -685,7 +685,6 @@ main (int argc, char **argv)
|
||||
/* g_test_add_func ("/gapplication/non-unique", test_nonunique); */
|
||||
g_test_add_func ("/gapplication/properties", properties);
|
||||
g_test_add_func ("/gapplication/app-id", appid);
|
||||
- g_test_add_func ("/gapplication/quit", test_quit);
|
||||
g_test_add_func ("/gapplication/local-actions", test_local_actions);
|
||||
/* g_test_add_func ("/gapplication/remote-actions", test_remote_actions); */
|
||||
g_test_add_func ("/gapplication/local-command-line", test_local_command_line);
|
|
@ -1,14 +0,0 @@
|
|||
prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64 as found on
|
||||
hydra.gnu.org, and strace(1) doesn't recognize it.
|
||||
|
||||
--- glib-2.34.3/glib/tests/thread.c 2012-11-20 15:27:12.000000000 +0100
|
||||
+++ glib-2.34.3/glib/tests/thread.c 2013-03-27 14:48:31.000000000 +0100
|
||||
@@ -130,7 +130,7 @@ test_thread3 (void)
|
||||
static void
|
||||
test_thread4 (void)
|
||||
{
|
||||
-#ifdef HAVE_PRLIMIT
|
||||
+#if 0
|
||||
struct rlimit ol, nl;
|
||||
GThread *thread;
|
||||
GError *error;
|
|
@ -2,9 +2,6 @@
|
|||
fail depending on the elapsed microseconds. Improve rounding by adding a
|
||||
fractional bit.
|
||||
|
||||
* The /timer/stop test fails if compiler optimizations are enabled, which they
|
||||
are by default. Disable that test.
|
||||
|
||||
--- glib-2.40.0/glib/tests/timer.c 2014-03-05 08:05:42.000000000 -0600
|
||||
+++ glib-2.40.0/glib/tests/timer.c 2014-07-10 16:33:12.746862822 -0500
|
||||
@@ -35,7 +35,7 @@
|
||||
|
@ -16,11 +13,3 @@
|
|||
|
||||
g_timer_destroy (timer);
|
||||
}
|
||||
@@ -204,7 +204,6 @@
|
||||
g_test_init (&argc, &argv, NULL);
|
||||
|
||||
g_test_add_func ("/timer/basic", test_timer_basic);
|
||||
- g_test_add_func ("/timer/stop", test_timer_stop);
|
||||
g_test_add_func ("/timer/continue", test_timer_continue);
|
||||
g_test_add_func ("/timer/reset", test_timer_reset);
|
||||
g_test_add_func ("/timeval/add", test_timeval_add);
|
||||
|
|
Reference in New Issue