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: Fri, 05 Jul 2024 09:36:32 +0200 Message-ID: <87bk3c70jj.fsf@gmx.de> References: <87ed8bhnrb.fsf@gmx.de> <8734oqh4d2.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="19822"; 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 Fri Jul 05 09:37:03 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 1sPdV8-0004zm-Km for ged-emacs-devel@m.gmane-mx.org; Fri, 05 Jul 2024 09:37:02 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sPdUn-0003mf-Ml; Fri, 05 Jul 2024 03:36:41 -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 1sPdUl-0003mQ-Pc for emacs-devel@gnu.org; Fri, 05 Jul 2024 03:36:39 -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 1sPdUj-00052Y-KS; Fri, 05 Jul 2024 03:36:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1720164993; x=1720769793; i=michael.albinus@gmx.de; bh=Vab88lWC8xzeFA6Wn+9A5GXCLxGJnETEWBwP4t1Yjz8=; 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=InMMW/I8g8d/aywnbm/erzotWned0KqYKxeso8dkpYVo9vv6ujmNpP5JjjPrf4tN tjy4DAkzZugk70KBSXqAS2k7QnE4DsZzLhliLp//115ztOrzDI8ho/XyGBreVC/k5 mmxkSOy3636SydByG0JXYaB/gEeAVm4HnjW5MJUlbSqvmY1cbg2rs9PvRbXBg4oJc ca/802thYva9ySCag2/8z3B9hVW104H6eECPSJH4Z7ms/fNfrNvuV/mzmy4bOU2Sp 8/BAvUZ6bFWeeDae/scEwd2aSzu4xad6zRRFlXOYB/fhsKKY052WzU9/Me5cpuY0P M4z2eHEF6BuPQfenLg== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Original-Received: from gandalf.gmx.de ([185.89.38.155]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MRCOE-1skcpJ30QW-00UNLN; Fri, 05 Jul 2024 09:36:33 +0200 In-Reply-To: (Andrea Corallo's message of "Wed, 03 Jul 2024 14:16:44 -0400") X-Provags-ID: V03:K1:mHcVfmGOGOOWRBwIz+o6d//qx26QnmQbMBPKbk5OyqsQpmTg4b4 1GWSQJqYGj4u177aqgNgHnbf6jRKO146acd2Nzbt3wqWZQjiMg4BNZ+cp9SngfZl2Vom5Wp qJ4BlYwNOku5jHdwO47EavYp7msOBvkCr1FZRcvIZBV5W9JmKa+z8qkhB26McLb8OlLe7y5 bneWw1hRQoxWpTX0rNqgA== UI-OutboundReport: notjunk:1;M01:P0:787TNH8jYH8=;Rv2/QUB0MvTskKMGMnX1Atbh7iO QP86j2TSgmp0eLtn3j24LuUMYbjTciJyE1icHUzmE03aGic8AIEFlOoXghrJc5BCS8mTdznx8 TcBibrWDVNKG05sRXc3IlEqIBdr5hI+OVIGSGCplqENaR2xL/BXxcraC0teJ+A4bqm1eRIWXw xEjJlUPEKSt8Sex5R4MQv9YUO6KLnMC9GenFBpXGVEEeZ9lfGq5EVeysn7+4k4xb6tcdBrNxO kAphV/tyExk7Hv7ZBHNWFlTxMSAxdgfAbs/1dMv2lWCQ/viCUmwYHZUGcwXePZAWwJctvlhkJ ZAouX/TzubIX0DgkZbBYnpBVVFABWWQQwRsWUVVXHMg7sVSUMpZUnhIA/tBN1S4LbJFj90Xiq vkh2N2Cj0GWW9F6IGlxZM4wsGF1QaJW8t4lUe+Zg+hUSSzIwb5zmZKDRjOGHcShjEl36yd5pS oJ5l0xHvbuS6TzlSmOopEtjSZd7OygDMk96eV7EOccFsEjcDKrNs2BTwrVpaNgzbTnhrJZJut rdvKzbhjW8+trJvqu3w8fS3qakRM1Y0wr1flrUBrAm7TEEE9LI/HaSOrZ3AUxcane2SqS0SqY ShLcqqDpRchzUs5kyUzakVLa5Gech2T1wUXuTSil5LmBGEDd7VjKdVONl52qlrqC9xzjRzNVE 1CG/qFbLl+MHr5ltdOOSRhqa8isS3XyFyzOncSrxjlO97l483VHBJzJpLqBIDrygVOqCYr2Fh rExwwFEbVZ/uBNXQmUCGzR/+jY46d6UnN1avQ5mKKeCYqy/PqllyawW8QIB0qQ09ht+LPTPG 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_MSPIKE_H2=-0.001, 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:321381 Archived-At: --=-=-= Content-Type: text/plain Andrea Corallo writes: Hi Andrea, > Mmmh not sure is possible but also desirable, we want to be able to run > as many tests as possible even with -jN. Last days, I've digged further into this. I still couldn't provoke the error (my machine has only 8 processing units). However, ... >> Btw, could you check whether the D-Bus tests flickery goes away if we >> tag dbus-test05-register-signal-with-nils as :unstable? > > From the bunch of test I did seems this is solving, I'll mark it as > :unstable for now till a better solution is found. ... I've found suspicious code in this test. Usually, all tests work deterministic. A method call or a signal is raised, and the returned message from D-Bus is analyzed. But in this test, a signal handler with a wildcard filter is registered. That means, *any* signal from D-Bus is catched, also signals which aren't relevant for this test. The more pressure you give on the system ("make -j96"), the more likely it is. So I have modified the signal handler to handle only signals we're interested in. See the appended patch. Could you, pls, check whether it helps? I guess we need it only in the master branch, because the problem appears only in dbus-test.el. dbusbind.c and dbus.el are OK. > Thanks > > Andrea Best regards, Michael. --=-=-= Content-Type: text/x-patch 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 b3337132fb6..0e0996b373e 100644 =2D-- a/test/lisp/net/dbus-tests.el +++ b/test/lisp/net/dbus-tests.el @@ -25,7 +25,7 @@ (require 'ert-x) (require 'dbus) -(defvar dbus-debug nil) +(defvar dbus-debug) (declare-function dbus-get-unique-name "dbusbind.c" (bus)) (defconst dbus--test-enabled-session-bus @@ -732,12 +732,28 @@ dbus-test04-call-method-timeout ;; Cleanup. (dbus-unregister-service :session dbus--test-service))) +(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'.") (defun dbus--test-signal-handler (&rest args) "Signal handler for `dbus-test*-signal' and `dbus-test08-register-monit= or'." - (setq dbus--test-signal-received args)) + (ignore-error dbus-error + (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-expecte= d)) + (equal (dbus-event-message-type last-input-event) + (dbus-event-message-type dbus--test-event-exp= ected)) + (equal (dbus-event-service-name last-input-event) + (dbus-event-service-name dbus--test-event-exp= ected)) + (equal (dbus-event-path-name last-input-event) + (dbus-event-path-name dbus--test-event-expect= ed)) + (equal (dbus-event-member-name last-input-event) + (dbus-event-member-name dbus--test-event-expe= cted)))) + (setq dbus--test-signal-received args))))) (defun dbus--test-timeout-handler (&rest _ignore) "Timeout handler, reporting a failed test." @@ -804,6 +820,14 @@ dbus-test05-register-signal-with-nils (handler #'dbus--test-signal-handler) registered) + ;; 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 @@ -842,6 +866,7 @@ dbus-test05-register-signal-with-nils (should-not (dbus-unregister-object registered))) ;; Cleanup. + (setq dbus--test-event-expected nil) (dbus-unregister-service :session dbus--test-service))) (ert-deftest dbus-test06-register-property () --=-=-=--