From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Michael Albinus Newsgroups: gmane.emacs.devel Subject: Re: Flickering tests Date: Tue, 09 Jul 2024 10:49:32 +0200 Message-ID: <87wmlvvtk3.fsf@gmx.de> References: <87ed8bhnrb.fsf@gmx.de> <8734oqh4d2.fsf@gmx.de> <87bk3c70jj.fsf@gmx.de> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="31216"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: emacs-devel@gnu.org To: Andrea Corallo Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Jul 09 10:50:36 2024 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1sR6YV-0007xY-8y for ged-emacs-devel@m.gmane-mx.org; Tue, 09 Jul 2024 10:50:35 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sR6Xe-0000oT-SB; Tue, 09 Jul 2024 04:49:42 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sR6Xd-0000oB-8L for emacs-devel@gnu.org; Tue, 09 Jul 2024 04:49:41 -0400 Original-Received: from mout.gmx.net ([212.227.15.18]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sR6Xa-0003kA-QZ; Tue, 09 Jul 2024 04:49:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1720514973; x=1721119773; i=michael.albinus@gmx.de; bh=jQR5WQIkS0Whprg61rtOD2+sm+l9erSJdeDt4apdo2Q=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date: Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding: content-type:date:from:message-id:mime-version:reply-to:subject: to; b=MrZmq99zTMiS98g2DUd2GwfXzFw1htROlnwfHtgmMQXIqCRL+TyrFjHNFzT83ZkG u5mb3QoyQYmE/gh3LJFv9/IaxhKFrM/NExl+17H3fCuru5KVyxnbQJkEyPFZ4yuRn lcSoH7g1yGh0BdqZQVf8DdcUGXAKYChVieCxDP6qRfM+5rXxkLNsK2ij63MBnQvjt vRFjnU2M7ckButaaGDHOj5w5DwbOdQVqk+1/VXPmFA4Tykkt7DmgIlTMHCW4V80Vb Q/MPMO2E3qvNqCfnn+r1a1K85Bu2hOLMHLhZtlB366nBFsYxjZWRGp7gKHo1NFoAG YxtUv10zxY2mhU8u+g== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Original-Received: from gandalf.gmx.de ([185.89.38.155]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MAONd-1sYUGl3xUJ-00CdfA; Tue, 09 Jul 2024 10:49:33 +0200 In-Reply-To: (Andrea Corallo's message of "Tue, 09 Jul 2024 04:39:33 -0400") X-Provags-ID: V03:K1:hOAmv+wIrcGEGm9b3h+bs8XXtNfO7R8rdTFDAaqJiky9beZTSx0 nyrcxzbDMMlookiqE1FyPuctdkE/xW1Q38M4ja9xLOQekN73dcGSYJZtx0wplUYDk+hHPyj tVEB3KUBRHxYy8FqQ8sV+kCVWSP98jVT/bQ8KMmhfxvHQVjTC45tpHhmnhbBXA2MSE/fU2f QVSE6xthvapXr1ilqjm7Q== UI-OutboundReport: notjunk:1;M01:P0:VmrQOdqyQVU=;nbxZK+yatxpU8+45nQBmPs+zI+w XRYgq4xRo19gDCNuutovJATER6g2uJ/7E3ptI8SZV1QHm9dZB8FJUj0GdELPqHxt57VkAJ2kD IQz9Acs3wl/Pv71cv317U1tKn46/3WvqQ3pJGZ3k8cD1ywk3O5GGfDNCVRjiEil/vySjN0eO1 ywI4uS4CLayeRhmtPHI1y/6BMSndpByi0n7m9OkV5IH6jwo3eaV3ZTOFNDRlZhWJSBHctSBKY oSZtM5NZLAMjII2ZBjH+Az09iG4+iP1GeivvCZaJMDZ6IhhqvfJ81an2OeQOy0pGtt1PFenij bs6cYZGKmMCYM6DK2cOHQy0Yx4TnFxCbsLn7GFnvI2Jzmdw1fN8ixLJ2slh6x5vbgCDq2teZZ 4Jj5kRds+9tJ+hI9PMFGPun//FK+X9M6e2spna9UHgcJ3FYgya2E6OYOusoC/lCruHmHXfSTJ +Rl5p5XNkrg1M+FSQ7AVqM4VDBJC+3hrd7pajXcWNJRaMaqs0cDgI4ZBEO7E3B5A9guiPZYqX pVgDz7re66Cwlw2Rp9XdP7PqTkMwqBVUVCYfDYUSewdFRdWPonGXkvezROWrB8CkEBBkMmsUE 3Wn8rEE2WdfK8cb7T0Me1pr8JiZTgxwLPWg0r2eoW5ilBD765SFXaxMqw6OdIqm3/nNExcI06 OohKkjo91keYgSuYHXZIJFXKPtuxwCW+qOBwIWs2D6BHIVCtztovtCacKri54qwKAVmrmHj2/ JpU2AQ00m1/fYO7tqG0gTVBSlql7kvdnQx1sibTDcFZRnp72KShMx3cNmiQgYqVFADUq4vU1 Received-SPF: pass client-ip=212.227.15.18; envelope-from=Michael.Albinus@gmx.de; helo=mout.gmx.net X-Spam_score_int: 5 X-Spam_score: 0.5 X-Spam_bar: / X-Spam_report: (0.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_SBL_CSS=3.335, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:321558 Archived-At: --=-=-= Content-Type: text/plain Andrea Corallo writes: > Hi Michael, Hi Andrea, > I tried your patch and seems to solve (for my few tries at least). But > why do you think we need it only on master? Before being marked as > unstable the test was flickering on emacs-30 as well. The test isn't super-important, filtering it out on the emacs-30 branch by tagging it :unstable doesn't matter really. I've proposed this, because the emacs-30 branch should be kept stable. But if you like, I could install it there. Note, that I have improved the patch meanwhile. The test dbus-test08-register-monitor seems to be vulnerable as well. The patch looks meanwhile as appended. > Thanks > > Andrea Best regards, Michael. --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment Content-Transfer-Encoding: quoted-printable diff --git a/test/lisp/net/dbus-tests.el b/test/lisp/net/dbus-tests.el index a217c92b1f7..78ae79b8711 100644 --- a/test/lisp/net/dbus-tests.el +++ b/test/lisp/net/dbus-tests.el @@ -25,7 +25,7 @@ (require 'ert-x) (require 'dbus) =20 -(defvar dbus-debug nil) +(defvar dbus-debug) (declare-function dbus-get-unique-name "dbusbind.c" (bus)) =20 (defconst dbus--test-enabled-session-bus @@ -732,12 +732,29 @@ dbus-test04-call-method-timeout ;; Cleanup. (dbus-unregister-service :session dbus--test-service))) =20 +(defvar dbus--test-event-expected nil + "The expected event in `dbus--test-signal-handler'.") + (defvar dbus--test-signal-received nil "Received signal value in `dbus--test-signal-handler'.") =20 (defun dbus--test-signal-handler (&rest args) "Signal handler for `dbus-test*-signal' and `dbus-test08-register-monito= r'." - (setq dbus--test-signal-received args)) + (ignore-error dbus-error + (message "%S" last-input-event) + (let ((last-input-event last-input-event)) + (when (or (null dbus--test-event-expected) + (and (equal (dbus-event-bus-name last-input-event) + (dbus-event-bus-name dbus--test-event-expected= )) + (equal (dbus-event-message-type last-input-event) + (dbus-event-message-type dbus--test-event-expe= cted)) + (equal (dbus-event-service-name last-input-event) + (dbus-event-service-name dbus--test-event-expe= cted)) + (equal (dbus-event-path-name last-input-event) + (dbus-event-path-name dbus--test-event-expecte= d)) + (equal (dbus-event-member-name last-input-event) + (dbus-event-member-name dbus--test-event-expec= ted)))) + (setq dbus--test-signal-received args))))) =20 (defun dbus--test-timeout-handler (&rest _ignore) "Timeout handler, reporting a failed test." @@ -796,7 +813,6 @@ dbus-test05-register-signal-with-nils "Check signal registration for an own service. SERVICE, PATH, INTERFACE and SIGNAL are =E2=80=98nil=E2=80=99. This is in= terpreted as a wildcard for the respective argument." - :tags '(:unstable) (skip-unless dbus--test-enabled-session-bus) (dbus-ignore-errors (dbus-unregister-service :session dbus--test-service= )) =20 @@ -805,6 +821,14 @@ dbus-test05-register-signal-with-nils (handler #'dbus--test-signal-handler) registered) =20 + ;; Filter received signals in signal handler. + (setq dbus--test-event-expected + `(dbus-event :session ,dbus-message-type-signal + 0 ;; Serial number doesn't matter. + ,(dbus-get-unique-name :session) + nil ;; Destination doesn't matter. + ,dbus--test-path ,dbus--test-interface ,member ,handler)) + ;; Register signal handler. (should (equal @@ -843,6 +867,7 @@ dbus-test05-register-signal-with-nils (should-not (dbus-unregister-object registered))) =20 ;; Cleanup. + (setq dbus--test-event-expected nil) (dbus-unregister-service :session dbus--test-service))) =20 (ert-deftest dbus-test06-register-property () @@ -1934,19 +1959,32 @@ dbus-test08-register-monitor (skip-unless dbus--test-enabled-session-bus) =20 (unwind-protect - (let (registered) + (let ((member "Member") + (handler #'dbus--test-signal-handler) + registered) + + ;; Filter received signals in signal handler. + (setq dbus--test-event-expected + `(dbus-event :session-private ,dbus-message-type-signal + 0 ;; Serial number doesn't matter. + ,(dbus-get-unique-name :session) + nil ;; Destination doesn't matter. + ,dbus--test-path ,dbus--test-interface ,member ,handler)) + + ;; Register monitor. (should (equal - (setq registered - (dbus-register-monitor :session #'dbus--test-signal-handle= r)) - '((:monitor :session-private) - (nil nil dbus--test-signal-handler)))) + (setq + registered + (dbus-register-monitor :session handler)) + `((:monitor :session-private) + (nil nil ,handler)))) =20 ;; Send a signal, shall be traced. (setq dbus--test-signal-received nil) (dbus-send-signal :session dbus--test-service dbus--test-path - dbus--test-interface "Foo" "foo") + dbus--test-interface member "foo") (with-timeout (1 (dbus--test-timeout-handler)) (while (null dbus--test-signal-received) (read-event nil nil 0.1))) @@ -1959,13 +1997,18 @@ dbus-test08-register-monitor (setq dbus--test-signal-received nil) (dbus-send-signal :session dbus--test-service dbus--test-path - dbus--test-interface "Foo" "foo") + dbus--test-interface member "foo") (with-timeout (1 (ignore)) (while (null dbus--test-signal-received) (read-event nil nil 0.1))) - (should-not dbus--test-signal-received)) + (should-not dbus--test-signal-received) + + ;; Unregister monitor. + ;; TODO: This seems to be a noop. And it returns nil. + (dbus-unregister-object registered)) =20 ;; Cleanup. + (setq dbus--test-event-expected nil) (dbus-unregister-service :session dbus--test-service))) =20 (ert-deftest dbus-test09-get-managed-objects () --=-=-=--