From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Gemini Lasswell Newsgroups: gmane.emacs.bugs Subject: bug#25326: 26.0.50; Testcover error when a defcustom value changed Date: Sun, 01 Jan 2017 16:29:05 -0800 Message-ID: NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1483317021 793 195.159.176.226 (2 Jan 2017 00:30:21 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 2 Jan 2017 00:30:21 +0000 (UTC) Cc: stefan@merten-home.de To: 25326@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Jan 02 01:30:17 2017 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cNqVw-0007SN-2L for geb-bug-gnu-emacs@m.gmane.org; Mon, 02 Jan 2017 01:30:12 +0100 Original-Received: from localhost ([::1]:54981 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cNqW0-0000u9-3U for geb-bug-gnu-emacs@m.gmane.org; Sun, 01 Jan 2017 19:30:16 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:50838) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cNqVr-0000qY-0c for bug-gnu-emacs@gnu.org; Sun, 01 Jan 2017 19:30:08 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cNqVn-0007vK-SB for bug-gnu-emacs@gnu.org; Sun, 01 Jan 2017 19:30:07 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:51744) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cNqVn-0007vB-OR for bug-gnu-emacs@gnu.org; Sun, 01 Jan 2017 19:30:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1cNqVm-0007Er-RM; Sun, 01 Jan 2017 19:30:02 -0500 X-Loop: help-debbugs@gnu.org 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: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org X-Debbugs-Original-Xcc: stefan@merten-home.de Original-Received: via spool by submit@debbugs.gnu.org id=B.148331698927779 (code B ref -1); Mon, 02 Jan 2017 00:30:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 2 Jan 2017 00:29:49 +0000 Original-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 Original-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 Original-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 Original-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 Original-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 Original-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 Original-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 Original-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 Original-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 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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:127665 Archived-At: 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.