Re: [PATCH] test: make test_expect_equal_file() arguments flexible
authorDmitry Kurochkin <dmitry.kurochkin@gmail.com>
Thu, 2 Feb 2012 00:07:01 +0000 (04:07 +0400)
committerW. Trevor King <wking@tremily.us>
Fri, 7 Nov 2014 17:43:55 +0000 (09:43 -0800)
e3/16cbb0108e75d7211232037720e37a72adb38b [new file with mode: 0644]

diff --git a/e3/16cbb0108e75d7211232037720e37a72adb38b b/e3/16cbb0108e75d7211232037720e37a72adb38b
new file mode 100644 (file)
index 0000000..8937c74
--- /dev/null
@@ -0,0 +1,149 @@
+Return-Path: <dmitry.kurochkin@gmail.com>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+       by olra.theworths.org (Postfix) with ESMTP id D61E7431FAF\r
+       for <notmuch@notmuchmail.org>; Wed,  1 Feb 2012 16:08:17 -0800 (PST)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: 1.7\r
+X-Spam-Level: *\r
+X-Spam-Status: No, score=1.7 tagged_above=-999 required=5\r
+       tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1,\r
+       FREEMAIL_FROM=0.001, FREEMAIL_REPLY=2.499, RCVD_IN_DNSWL_LOW=-0.7]\r
+       autolearn=disabled\r
+Received: from olra.theworths.org ([127.0.0.1])\r
+       by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
+       with ESMTP id OhNMhGAMg7Ip for <notmuch@notmuchmail.org>;\r
+       Wed,  1 Feb 2012 16:08:17 -0800 (PST)\r
+Received: from mail-bk0-f53.google.com (mail-bk0-f53.google.com\r
+       [209.85.214.53]) (using TLSv1 with cipher RC4-SHA (128/128 bits))\r
+       (No client certificate requested)\r
+       by olra.theworths.org (Postfix) with ESMTPS id B5732431FAE\r
+       for <notmuch@notmuchmail.org>; Wed,  1 Feb 2012 16:08:16 -0800 (PST)\r
+Received: by bke11 with SMTP id 11so1739408bke.26\r
+       for <notmuch@notmuchmail.org>; Wed, 01 Feb 2012 16:08:15 -0800 (PST)\r
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;\r
+       h=from:to:subject:in-reply-to:references:user-agent:date:message-id\r
+       :mime-version:content-type;\r
+       bh=uMCnPsmkImyhcjRnIl8tGx7+O4FQJUrQ9pC1f3WIcqs=;\r
+       b=Qnf9/yKafIkuaoqaHxOzTgsLUCLGQCVFKEiKTGJwRZRyomIxSOfiR2VqiCAl5r29gE\r
+       9SdDUjYoLw/SYLmZF5rDD7ZMBSGnb7vMLlKCf4OC8VI6+VJ8GM2Zgf1DcZWvTOtjs180\r
+       tkEKToAUnpEnJFsMcF/yBYHzg8Ti9xP2VmW9A=\r
+Received: by 10.204.152.208 with SMTP id h16mr348389bkw.6.1328141295506;\r
+       Wed, 01 Feb 2012 16:08:15 -0800 (PST)\r
+Received: from localhost ([91.144.186.21])\r
+       by mx.google.com with ESMTPS id ew13sm1635099bkb.1.2012.02.01.16.08.14\r
+       (version=TLSv1/SSLv3 cipher=OTHER);\r
+       Wed, 01 Feb 2012 16:08:14 -0800 (PST)\r
+From: Dmitry Kurochkin <dmitry.kurochkin@gmail.com>\r
+To: Jameson Graef Rollins <jrollins@finestructure.net>,\r
+       Tomi Ollila <tomi.ollila@iki.fi>, notmuch@notmuchmail.org\r
+Subject: Re: [PATCH] test: make test_expect_equal_file() arguments flexible\r
+In-Reply-To: <8739aum87u.fsf@gmail.com>\r
+References: <1328080794-24670-1-git-send-email-dmitry.kurochkin@gmail.com>\r
+       <87r4yfszx9.fsf@servo.finestructure.net>\r
+       <87pqdync64.fsf@gmail.com> <m262fqc0wv.fsf@guru.guru-group.fi>\r
+       <87k446n8ji.fsf@gmail.com> <87ehuetqjz.fsf@servo.finestructure.net>\r
+       <8739aum87u.fsf@gmail.com>\r
+User-Agent: Notmuch/0.11+139~gd9b7cab (http://notmuchmail.org) Emacs/23.3.1\r
+       (x86_64-pc-linux-gnu)\r
+Date: Thu, 02 Feb 2012 04:07:01 +0400\r
+Message-ID: <87wr86ksii.fsf@gmail.com>\r
+MIME-Version: 1.0\r
+Content-Type: text/plain; charset=us-ascii\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.13\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+       <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Thu, 02 Feb 2012 00:08:18 -0000\r
+\r
+On Thu, 02 Feb 2012 03:42:29 +0400, Dmitry Kurochkin <dmitry.kurochkin@gmail.com> wrote:\r
+> Hi Jameson.\r
+> \r
+> On Wed, 01 Feb 2012 09:24:32 -0800, Jameson Graef Rollins <jrollins@finestructure.net> wrote:\r
+> > On Wed, 01 Feb 2012 14:37:53 +0400, Dmitry Kurochkin <dmitry.kurochkin@gmail.com> wrote:\r
+> > > On Wed, 01 Feb 2012 12:18:08 +0200, Tomi Ollila <tomi.ollila@iki.fi> wrote:\r
+> > > > \r
+> > > > There are at least these options here\r
+> > > > \r
+> > > > 1) go through all ~100 places where test_expect_equal_file is used\r
+> > > >    and fix the call order: quick look tells that the offending uses\r
+> > > >    are in dump-restore, hooks, search-limiting and symbol-hiding.\r
+> > > > \r
+> > > > 2) enforce "expected" filename has some format *and* fix all current\r
+> > > >    uses of it. Add testbed_error () function which yells loudly ane exits...\r
+> > > > \r
+> > > > 3) guess which is output and which is expected from args so that \r
+> > > >    machine helps tester here (for both diff output & copied files)a\r
+> > > > \r
+> > > > 4) just copy compared files to some directory, those are named as\r
+> > > >    basename of the original -- diff order still inconsistent.\r
+> > > > \r
+> > > > \r
+> > > > I'd just go with option 1 and fix new *violations* when stumble upon one.\r
+> > > > \r
+> > > \r
+> > > Option 1 does not solve the problem.  New violations would apper and\r
+> > > need to be fixed again.  I am for option 2.\r
+> > \r
+> > How is enforcing use of a particular filename better and more robust\r
+> > than enforcing argument order?\r
+> \r
+> Filename check is a way to make sure the argument order is correct.\r
+> \r
+> >  You'll still have to force an arbitrary\r
+> > heuristic.  And you'll still be vulnerable to people messing up the file\r
+> > names (which actually seems easier to get wrong than messing up the\r
+> > order).\r
+> \r
+> Do you mean that people would start writing tests with filenames like:\r
+> \r
+>   test_expect_equal_file EXPECTED1 EXPECTED2\r
+> \r
+> ?  That is possible, of course.  But do you seriously believe that\r
+> deliberately changing file names in a way that violates common sense and\r
+> is inconsistent with all other code is "easier" than writing "EXPECTED\r
+> OUTPUT" in the wrong order?  I do not think so.  And it would definately\r
+> be easier to catch during review.\r
+> \r
+> >  And you'll have to have more code to parse the argument\r
+> > strings.\r
+> \r
+> That is one case statement, with one non-empty case, with one error\r
+> call.\r
+> \r
+> >  And you'll still get inconsistent diffs.\r
+> > \r
+> \r
+> No, you do not.  That is the point.\r
+> \r
+> > If this is really a problem, I vote for 1.  In general, I am not in\r
+> > favor of making the test suite more complicated than it needs to be.\r
+> > \r
+> \r
+> Ok.  I plan to send a patch soon.  If my arguments do not convince\r
+> enough people, I will move along.\r
+> \r
+\r
+The new patches, based on idea suggested by Tomi [1], are here:\r
+\r
+  id:"1328141050-30356-1-git-send-email-dmitry.kurochkin@gmail.com"\r
+\r
+Regards,\r
+  Dmitry\r
+\r
+[1] id:"m28vknaq5l.fsf@guru.guru-group.fi"\r
+\r
+> Regards,\r
+>   Dmitry\r
+> \r
+> > jamie.\r