unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH 1/4] gnu: glib: Use modify-phases syntax.
@ 2016-04-03  2:30 宋文武
  2016-04-03  2:30 ` [PATCH 2/4] gnu: glib: Drop glib-tests-homedir.patch 宋文武
                   ` (4 more replies)
  0 siblings, 5 replies; 16+ messages in thread
From: 宋文武 @ 2016-04-03  2:30 UTC (permalink / raw)
  To: guix-devel; +Cc: 宋文武

* gnu/packages/glib.scm (glib)[arguments]: Use 'modify-phases'.
---
 gnu/packages/glib.scm | 44 ++++++++++++++++++++++----------------------
 1 file changed, 22 insertions(+), 22 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 854a1f2..2fb601c 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -161,29 +161,29 @@ shared NFS home directories.")
       ("perl" ,perl)                              ; needed by GIO tests
       ("bash" ,bash)))
    (arguments
-    '(#:phases (alist-cons-before
-                'build 'pre-build
-                (lambda* (#:key inputs outputs #:allow-other-keys)
-                  ;; For tests/gdatetime.c.
-                  (setenv "TZDIR"
-                          (string-append (assoc-ref inputs "tzdata")
-                                         "/share/zoneinfo"))
-
-                  ;; Some tests want write access there.
-                  (setenv "XDG_CACHE_HOME" (getcwd))
-
-                  (substitute* '("glib/gspawn.c"
-                                 "glib/tests/utils.c"
-                                 "tests/spawn-test.c")
-                    (("/bin/sh")
-                     (string-append (assoc-ref inputs "bash") "/bin/sh")))
-
-                  ;; Disable a test that requires dbus.
-                  (substitute* "gio/tests/gdbus-serialization.c"
-                    (("g_test_add_func \
+    '(#:phases
+      (modify-phases %standard-phases
+        (add-before 'build 'pre-build
+          (lambda* (#:key inputs outputs #:allow-other-keys)
+            ;; For tests/gdatetime.c.
+            (setenv "TZDIR"
+                    (string-append (assoc-ref inputs "tzdata")
+                                   "/share/zoneinfo"))
+
+            ;; Some tests want write access there.
+            (setenv "XDG_CACHE_HOME" (getcwd))
+
+            (substitute* '("glib/gspawn.c"
+                           "glib/tests/utils.c"
+                           "tests/spawn-test.c")
+              (("/bin/sh")
+               (string-append (assoc-ref inputs "bash") "/bin/sh")))
+
+            ;; 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 " */"))))
-                %standard-phases)
+               (string-append "/* " all " */"))))))
 
       ;; Note: `--docdir' and `--htmldir' are not honored, so work around it.
       #:configure-flags (list (string-append "--with-html-dir="
-- 
2.6.3

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 2/4] gnu: glib: Drop glib-tests-homedir.patch.
  2016-04-03  2:30 [PATCH 1/4] gnu: glib: Use modify-phases syntax 宋文武
@ 2016-04-03  2:30 ` 宋文武
  2016-04-03 10:09   ` Efraim Flashner
  2016-04-03 17:00   ` Efraim Flashner
  2016-04-03  2:30 ` [PATCH 3/4] gnu: glib: Disable tests in build phases instead of patches 宋文武
                   ` (3 subsequent siblings)
  4 siblings, 2 replies; 16+ messages in thread
From: 宋文武 @ 2016-04-03  2:30 UTC (permalink / raw)
  To: guix-devel; +Cc: 宋文武

* gnu/packages/glib.scm (glib)[source]: Remave glib-tests-homedir.patch.
[arguments]: Set HOME and disable '/gdbus/codegen-peer-to-peer' test.
* gnu/packages/patches/glib-tests-homedir.patch: Remove file.
* gnu-system.am (dist_patch_DATA): Remove it.
---
 gnu-system.am                                 |  1 -
 gnu/packages/glib.scm                         |  7 +++-
 gnu/packages/patches/glib-tests-homedir.patch | 59 ---------------------------
 3 files changed, 5 insertions(+), 62 deletions(-)
 delete mode 100644 gnu/packages/patches/glib-tests-homedir.patch

diff --git a/gnu-system.am b/gnu-system.am
index d45b3d1..293bda3 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -486,7 +486,6 @@ dist_patch_DATA =						\
   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-homedir.patch			\
   gnu/packages/patches/glib-tests-prlimit.patch			\
   gnu/packages/patches/glib-tests-timer.patch			\
   gnu/packages/patches/glib-tests-gapplication.patch		\
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 2fb601c..2b90c12 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -139,8 +139,7 @@ shared NFS home directories.")
             (sha256
              (base32
               "1yzxr1ip3l0m9ydk5nq32piq70c9f17p5f0jyvlsghzbaawh67ss"))
-            (patches (list (search-patch "glib-tests-homedir.patch")
-                           (search-patch "glib-tests-desktop.patch")
+            (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")))))
@@ -171,6 +170,7 @@ shared NFS home directories.")
                                    "/share/zoneinfo"))
 
             ;; Some tests want write access there.
+            (setenv "HOME" (getcwd))
             (setenv "XDG_CACHE_HOME" (getcwd))
 
             (substitute* '("glib/gspawn.c"
@@ -179,6 +179,9 @@ shared NFS home directories.")
               (("/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 \
diff --git a/gnu/packages/patches/glib-tests-homedir.patch b/gnu/packages/patches/glib-tests-homedir.patch
deleted file mode 100644
index 0a2bcf1..0000000
--- a/gnu/packages/patches/glib-tests-homedir.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-`g_get_home_dir' looks at /etc/passwd first, which fails in chroot builds.
-The gdbus tests use it to lookup .dbus-keyrings, so they cannot run in our
-chroot build environment.  Thus, disable them.
-
---- glib-2.34.3/gio/tests/gdbus-connection-flush.c	2013-01-16 17:29:46.000000000 +0100
-+++ glib-2.34.3/gio/tests/gdbus-connection-flush.c	2013-01-16 17:29:47.000000000 +0100
-@@ -373,10 +373,6 @@ main (int   argc,
-   g_type_init ();
-   g_test_init (&argc, &argv, NULL);
- 
--  g_test_add ("/gdbus/connection/flush/busy", Fixture, NULL,
--              setup, test_flush_busy, teardown);
--  g_test_add ("/gdbus/connection/flush/idle", Fixture, NULL,
--              setup, test_flush_idle, teardown);
- 
-   ret = g_test_run();
-
---- glib-2.38.0.orig/gio/tests/gdbus-peer.c     2013-08-08 12:00:40.000000000 +0200
-+++ glib-2.38.0/gio/tests/gdbus-peer.c  2013-09-30 19:36:40.000000000 +0200
-@@ -1746,11 +1746,6 @@
-
-   g_test_add_func ("/gdbus/peer-to-peer", test_peer);
-   g_test_add_func ("/gdbus/delayed-message-processing", delayed_message_processing);
--  g_test_add_func ("/gdbus/nonce-tcp", test_nonce_tcp);
--
--  g_test_add_func ("/gdbus/tcp-anonymous", test_tcp_anonymous);
--  g_test_add_func ("/gdbus/credentials", test_credentials);
--  g_test_add_func ("/gdbus/codegen-peer-to-peer", codegen_test_peer);
-
-   ret = g_test_run();
- 
---- glib-2.37.1/gio/tests/gdbus-exit-on-close.c	2013-06-07 23:41:34.000000000 +0200
-+++ glib-2.37.1/gio/tests/gdbus-exit-on-close.c	2013-06-07 23:41:40.000000000 +0200
-@@ -211,6 +211,7 @@ main (int   argc,
- 
-   g_test_init (&argc, &argv, NULL);
- 
-+  return g_test_run();
-   for (i = 0; cases[i].name != NULL; i++)
-     {
-       gchar *name;
-@@ -224,5 +225,4 @@ main (int   argc,
-       g_free (name);
-     }
- 
--  return g_test_run();
- }
-
---- glib-2.34.3/gio/tests/gdbus-non-socket.c	2013-01-16 18:13:25.000000000 +0100
-+++ glib-2.34.3/gio/tests/gdbus-non-socket.c	2013-01-16 18:13:27.000000000 +0100
-@@ -294,7 +294,6 @@ main (int   argc,
-   g_type_init ();
-   g_test_init (&argc, &argv, NULL);
- 
--  g_test_add_func ("/gdbus/non-socket", test_non_socket);
- 
-   ret = g_test_run();
- 
-
-- 
2.6.3

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 3/4] gnu: glib: Disable tests in build phases instead of patches.
  2016-04-03  2:30 [PATCH 1/4] gnu: glib: Use modify-phases syntax 宋文武
  2016-04-03  2:30 ` [PATCH 2/4] gnu: glib: Drop glib-tests-homedir.patch 宋文武
@ 2016-04-03  2:30 ` 宋文武
  2016-04-03  2:55   ` 宋文武
                     ` (2 more replies)
  2016-04-03  2:30 ` [PATCH 4/4] gnu: glib: Update to 2.48.0 宋文武
                   ` (2 subsequent siblings)
  4 siblings, 3 replies; 16+ messages in thread
From: 宋文武 @ 2016-04-03  2:30 UTC (permalink / raw)
  To: guix-devel; +Cc: 宋文武

* 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

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 =						\
   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 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"))
+
+                     ("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="
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[])
- 
-   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);
-
diff --git a/gnu/packages/patches/glib-tests-gapplication.patch b/gnu/packages/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: (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);
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/patches/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 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);
-- 
2.6.3

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 4/4] gnu: glib: Update to 2.48.0.
  2016-04-03  2:30 [PATCH 1/4] gnu: glib: Use modify-phases syntax 宋文武
  2016-04-03  2:30 ` [PATCH 2/4] gnu: glib: Drop glib-tests-homedir.patch 宋文武
  2016-04-03  2:30 ` [PATCH 3/4] gnu: glib: Disable tests in build phases instead of patches 宋文武
@ 2016-04-03  2:30 ` 宋文武
  2016-04-03 16:56 ` [PATCH 1/4] gnu: glib: Use modify-phases syntax Efraim Flashner
  2016-04-07 12:03 ` Ludovic Courtès
  4 siblings, 0 replies; 16+ messages in thread
From: 宋文武 @ 2016-04-03  2:30 UTC (permalink / raw)
  To: guix-devel; +Cc: 宋文武

* gnu/packages/glib.scm (glib): Update to 2.48.0.
[inputs]: Add pcre.
---
 gnu/packages/glib.scm | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 71d2082..b2700a7 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -35,6 +35,7 @@
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages libffi)
+  #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
@@ -130,7 +131,7 @@ shared NFS home directories.")
 (define glib
   (package
    (name "glib")
-   (version "2.46.1")
+   (version "2.48.0")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnome/sources/"
@@ -138,7 +139,7 @@ shared NFS home directories.")
                                 name "-" version ".tar.xz"))
             (sha256
              (base32
-              "1yzxr1ip3l0m9ydk5nq32piq70c9f17p5f0jyvlsghzbaawh67ss"))
+              "0d3w2hblrw7vvpx60l1kbvb830ygn3v8zhwdz65cc5593j9ycjvl"))
             (patches (list (search-patch "glib-tests-timer.patch")))))
    (build-system gnu-build-system)
    (outputs '("out"           ; everything
@@ -147,6 +148,7 @@ shared NFS home directories.")
    (inputs
     `(("coreutils" ,coreutils)
       ("libffi" ,libffi)
+      ("pcre" ,pcre)
       ("zlib" ,zlib)
       ("tzdata" ,tzdata)))     ; for tests/gdatetime.c
    (native-inputs
-- 
2.6.3

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH 3/4] gnu: glib: Disable tests in build phases instead of patches.
  2016-04-03  2:30 ` [PATCH 3/4] gnu: glib: Disable tests in build phases instead of patches 宋文武
@ 2016-04-03  2:55   ` 宋文武
  2016-04-03 17:03     ` Efraim Flashner
  2016-04-03 17:11   ` Efraim Flashner
  2016-04-03 18:00   ` Efraim Flashner
  2 siblings, 1 reply; 16+ messages in thread
From: 宋文武 @ 2016-04-03  2:55 UTC (permalink / raw)
  To: guix-devel

Some patches don't apply to 2.48.0, and I think it's more easy to
maintain scheme code than patches.

Drawbacks are 'substitute' can't handle multiple line.
(fortunately, the failing tests of glib are all one line statement)

and will just pass through when no match occurs.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 2/4] gnu: glib: Drop glib-tests-homedir.patch.
  2016-04-03  2:30 ` [PATCH 2/4] gnu: glib: Drop glib-tests-homedir.patch 宋文武
@ 2016-04-03 10:09   ` Efraim Flashner
  2016-04-03 17:00   ` Efraim Flashner
  1 sibling, 0 replies; 16+ messages in thread
From: Efraim Flashner @ 2016-04-03 10:09 UTC (permalink / raw)
  To: 宋文武; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 5702 bytes --]

On Sun, Apr 03, 2016 at 10:30:29AM +0800, 宋文武 wrote:
> * gnu/packages/glib.scm (glib)[source]: Remave glib-tests-homedir.patch.

s/Remave/remove

> [arguments]: Set HOME and disable '/gdbus/codegen-peer-to-peer' test.
> * gnu/packages/patches/glib-tests-homedir.patch: Remove file.
> * gnu-system.am (dist_patch_DATA): Remove it.
> ---
>  gnu-system.am                                 |  1 -
>  gnu/packages/glib.scm                         |  7 +++-
>  gnu/packages/patches/glib-tests-homedir.patch | 59 ---------------------------
>  3 files changed, 5 insertions(+), 62 deletions(-)
>  delete mode 100644 gnu/packages/patches/glib-tests-homedir.patch
> 
> diff --git a/gnu-system.am b/gnu-system.am
> index d45b3d1..293bda3 100644
> --- a/gnu-system.am
> +++ b/gnu-system.am
> @@ -486,7 +486,6 @@ dist_patch_DATA =						\
>    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-homedir.patch			\
>    gnu/packages/patches/glib-tests-prlimit.patch			\
>    gnu/packages/patches/glib-tests-timer.patch			\
>    gnu/packages/patches/glib-tests-gapplication.patch		\
> diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
> index 2fb601c..2b90c12 100644
> --- a/gnu/packages/glib.scm
> +++ b/gnu/packages/glib.scm
> @@ -139,8 +139,7 @@ shared NFS home directories.")
>              (sha256
>               (base32
>                "1yzxr1ip3l0m9ydk5nq32piq70c9f17p5f0jyvlsghzbaawh67ss"))
> -            (patches (list (search-patch "glib-tests-homedir.patch")
> -                           (search-patch "glib-tests-desktop.patch")
> +            (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")))))
> @@ -171,6 +170,7 @@ shared NFS home directories.")
>                                     "/share/zoneinfo"))
>  
>              ;; Some tests want write access there.
> +            (setenv "HOME" (getcwd))
>              (setenv "XDG_CACHE_HOME" (getcwd))
>  
>              (substitute* '("glib/gspawn.c"
> @@ -179,6 +179,9 @@ shared NFS home directories.")
>                (("/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 \
> diff --git a/gnu/packages/patches/glib-tests-homedir.patch b/gnu/packages/patches/glib-tests-homedir.patch
> deleted file mode 100644
> index 0a2bcf1..0000000
> --- a/gnu/packages/patches/glib-tests-homedir.patch
> +++ /dev/null
> @@ -1,59 +0,0 @@
> -`g_get_home_dir' looks at /etc/passwd first, which fails in chroot builds.
> -The gdbus tests use it to lookup .dbus-keyrings, so they cannot run in our
> -chroot build environment.  Thus, disable them.
> -
> ---- glib-2.34.3/gio/tests/gdbus-connection-flush.c	2013-01-16 17:29:46.000000000 +0100
> -+++ glib-2.34.3/gio/tests/gdbus-connection-flush.c	2013-01-16 17:29:47.000000000 +0100
> -@@ -373,10 +373,6 @@ main (int   argc,
> -   g_type_init ();
> -   g_test_init (&argc, &argv, NULL);
> - 
> --  g_test_add ("/gdbus/connection/flush/busy", Fixture, NULL,
> --              setup, test_flush_busy, teardown);
> --  g_test_add ("/gdbus/connection/flush/idle", Fixture, NULL,
> --              setup, test_flush_idle, teardown);
> - 
> -   ret = g_test_run();
> -
> ---- glib-2.38.0.orig/gio/tests/gdbus-peer.c     2013-08-08 12:00:40.000000000 +0200
> -+++ glib-2.38.0/gio/tests/gdbus-peer.c  2013-09-30 19:36:40.000000000 +0200
> -@@ -1746,11 +1746,6 @@
> -
> -   g_test_add_func ("/gdbus/peer-to-peer", test_peer);
> -   g_test_add_func ("/gdbus/delayed-message-processing", delayed_message_processing);
> --  g_test_add_func ("/gdbus/nonce-tcp", test_nonce_tcp);
> --
> --  g_test_add_func ("/gdbus/tcp-anonymous", test_tcp_anonymous);
> --  g_test_add_func ("/gdbus/credentials", test_credentials);
> --  g_test_add_func ("/gdbus/codegen-peer-to-peer", codegen_test_peer);
> -
> -   ret = g_test_run();
> - 
> ---- glib-2.37.1/gio/tests/gdbus-exit-on-close.c	2013-06-07 23:41:34.000000000 +0200
> -+++ glib-2.37.1/gio/tests/gdbus-exit-on-close.c	2013-06-07 23:41:40.000000000 +0200
> -@@ -211,6 +211,7 @@ main (int   argc,
> - 
> -   g_test_init (&argc, &argv, NULL);
> - 
> -+  return g_test_run();
> -   for (i = 0; cases[i].name != NULL; i++)
> -     {
> -       gchar *name;
> -@@ -224,5 +225,4 @@ main (int   argc,
> -       g_free (name);
> -     }
> - 
> --  return g_test_run();
> - }
> -
> ---- glib-2.34.3/gio/tests/gdbus-non-socket.c	2013-01-16 18:13:25.000000000 +0100
> -+++ glib-2.34.3/gio/tests/gdbus-non-socket.c	2013-01-16 18:13:27.000000000 +0100
> -@@ -294,7 +294,6 @@ main (int   argc,
> -   g_type_init ();
> -   g_test_init (&argc, &argv, NULL);
> - 
> --  g_test_add_func ("/gdbus/non-socket", test_non_socket);
> - 
> -   ret = g_test_run();
> - 
> -
> -- 
> 2.6.3
> 
> 

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 1/4] gnu: glib: Use modify-phases syntax.
  2016-04-03  2:30 [PATCH 1/4] gnu: glib: Use modify-phases syntax 宋文武
                   ` (2 preceding siblings ...)
  2016-04-03  2:30 ` [PATCH 4/4] gnu: glib: Update to 2.48.0 宋文武
@ 2016-04-03 16:56 ` Efraim Flashner
  2016-04-07 12:03 ` Ludovic Courtès
  4 siblings, 0 replies; 16+ messages in thread
From: Efraim Flashner @ 2016-04-03 16:56 UTC (permalink / raw)
  To: 宋文武; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 3112 bytes --]

On Sun, Apr 03, 2016 at 10:30:28AM +0800, 宋文武 wrote:
> * gnu/packages/glib.scm (glib)[arguments]: Use 'modify-phases'.
> ---
>  gnu/packages/glib.scm | 44 ++++++++++++++++++++++----------------------
>  1 file changed, 22 insertions(+), 22 deletions(-)
> 
> diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
> index 854a1f2..2fb601c 100644
> --- a/gnu/packages/glib.scm
> +++ b/gnu/packages/glib.scm
> @@ -161,29 +161,29 @@ shared NFS home directories.")
>        ("perl" ,perl)                              ; needed by GIO tests
>        ("bash" ,bash)))
>     (arguments
> -    '(#:phases (alist-cons-before
> -                'build 'pre-build
> -                (lambda* (#:key inputs outputs #:allow-other-keys)
> -                  ;; For tests/gdatetime.c.
> -                  (setenv "TZDIR"
> -                          (string-append (assoc-ref inputs "tzdata")
> -                                         "/share/zoneinfo"))
> -
> -                  ;; Some tests want write access there.
> -                  (setenv "XDG_CACHE_HOME" (getcwd))
> -
> -                  (substitute* '("glib/gspawn.c"
> -                                 "glib/tests/utils.c"
> -                                 "tests/spawn-test.c")
> -                    (("/bin/sh")
> -                     (string-append (assoc-ref inputs "bash") "/bin/sh")))
> -
> -                  ;; Disable a test that requires dbus.
> -                  (substitute* "gio/tests/gdbus-serialization.c"
> -                    (("g_test_add_func \
> +    '(#:phases
> +      (modify-phases %standard-phases
> +        (add-before 'build 'pre-build
> +          (lambda* (#:key inputs outputs #:allow-other-keys)
> +            ;; For tests/gdatetime.c.
> +            (setenv "TZDIR"
> +                    (string-append (assoc-ref inputs "tzdata")
> +                                   "/share/zoneinfo"))
> +
> +            ;; Some tests want write access there.
> +            (setenv "XDG_CACHE_HOME" (getcwd))
> +
> +            (substitute* '("glib/gspawn.c"
> +                           "glib/tests/utils.c"
> +                           "tests/spawn-test.c")
> +              (("/bin/sh")
> +               (string-append (assoc-ref inputs "bash") "/bin/sh")))
> +
> +            ;; 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 " */"))))
> -                %standard-phases)
> +               (string-append "/* " all " */"))))))
>  
>        ;; Note: `--docdir' and `--htmldir' are not honored, so work around it.
>        #:configure-flags (list (string-append "--with-html-dir="
> -- 
> 2.6.3
> 

This looks good to me

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 2/4] gnu: glib: Drop glib-tests-homedir.patch.
  2016-04-03  2:30 ` [PATCH 2/4] gnu: glib: Drop glib-tests-homedir.patch 宋文武
  2016-04-03 10:09   ` Efraim Flashner
@ 2016-04-03 17:00   ` Efraim Flashner
  1 sibling, 0 replies; 16+ messages in thread
From: Efraim Flashner @ 2016-04-03 17:00 UTC (permalink / raw)
  To: 宋文武; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 5774 bytes --]

On Sun, Apr 03, 2016 at 10:30:29AM +0800, 宋文武 wrote:
> * gnu/packages/glib.scm (glib)[source]: Remave glib-tests-homedir.patch.
> [arguments]: Set HOME and disable '/gdbus/codegen-peer-to-peer' test.
> * gnu/packages/patches/glib-tests-homedir.patch: Remove file.
> * gnu-system.am (dist_patch_DATA): Remove it.
> ---
>  gnu-system.am                                 |  1 -
>  gnu/packages/glib.scm                         |  7 +++-
>  gnu/packages/patches/glib-tests-homedir.patch | 59 ---------------------------
>  3 files changed, 5 insertions(+), 62 deletions(-)
>  delete mode 100644 gnu/packages/patches/glib-tests-homedir.patch
> 
> diff --git a/gnu-system.am b/gnu-system.am
> index d45b3d1..293bda3 100644
> --- a/gnu-system.am
> +++ b/gnu-system.am
> @@ -486,7 +486,6 @@ dist_patch_DATA =						\
>    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-homedir.patch			\
>    gnu/packages/patches/glib-tests-prlimit.patch			\
>    gnu/packages/patches/glib-tests-timer.patch			\
>    gnu/packages/patches/glib-tests-gapplication.patch		\
> diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
> index 2fb601c..2b90c12 100644
> --- a/gnu/packages/glib.scm
> +++ b/gnu/packages/glib.scm
> @@ -139,8 +139,7 @@ shared NFS home directories.")
>              (sha256
>               (base32
>                "1yzxr1ip3l0m9ydk5nq32piq70c9f17p5f0jyvlsghzbaawh67ss"))
> -            (patches (list (search-patch "glib-tests-homedir.patch")
> -                           (search-patch "glib-tests-desktop.patch")
> +            (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")))))
> @@ -171,6 +170,7 @@ shared NFS home directories.")
>                                     "/share/zoneinfo"))
>  
>              ;; Some tests want write access there.
> +            (setenv "HOME" (getcwd))
>              (setenv "XDG_CACHE_HOME" (getcwd))
>  
>              (substitute* '("glib/gspawn.c"
> @@ -179,6 +179,9 @@ shared NFS home directories.")
>                (("/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.*") ""))

Of the 8? tests that were disabled in the patch, this is the only one
that still fails?

>              ;; Disable a test that requires dbus.
>              (substitute* "gio/tests/gdbus-serialization.c"
>                (("g_test_add_func \
> diff --git a/gnu/packages/patches/glib-tests-homedir.patch b/gnu/packages/patches/glib-tests-homedir.patch
> deleted file mode 100644
> index 0a2bcf1..0000000
> --- a/gnu/packages/patches/glib-tests-homedir.patch
> +++ /dev/null
> @@ -1,59 +0,0 @@
> -`g_get_home_dir' looks at /etc/passwd first, which fails in chroot builds.
> -The gdbus tests use it to lookup .dbus-keyrings, so they cannot run in our
> -chroot build environment.  Thus, disable them.
> -
> ---- glib-2.34.3/gio/tests/gdbus-connection-flush.c	2013-01-16 17:29:46.000000000 +0100
> -+++ glib-2.34.3/gio/tests/gdbus-connection-flush.c	2013-01-16 17:29:47.000000000 +0100
> -@@ -373,10 +373,6 @@ main (int   argc,
> -   g_type_init ();
> -   g_test_init (&argc, &argv, NULL);
> - 
> --  g_test_add ("/gdbus/connection/flush/busy", Fixture, NULL,
> --              setup, test_flush_busy, teardown);
> --  g_test_add ("/gdbus/connection/flush/idle", Fixture, NULL,
> --              setup, test_flush_idle, teardown);
> - 
> -   ret = g_test_run();
> -
> ---- glib-2.38.0.orig/gio/tests/gdbus-peer.c     2013-08-08 12:00:40.000000000 +0200
> -+++ glib-2.38.0/gio/tests/gdbus-peer.c  2013-09-30 19:36:40.000000000 +0200
> -@@ -1746,11 +1746,6 @@
> -
> -   g_test_add_func ("/gdbus/peer-to-peer", test_peer);
> -   g_test_add_func ("/gdbus/delayed-message-processing", delayed_message_processing);
> --  g_test_add_func ("/gdbus/nonce-tcp", test_nonce_tcp);
> --
> --  g_test_add_func ("/gdbus/tcp-anonymous", test_tcp_anonymous);
> --  g_test_add_func ("/gdbus/credentials", test_credentials);
> --  g_test_add_func ("/gdbus/codegen-peer-to-peer", codegen_test_peer);
> -
> -   ret = g_test_run();
> - 
> ---- glib-2.37.1/gio/tests/gdbus-exit-on-close.c	2013-06-07 23:41:34.000000000 +0200
> -+++ glib-2.37.1/gio/tests/gdbus-exit-on-close.c	2013-06-07 23:41:40.000000000 +0200
> -@@ -211,6 +211,7 @@ main (int   argc,
> - 
> -   g_test_init (&argc, &argv, NULL);
> - 
> -+  return g_test_run();
> -   for (i = 0; cases[i].name != NULL; i++)
> -     {
> -       gchar *name;
> -@@ -224,5 +225,4 @@ main (int   argc,
> -       g_free (name);
> -     }
> - 
> --  return g_test_run();
> - }
> -
> ---- glib-2.34.3/gio/tests/gdbus-non-socket.c	2013-01-16 18:13:25.000000000 +0100
> -+++ glib-2.34.3/gio/tests/gdbus-non-socket.c	2013-01-16 18:13:27.000000000 +0100
> -@@ -294,7 +294,6 @@ main (int   argc,
> -   g_type_init ();
> -   g_test_init (&argc, &argv, NULL);
> - 
> --  g_test_add_func ("/gdbus/non-socket", test_non_socket);
> - 
> -   ret = g_test_run();
> - 
> -
> -- 
> 2.6.3
> 
 

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 3/4] gnu: glib: Disable tests in build phases instead of patches.
  2016-04-03  2:55   ` 宋文武
@ 2016-04-03 17:03     ` Efraim Flashner
  2016-04-05  9:52       ` Ludovic Courtès
  0 siblings, 1 reply; 16+ messages in thread
From: Efraim Flashner @ 2016-04-03 17:03 UTC (permalink / raw)
  To: 宋文武; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 719 bytes --]

On Sun, Apr 03, 2016 at 10:55:56AM +0800, 宋文武 wrote:
> Some patches don't apply to 2.48.0, and I think it's more easy to
> maintain scheme code than patches.

This is so true. Plus it is easier to check if you still even need to
make changes to the source when its just there in the package recipe.

> 
> Drawbacks are 'substitute' can't handle multiple line.
> (fortunately, the failing tests of glib are all one line statement)
> 
> and will just pass through when no match occurs.
> 

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 3/4] gnu: glib: Disable tests in build phases instead of patches.
  2016-04-03  2:30 ` [PATCH 3/4] gnu: glib: Disable tests in build phases instead of patches 宋文武
  2016-04-03  2:55   ` 宋文武
@ 2016-04-03 17:11   ` Efraim Flashner
  2016-04-03 18:00   ` Efraim Flashner
  2 siblings, 0 replies; 16+ messages in thread
From: Efraim Flashner @ 2016-04-03 17:11 UTC (permalink / raw)
  To: 宋文武; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 17829 bytes --]

On Sun, Apr 03, 2016 at 10:30:30AM +0800, 宋文武 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
> 
> 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 =						\
>    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 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"))
> +
> +                     ("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="
> 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[])
> - 
> -   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);
> -
> diff --git a/gnu/packages/patches/glib-tests-gapplication.patch b/gnu/packages/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: (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);
> 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/patches/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 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);
> -- 
> 2.6.3
> 

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.

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 3/4] gnu: glib: Disable tests in build phases instead of patches.
  2016-04-03  2:30 ` [PATCH 3/4] gnu: glib: Disable tests in build phases instead of patches 宋文武
  2016-04-03  2:55   ` 宋文武
  2016-04-03 17:11   ` Efraim Flashner
@ 2016-04-03 18:00   ` Efraim Flashner
  2016-04-04  5:26     ` 宋文武
  2 siblings, 1 reply; 16+ messages in thread
From: Efraim Flashner @ 2016-04-03 18:00 UTC (permalink / raw)
  To: 宋文武; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 17998 bytes --]

On Sun, Apr 03, 2016 at 10:30:30AM +0800, 宋文武 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
> 
> 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 =						\
>    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 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"))
> +
> +                     ("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="
> 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[])
> - 
> -   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);
> -
> diff --git a/gnu/packages/patches/glib-tests-gapplication.patch b/gnu/packages/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: (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);
> 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/patches/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 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);
> -- 
> 2.6.3
> 

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.

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 3/4] gnu: glib: Disable tests in build phases instead of patches.
  2016-04-03 18:00   ` Efraim Flashner
@ 2016-04-04  5:26     ` 宋文武
  2016-04-05 11:48       ` Efraim Flashner
  0 siblings, 1 reply; 16+ messages in thread
From: 宋文武 @ 2016-04-04  5:26 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: guix-devel

Efraim Flashner <efraim@flashner.co.il> writes:

> [...]
>
> 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.

So these tests are really unreliable...  
I did get it build sucessful with the patch on my x86-64 machine,
and this patch doesn't enable the '/gapplication/quit' test (it pass
too on my machine).

Could you build it with '-K', show the log (not very useful, IMO), and
the run the test manually in a container environment by:
--8<---------------cut here---------------start------------->8---
$ guix environment -C --pure glib
# cd gio/tests
# ./gapplication
--8<---------------cut here---------------end--------------->8---

Also, one can skip some test cases using something like:
--8<---------------cut here---------------start------------->8---
./gapplication -s '/gapplication/quit' -s '/gapplication-remote-actions'
--8<---------------cut here---------------end--------------->8---
I use this to filter out mis-disabled test cases in the origin patches.

Thanks!

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 3/4] gnu: glib: Disable tests in build phases instead of patches.
  2016-04-03 17:03     ` Efraim Flashner
@ 2016-04-05  9:52       ` Ludovic Courtès
  0 siblings, 0 replies; 16+ messages in thread
From: Ludovic Courtès @ 2016-04-05  9:52 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: guix-devel

Efraim Flashner <efraim@flashner.co.il> skribis:

> On Sun, Apr 03, 2016 at 10:55:56AM +0800, 宋文武 wrote:
>> Some patches don't apply to 2.48.0, and I think it's more easy to
>> maintain scheme code than patches.
>
> This is so true. Plus it is easier to check if you still even need to
> make changes to the source when its just there in the package recipe.

+1.  Nice work!

Ludo'.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 3/4] gnu: glib: Disable tests in build phases instead of patches.
  2016-04-04  5:26     ` 宋文武
@ 2016-04-05 11:48       ` Efraim Flashner
  2016-04-19 12:25         ` 宋文武
  0 siblings, 1 reply; 16+ messages in thread
From: Efraim Flashner @ 2016-04-05 11:48 UTC (permalink / raw)
  To: 宋文武; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 3501 bytes --]

On Mon, Apr 04, 2016 at 01:26:55PM +0800, 宋文武 wrote:
> Efraim Flashner <efraim@flashner.co.il> writes:
> 
> > [...]
> >
> > 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.
> 
> So these tests are really unreliable...  
> I did get it build sucessful with the patch on my x86-64 machine,
> and this patch doesn't enable the '/gapplication/quit' test (it pass
> too on my machine).

I think the gapplication tests error here means that it was told there
would be 12 tests to run, but it only got responses from 4 tests.

> 
> Could you build it with '-K', show the log (not very useful, IMO), and
> the run the test manually in a container environment by:
> --8<---------------cut here---------------start------------->8---
> $ guix environment -C --pure glib
> # cd gio/tests
> # ./gapplication
> --8<---------------cut here---------------end--------------->8---

/tmp/guix-build-glib-2.46.1.drv-0/glib-2.46.1/gio/tests [env]#
./gapplication
/gapplication/no-dbus: OK
/gapplication/no-appid: OK
/gapplication/properties: org.freedesktop.DBus.Error.AccessDenied:
Failed to set fd limit to 65536: Operation not permitted
OK
/gapplication/app-id: OK
/gapplication/local-actions: Segmentation fault

followed by:
/tmp/guix-build-glib-2.46.1.drv-0/glib-2.46.1/gio/tests [env]#
./gapplication -s '/gapplication/local-actions'
/gapplication/no-dbus: OK
/gapplication/no-appid: OK
/gapplication/properties: org.freedesktop.DBus.Error.AccessDenied:
Failed to set fd limit to 65536: Operation not permitted
OK
/gapplication/app-id: OK
/gapplication/local-command-line: OK
/gapplication/resource-path: OK
/gapplication/test-help: OK
/gapplication/test-busy: org.freedesktop.DBus.Error.AccessDenied: Failed
to set fd limit to 65536: Operation not permitted
OK
/gapplication/test-handle-local-options1: OK
/gapplication/test-handle-local-options2: OK
/gapplication/test-handle-local-options3: OK

so /gapplication/local-actions completely failed for me, so with my
understanding of the error that I got above (only 4/12 tests run) the
best course would be to patch/substitute the the
/gapplication/local-actions test to either pass for real or to just
return true. Or to tell it that there are only 4 (or 11) tests

> 
> Also, one can skip some test cases using something like:
> --8<---------------cut here---------------start------------->8---
> ./gapplication -s '/gapplication/quit' -s '/gapplication-remote-actions'
> --8<---------------cut here---------------end--------------->8---
> I use this to filter out mis-disabled test cases in the origin patches.
> 
> Thanks!

Actually, I attached test-suite.log and gapplication.log but deleted the
build environment before sending, and when I rebuilt it it built cleanly
for me. I'm now rebuilding it with the --check flag (and -K). And it
built again successfully.

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 1/4] gnu: glib: Use modify-phases syntax.
  2016-04-03  2:30 [PATCH 1/4] gnu: glib: Use modify-phases syntax 宋文武
                   ` (3 preceding siblings ...)
  2016-04-03 16:56 ` [PATCH 1/4] gnu: glib: Use modify-phases syntax Efraim Flashner
@ 2016-04-07 12:03 ` Ludovic Courtès
  4 siblings, 0 replies; 16+ messages in thread
From: Ludovic Courtès @ 2016-04-07 12:03 UTC (permalink / raw)
  To: 宋文武; +Cc: guix-devel

Hi!

I see you pushed the ‘gnome-updates’ branch, thank you!

Before we start building, and if that’s not too much work for you, it
would be nice to throw in a bunch of:

  #:disallowed-references ("doc")

in packages that have a separate “doc” output.

But if you don’t have the time right now, we can do this in the next
rebuild cycle.

Ludo’.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 3/4] gnu: glib: Disable tests in build phases instead of patches.
  2016-04-05 11:48       ` Efraim Flashner
@ 2016-04-19 12:25         ` 宋文武
  0 siblings, 0 replies; 16+ messages in thread
From: 宋文武 @ 2016-04-19 12:25 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: guix-devel

Efraim Flashner <efraim@flashner.co.il> writes:

> [...]
>
> /tmp/guix-build-glib-2.46.1.drv-0/glib-2.46.1/gio/tests [env]#
> ./gapplication
> /gapplication/no-dbus: OK
> /gapplication/no-appid: OK
> /gapplication/properties: org.freedesktop.DBus.Error.AccessDenied:
> Failed to set fd limit to 65536: Operation not permitted
> OK
> /gapplication/app-id: OK
> /gapplication/local-actions: Segmentation fault
>
> followed by:
> /tmp/guix-build-glib-2.46.1.drv-0/glib-2.46.1/gio/tests [env]#
> ./gapplication -s '/gapplication/local-actions'
> /gapplication/no-dbus: OK
> /gapplication/no-appid: OK
> /gapplication/properties: org.freedesktop.DBus.Error.AccessDenied:
> Failed to set fd limit to 65536: Operation not permitted
> OK
> /gapplication/app-id: OK
> /gapplication/local-command-line: OK
> /gapplication/resource-path: OK
> /gapplication/test-help: OK
> /gapplication/test-busy: org.freedesktop.DBus.Error.AccessDenied: Failed
> to set fd limit to 65536: Operation not permitted
> OK
> /gapplication/test-handle-local-options1: OK
> /gapplication/test-handle-local-options2: OK
> /gapplication/test-handle-local-options3: OK
>
> so /gapplication/local-actions completely failed for me, so with my
> understanding of the error that I got above (only 4/12 tests run) the
> best course would be to patch/substitute the the
> /gapplication/local-actions test to either pass for real or to just
> return true. Or to tell it that there are only 4 (or 11) tests
>
> [...]
>
> Actually, I attached test-suite.log and gapplication.log but deleted the
> build environment before sending, and when I rebuilt it it built cleanly
> for me. I'm now rebuilding it with the --check flag (and -K). And it
> built again successfully.
Ah, I miss this email.  So it seems we only need to disable this randomly
failing 'local-actions' test.

Pushed, hopefully it will work.

Thanks!

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2016-04-19 12:25 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-03  2:30 [PATCH 1/4] gnu: glib: Use modify-phases syntax 宋文武
2016-04-03  2:30 ` [PATCH 2/4] gnu: glib: Drop glib-tests-homedir.patch 宋文武
2016-04-03 10:09   ` Efraim Flashner
2016-04-03 17:00   ` Efraim Flashner
2016-04-03  2:30 ` [PATCH 3/4] gnu: glib: Disable tests in build phases instead of patches 宋文武
2016-04-03  2:55   ` 宋文武
2016-04-03 17:03     ` Efraim Flashner
2016-04-05  9:52       ` Ludovic Courtès
2016-04-03 17:11   ` Efraim Flashner
2016-04-03 18:00   ` Efraim Flashner
2016-04-04  5:26     ` 宋文武
2016-04-05 11:48       ` Efraim Flashner
2016-04-19 12:25         ` 宋文武
2016-04-03  2:30 ` [PATCH 4/4] gnu: glib: Update to 2.48.0 宋文武
2016-04-03 16:56 ` [PATCH 1/4] gnu: glib: Use modify-phases syntax Efraim Flashner
2016-04-07 12:03 ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).