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 21:00:05 +0300 Message-ID: <20160403180005.GG3620@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="6BvahUXLYAruDZOj" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:39243) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ammJq-0006EO-1G for guix-devel@gnu.org; Sun, 03 Apr 2016 14:00:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ammJl-0004hl-Dv for guix-devel@gnu.org; Sun, 03 Apr 2016 14:00:13 -0400 Received: from flashner.co.il ([178.62.234.194]:42682) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ammJl-0004hf-2X for guix-devel@gnu.org; Sun, 03 Apr 2016 14:00:09 -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 --6BvahUXLYAruDZOj 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 I just applied the first three patches and glib failed to build, with the following errors from the test phase: ERROR: gapplication - too few tests run (expected 12, got 4) ERROR: gapplication - exited with status 139 (terminated by signal 11?) Unfortunately I didn't tell it to keep the output of the build so I can't attach the test-suite.log file. It would be best if glib built with this commit, just in case. --=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 --6BvahUXLYAruDZOj Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCgAGBQJXAVohAAoJEPTB05F+rO6TF74P/RzQ0QE/Ob+fq1LjHOoOGn2/ Fd83Fx1aCrVWsAsWtS2szYxOfcKQ955CQv9wHHtBujiIK5HetI/Z8mKKu/7+b0gh g8TGOqQunuqRgS8wAw96NjM0mzVepQdZciPDseLjEAiT3DDt2/ymHwQDZvb9UmJ8 oiEc3aXLF707t9PwzCVLctEvMMGPO75wMySUqbssoEaE/tmb1C+qiJ0+hs1A5vS9 2ZlripkRQMmed8lFOvdsFT4IQC13935syEGiDvzFY/wR0Qqqc7GFBHrutEPRK5xx OekiaUdR3aPN5+zah1rPPdexD/3OMreM0yq+ZqJhfQntr4z9qVVDt2g5ziCW6e4I wv33B4pnhAVZuEbzDHp1JVYQ9Q2T8BcZyhatbNgyRrt5EbTjLwGDm2vc3H4RHtGl V0/moaqvZHxp/kmfg4jv3j85ckCg1kmSBiCR261H1Y+5UA71IlD2EBAGzMeB9Fza /nr2TG78cFLff0n4QgcCuz8ovI85fJTKho1+IerHyr/oOhqoavCnNxuWobvQMwrJ OHIUOTPDhH/mkUavHq87BYi8dcw4WfwEa8/NrDFQKR5iBDf5p05lteVcTR3oLiY0 Bwgy6Y37godAZW9EgRkxiQgQb7Q7pvY9N0Bm+uKWAwEXF9PljmK0P2WHMtvwXSqJ 8NWpcaVlNp1o7aMOyTVK =b29j -----END PGP SIGNATURE----- --6BvahUXLYAruDZOj--