From mboxrd@z Thu Jan 1 00:00:00 1970 From: Efraim Flashner Subject: Re: [PATCH 3/4] gnu: glib: Disable tests in build phases instead of patches. Date: Sun, 3 Apr 2016 20:11:50 +0300 Message-ID: <20160403171150.GF3620@debian-netbook> References: <1459650631-13117-1-git-send-email-iyzsong@gmail.com> <1459650631-13117-3-git-send-email-iyzsong@gmail.com> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="aZoGpuMECXJckB41" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:58869) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1amlZ7-0000Gk-BJ for guix-devel@gnu.org; Sun, 03 Apr 2016 13:11:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1amlZ4-00035W-1y for guix-devel@gnu.org; Sun, 03 Apr 2016 13:11:57 -0400 Received: from flashner.co.il ([178.62.234.194]:42556) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1amlZ3-00035R-NH for guix-devel@gnu.org; Sun, 03 Apr 2016 13:11:54 -0400 Content-Disposition: inline In-Reply-To: <1459650631-13117-3-git-send-email-iyzsong@gmail.com> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: =?utf-8?B?5a6L5paH5q2m?= Cc: guix-devel@gnu.org --aZoGpuMECXJckB41 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Apr 03, 2016 at 10:30:30AM +0800, =E5=AE=8B=E6=96=87=E6=AD=A6 wrote: > * 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. > --- > gnu-system.am | 3 - > gnu/packages/glib.scm | 75 ++++++++--- > gnu/packages/patches/glib-tests-desktop.patch | 138 ---------------= ------ > gnu/packages/patches/glib-tests-gapplication.patch | 28 ----- > gnu/packages/patches/glib-tests-prlimit.patch | 14 --- > gnu/packages/patches/glib-tests-timer.patch | 11 -- > 6 files changed, 61 insertions(+), 208 deletions(-) > delete mode 100644 gnu/packages/patches/glib-tests-desktop.patch > delete mode 100644 gnu/packages/patches/glib-tests-gapplication.patch > delete mode 100644 gnu/packages/patches/glib-tests-prlimit.patch >=20 > diff --git a/gnu-system.am b/gnu-system.am > index 293bda3..0930455 100644 > --- a/gnu-system.am > +++ b/gnu-system.am > @@ -485,10 +485,7 @@ dist_patch_DATA =3D \ > 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 \ > diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm > index 2b90c12..71d2082 100644 > --- a/gnu/packages/glib.scm > +++ b/gnu/packages/glib.scm > @@ -139,10 +139,7 @@ shared NFS home directories.") > (sha256 > (base32 > "1yzxr1ip3l0m9ydk5nq32piq70c9f17p5f0jyvlsghzbaawh67ss")) > - (patches (list (search-patch "glib-tests-desktop.patch") > - (search-patch "glib-tests-prlimit.patch") > - (search-patch "glib-tests-timer.patch") > - (search-patch "glib-tests-gapplication.patch"= ))))) > + (patches (list (search-patch "glib-tests-timer.patch"))))) > (build-system gnu-build-system) > (outputs '("out" ; everything > "bin" ; glib-mkenums, gtester, etc.; depends on = Python > @@ -177,16 +174,66 @@ shared NFS home directories.") > "glib/tests/utils.c" > "tests/spawn-test.c") > (("/bin/sh") > - (string-append (assoc-ref inputs "bash") "/bin/sh"))) > - > - ;; 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 " */")))))) > + (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 statem= ents. > + (format #f "g_test_add_func.*\"~a\".*" te= st-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-xe= n-amd64 > + ;; as found on hydra.gnu.org, and strace(1) doesn= 't > + ;; recognize it. > + "/thread/thread4")) > + > + ("glib/tests/timer.c" > + (;; fails if compiler optimizations are enabled, w= hich they > + ;; are by default. > + "/timer/stop")) > + > + ("gio/tests/gapplication.c" > + (;; XXX: proven to be unreliable. See: > + ;; > + ;; > + "/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))))) > =20 > ;; Note: `--docdir' and `--htmldir' are not honored, so work aroun= d it. > #:configure-flags (list (string-append "--with-html-dir=3D" > diff --git a/gnu/packages/patches/glib-tests-desktop.patch b/gnu/packages= /patches/glib-tests-desktop.patch > deleted file mode 100644 > index 642234e..0000000 > --- a/gnu/packages/patches/glib-tests-desktop.patch > +++ /dev/null > @@ -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[]) > -=20 > - 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_conte= xt_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); > -=20 > - return g_test_run (); > - > ---- glib-2.40.0/gio/tests/contenttype.c 2013-01-16 21:22:29.000000000 +0= 100 > -+++ glib-2.40.0/gio/tests/contenttype.c 2013-01-16 21:22:33.000000000 +0= 100 > -@@ -207,15 +207,6 @@ main (int argc, char *argv[]) > - { > - g_test_init (&argc, &argv, NULL); > -=20 > -- 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); > -=20 > - return g_test_run (); > - } > - > - > ---- glib-2.40.0/gio/tests/desktop-app-info.c 2014-03-19 22:50:45.0000000= 00 -0500 > -+++ glib-2.40.0/gio/tests/desktop-app-info.c 2014-06-30 14:27:52.5433583= 31 -0500 > -@@ -708,6 +708,8 @@ > - g_setenv ("XDG_DATA_HOME", basedir, TRUE); > - cleanup_subdirs (basedir); > -=20 > -+ result =3D 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. > -=20 > ---- 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 =3D $(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 =3D $(LIBTOOL) $ > - am__EXEEXT_1 =3D > - @OS_UNIX_TRUE@am__EXEEXT_2 =3D 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) \ > - =20 > - > -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 -06= 00 > -+++ glib-2.40.0/gio/tests/gdbus-auth.c 2014-06-30 15:08:43.719421893 -05= 00 > -@@ -286,6 +286,8 @@ > - { > - gint ret; > -=20 > -+ g_test_init (&argc, &argv, NULL); > -+ return g_test_run(); > - setlocale (LC_ALL, "C"); > -=20 > - 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); > -=20 > -- g_test_add_func ("/appinfo/dbusappinfo", test_dbus_appinfo); > -+ return g_test_run(); > -=20 > - 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); > - > diff --git a/gnu/packages/patches/glib-tests-gapplication.patch b/gnu/pac= kages/patches/glib-tests-gapplication.patch > deleted file mode 100644 > index 1845fcb..0000000 > --- a/gnu/packages/patches/glib-tests-gapplication.patch > +++ /dev/null > @@ -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: (activa= ted) > - 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: (acti= vated) > - cleaning up pid 24154 > - ERROR: gapplication - missing test plan > - ERROR: gapplication - exited with status 134 (terminated by signal 6?) > - > -See and . > - > - > ---- 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_action= s); */ > - g_test_add_func ("/gapplication/local-command-line", test_local_comma= nd_line); > diff --git a/gnu/packages/patches/glib-tests-prlimit.patch b/gnu/packages= /patches/glib-tests-prlimit.patch > deleted file mode 100644 > index f2b2a61..0000000 > --- a/gnu/packages/patches/glib-tests-prlimit.patch > +++ /dev/null > @@ -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; > diff --git a/gnu/packages/patches/glib-tests-timer.patch b/gnu/packages/p= atches/glib-tests-timer.patch > index 1ac364f..e37425c 100644 > --- a/gnu/packages/patches/glib-tests-timer.patch > +++ b/gnu/packages/patches/glib-tests-timer.patch > @@ -2,9 +2,6 @@ > fail depending on the elapsed microseconds. Improve rounding by addin= g a > fractional bit. > =20 > -* The /timer/stop test fails if compiler optimizations are enabled, whic= h 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 @@ > =20 > g_timer_destroy (timer); > } > -@@ -204,7 +204,6 @@ > - g_test_init (&argc, &argv, NULL); > -=20 > - 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); > --=20 > 2.6.3 >=20 There are a lot of tests here. From trying to follow between the patches and the substitutions it looks like you've also gone through and only disabled the tests that are currently failing, not the ones that were failing when the patches were written. --=20 Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7=9D = =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --aZoGpuMECXJckB41 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCgAGBQJXAU7WAAoJEPTB05F+rO6TlyEP+wbfMg2YE9dzSJGSuxYIhW7n 8HmA3mkXInDcNeh2poR+ygoNjF/yU9kidVNSPtIyjo5Cugi1yLVgdOgNj5dBe5N9 IulC2npmbqIjA3RlQtWIY+jzqQOYZzOub/ergddUjxxMxY9HYcGn00lXeDatt5F6 naSEOUEjo4V4HiwF7c8wu5n6Uj/dC20EtoIm6MeXP283FEZSIk+U7otGnjyD9Axg /ucQ5mEuGgvGysZ2phZLaByeBexKEwqNmv+jUpaBHUN7ANRKKDNnGmNKHfNRdLdX Mcb2ZI4NLR6/H57icMI6cZ85h0A6eO34DgNn9M0AaTJGeFurzPQEpRHfkudkjQhB HltAfbtM9iTwihgySJNbnw5JwPCr4o9GkcWiexbUi2q62mc/z4pyU//52N3sOUd+ IiX/cXmECig+I1+//mBXW50JdJrmJFZBZV5ACPGz3SYNJ8h62jLHzKu9nEwEZM49 L9gI0XZyHSxdXu/g3Ueogeie07UvnFMHW9hUjFe0uqrLXwoV3qqfCffBPD6rkKEm 90gltdLm7NcezmE2+/g8mvygM75pG0aFi7kfLT6iKeVLVbT3kg6CSiGm+WQY1FnV CcERks3EIN590yflsANNmQBAjAevw5AW6ZeXd2GhAR5f8QBdkcfsht03dAalt9VO yQY0fmggsCPkFTVno3bB =J4bO -----END PGP SIGNATURE----- --aZoGpuMECXJckB41--