From unknown Fri Jun 13 11:34:32 2025 X-Loop: help-debbugs@gnu.org Subject: bug#25326: 26.0.50; Testcover error when a defcustom value changed Resent-From: Gemini Lasswell Original-Sender: "Debbugs-submit" Resent-CC: stefan@merten-home.de, bug-gnu-emacs@gnu.org Resent-Date: Mon, 02 Jan 2017 00:30:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 25326 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 25326@debbugs.gnu.org Cc: stefan@merten-home.de X-Debbugs-Original-To: bug-gnu-emacs@gnu.org X-Debbugs-Original-Xcc: stefan@merten-home.de Received: via spool by submit@debbugs.gnu.org id=B.148331698927779 (code B ref -1); Mon, 02 Jan 2017 00:30:02 +0000 Received: (at submit) by debbugs.gnu.org; 2 Jan 2017 00:29:49 +0000 Received: from localhost ([127.0.0.1]:38908 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cNqVY-0007Dz-Lo for submit@debbugs.gnu.org; Sun, 01 Jan 2017 19:29:48 -0500 Received: from eggs.gnu.org ([208.118.235.92]:59805) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cNqVW-0007Dk-7X for submit@debbugs.gnu.org; Sun, 01 Jan 2017 19:29:46 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cNqVQ-0007ii-2O for submit@debbugs.gnu.org; Sun, 01 Jan 2017 19:29:40 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:45854) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cNqVP-0007ie-VV for submit@debbugs.gnu.org; Sun, 01 Jan 2017 19:29:39 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50773) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cNqVO-0000nk-T5 for bug-gnu-emacs@gnu.org; Sun, 01 Jan 2017 19:29:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cNqVL-0007fX-IV for bug-gnu-emacs@gnu.org; Sun, 01 Jan 2017 19:29:38 -0500 Received: from aibo.runbox.com ([91.220.196.211]:34635) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cNqVL-0007eI-BN for bug-gnu-emacs@gnu.org; Sun, 01 Jan 2017 19:29:35 -0500 Received: from [10.9.9.210] (helo=mailfront10.runbox.com) by bars.runbox.com with esmtp (Exim 4.71) (envelope-from ) id 1cNqVJ-0007Bv-6l for bug-gnu-emacs@gnu.org; Mon, 02 Jan 2017 01:29:33 +0100 Received: from c-24-22-244-161.hsd1.wa.comcast.net ([24.22.244.161] helo=rainbow.local) by mailfront10.runbox.com with esmtpsa (uid:179284 ) (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) id 1cNqV1-0000jo-24 for bug-gnu-emacs@gnu.org; Mon, 02 Jan 2017 01:29:15 +0100 From: Gemini Lasswell Date: Sun, 01 Jan 2017 16:29:05 -0800 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.1 (----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.1 (----) Testcover incorrectly marks symbols declared with defcustom as `1value', which causes it to signal an error if a customizable value is changed between uses by code under coverage by Testcover. This is easy to reproduce using the tests for iCalendar. To reproduce, starting in your Emacs source directory, with emacs -Q if you like: M-x testcover-start RET lisp/calendar/icalendar.el RET C-x C-f test/lisp/calendar/icalendar-tests.el RET M-x eval-buffer RET M-x ert RET RET Result: Every test that varies a customization variable fails with the message "Value of form marked with =E2=80=981value=E2=80=99 does vary" There was some discussion of this problem on emacs-devel in 2012 under the title "testcover: setf-method and treatment of `defcustom'" including a patch to make Testcover treat defcustom like defvar, which was never applied, as well as mention of pros and cons of fixing it that way. I think that it is best to treat defcustom like defvar, which while it will create more tan splotches on code where behavior under customization doesn't get tested, it should also encourage people to write tests that exercise their customization options. Here's the patch: --- ../emacs/trunk/lisp/emacs-lisp/testcover.el 2012-04-20 19:50:27.000000000 +0200 +++ /home/stefan/tmp/testcover.el 2012-09-10 08:58:01.000000000 +0200 @@ -297,7 +297,7 @@ (push (cadr form) testcover-module-1value-functions)) (when (eq val 'maybe) (push (cadr form) testcover-module-potentially-1value-functions))) - ((memq fun '(defconst defcustom)) + ((eq fun 'defconst) ;;Define this symbol as 1-valued (push (cadr form) testcover-module-constants) (testcover-reinstrument-list (cddr form))) If this patch is applied, there is a workaround for this bug in lisp/textmodes/rst.el which could be removed. From unknown Fri Jun 13 11:34:32 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Gemini Lasswell Subject: bug#25326: closed (Re: bug#25326: 26.0.50; Testcover error when a defcustom value changed) Message-ID: References: <874lr91a1s.fsf@runbox.com> X-Gnu-PR-Message: they-closed 25326 X-Gnu-PR-Package: emacs Reply-To: 25326@debbugs.gnu.org Date: Sun, 08 Oct 2017 23:43:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1507506182-7273-1" This is a multi-part message in MIME format... ------------=_1507506182-7273-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #25326: 26.0.50; Testcover error when a defcustom value changed which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 25326@debbugs.gnu.org. --=20 25326: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D25326 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1507506182-7273-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 25326-done) by debbugs.gnu.org; 8 Oct 2017 23:42:46 +0000 Received: from localhost ([127.0.0.1]:56828 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e1LDa-0001sq-3z for submit@debbugs.gnu.org; Sun, 08 Oct 2017 19:42:46 -0400 Received: from aibo.runbox.com ([91.220.196.211]:57738) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e1LDX-0001sh-Di for 25326-done@debbugs.gnu.org; Sun, 08 Oct 2017 19:42:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=runbox.com; s=rbselector1; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From; bh=8d+RVZnyvaAMEEva2rJZMA1F3VGVZyLXjuDCWJzEDZg=; b=DlCJzNMbRu3TiXa8HBxAo4o3lQ 7gEteWAQ+/Lg7u+W/4GfmBlocehcUO65a/2nQFS7OOpkvbykzJNFiCra8Appt5U+ofee3Cqk5Eno7 MIwnKbpQuwJCit2CrtnRrenntbpRRGW+lA4JjwXbZP8AvVzdskrBxZwWc4IwBTOTHn5lFxRXmYqQv J0n8wUqyryx7cg+EI9b5U7vpz4p0fiUrjwMh2W0xhBkDAl/IgJo1aTnLAkSxS/pl/BWnXkNWVZj9A W5LNy0QRzd5ICWGlOKlMlPd6aYCfWVI1kUd5qkLNT+6Lmt97/C3wRjb9B/OQtrabPzOu/evoyTjDD dvsItwFg==; Received: from [10.9.9.212] (helo=mailfront12.runbox.com) by mailtransmit03.runbox with esmtp (Exim 4.86_2) (envelope-from ) id 1e1LDW-0004pu-MV for 25326-done@debbugs.gnu.org; Mon, 09 Oct 2017 01:42:42 +0200 Received: from c-24-22-244-161.hsd1.wa.comcast.net ([24.22.244.161] helo=chinook) by mailfront12.runbox.com with esmtpsa (uid:179284 ) (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) id 1e1LDF-0007zo-Cb for 25326-done@debbugs.gnu.org; Mon, 09 Oct 2017 01:42:25 +0200 From: Gemini Lasswell To: 25326-done@debbugs.gnu.org Subject: Re: bug#25326: 26.0.50; Testcover error when a defcustom value changed References: Date: Sun, 08 Oct 2017 16:42:23 -0700 In-Reply-To: (Gemini Lasswell's message of "Sun, 01 Jan 2017 16:29:05 -0800") Message-ID: <874lr91a1s.fsf@runbox.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.60 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 25326-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Fixed in master, by the patch applied for bug#25316. ------------=_1507506182-7273-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 2 Jan 2017 00:29:49 +0000 Received: from localhost ([127.0.0.1]:38908 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cNqVY-0007Dz-Lo for submit@debbugs.gnu.org; Sun, 01 Jan 2017 19:29:48 -0500 Received: from eggs.gnu.org ([208.118.235.92]:59805) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cNqVW-0007Dk-7X for submit@debbugs.gnu.org; Sun, 01 Jan 2017 19:29:46 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cNqVQ-0007ii-2O for submit@debbugs.gnu.org; Sun, 01 Jan 2017 19:29:40 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:45854) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cNqVP-0007ie-VV for submit@debbugs.gnu.org; Sun, 01 Jan 2017 19:29:39 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50773) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cNqVO-0000nk-T5 for bug-gnu-emacs@gnu.org; Sun, 01 Jan 2017 19:29:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cNqVL-0007fX-IV for bug-gnu-emacs@gnu.org; Sun, 01 Jan 2017 19:29:38 -0500 Received: from aibo.runbox.com ([91.220.196.211]:34635) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cNqVL-0007eI-BN for bug-gnu-emacs@gnu.org; Sun, 01 Jan 2017 19:29:35 -0500 Received: from [10.9.9.210] (helo=mailfront10.runbox.com) by bars.runbox.com with esmtp (Exim 4.71) (envelope-from ) id 1cNqVJ-0007Bv-6l for bug-gnu-emacs@gnu.org; Mon, 02 Jan 2017 01:29:33 +0100 Received: from c-24-22-244-161.hsd1.wa.comcast.net ([24.22.244.161] helo=rainbow.local) by mailfront10.runbox.com with esmtpsa (uid:179284 ) (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) id 1cNqV1-0000jo-24 for bug-gnu-emacs@gnu.org; Mon, 02 Jan 2017 01:29:15 +0100 From: Gemini Lasswell To: bug-gnu-emacs@gnu.org Subject: 26.0.50; Testcover error when a defcustom value changed X-Debbugs-CC: stefan@merten-home.de Date: Sun, 01 Jan 2017 16:29:05 -0800 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.1 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.1 (----) Testcover incorrectly marks symbols declared with defcustom as `1value', which causes it to signal an error if a customizable value is changed between uses by code under coverage by Testcover. This is easy to reproduce using the tests for iCalendar. To reproduce, starting in your Emacs source directory, with emacs -Q if you like: M-x testcover-start RET lisp/calendar/icalendar.el RET C-x C-f test/lisp/calendar/icalendar-tests.el RET M-x eval-buffer RET M-x ert RET RET Result: Every test that varies a customization variable fails with the message "Value of form marked with =E2=80=981value=E2=80=99 does vary" There was some discussion of this problem on emacs-devel in 2012 under the title "testcover: setf-method and treatment of `defcustom'" including a patch to make Testcover treat defcustom like defvar, which was never applied, as well as mention of pros and cons of fixing it that way. I think that it is best to treat defcustom like defvar, which while it will create more tan splotches on code where behavior under customization doesn't get tested, it should also encourage people to write tests that exercise their customization options. Here's the patch: --- ../emacs/trunk/lisp/emacs-lisp/testcover.el 2012-04-20 19:50:27.000000000 +0200 +++ /home/stefan/tmp/testcover.el 2012-09-10 08:58:01.000000000 +0200 @@ -297,7 +297,7 @@ (push (cadr form) testcover-module-1value-functions)) (when (eq val 'maybe) (push (cadr form) testcover-module-potentially-1value-functions))) - ((memq fun '(defconst defcustom)) + ((eq fun 'defconst) ;;Define this symbol as 1-valued (push (cadr form) testcover-module-constants) (testcover-reinstrument-list (cddr form))) If this patch is applied, there is a workaround for this bug in lisp/textmodes/rst.el which could be removed. ------------=_1507506182-7273-1--