Re: [PATCH] test: make test_expect_equal_file() arguments flexible
authorDmitry Kurochkin <dmitry.kurochkin@gmail.com>
Wed, 1 Feb 2012 23:42:29 +0000 (03:42 +0400)
committerW. Trevor King <wking@tremily.us>
Fri, 7 Nov 2014 17:43:55 +0000 (09:43 -0800)
c6/641de3c5921b5bdb1b54133ba6cafa0f177519 [new file with mode: 0644]

diff --git a/c6/641de3c5921b5bdb1b54133ba6cafa0f177519 b/c6/641de3c5921b5bdb1b54133ba6cafa0f177519
new file mode 100644 (file)
index 0000000..1100ae8
--- /dev/null
@@ -0,0 +1,136 @@
+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 072E2431FAF\r
+       for <notmuch@notmuchmail.org>; Wed,  1 Feb 2012 15:43:46 -0800 (PST)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: -0.799\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=-0.799 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, RCVD_IN_DNSWL_LOW=-0.7] 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 tubsxMjO-Pn1 for <notmuch@notmuchmail.org>;\r
+       Wed,  1 Feb 2012 15:43:45 -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 B7C1E431FAE\r
+       for <notmuch@notmuchmail.org>; Wed,  1 Feb 2012 15:43:44 -0800 (PST)\r
+Received: by bke11 with SMTP id 11so1724156bke.26\r
+       for <notmuch@notmuchmail.org>; Wed, 01 Feb 2012 15:43:43 -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=PdOAIh0skTBPmBwiGSZoatA8TzcoVcMeTX71Uq/+gLs=;\r
+       b=DAExZ9Q0pczZnWWfvqTYVNk6upq2TYlMRNGQ+4pBs8R0yjKeMqzIOIR7E14AtgwF5i\r
+       mp873sYthNCo11hm7h9IBqTceSctvQ+JmRimvot2/x3SR0pExqv/O4URYzI0uaIIem8J\r
+       RnJoCZfCtW+EtduBHmTNpQcp4uYP6p9aZOeJk=\r
+Received: by 10.204.152.219 with SMTP id h27mr294469bkw.40.1328139823347;\r
+       Wed, 01 Feb 2012 15:43:43 -0800 (PST)\r
+Received: from localhost ([91.144.186.21])\r
+       by mx.google.com with ESMTPS id ci12sm1381438bkb.13.2012.02.01.15.43.41\r
+       (version=TLSv1/SSLv3 cipher=OTHER);\r
+       Wed, 01 Feb 2012 15:43:42 -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: <87ehuetqjz.fsf@servo.finestructure.net>\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
+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 03:42:29 +0400\r
+Message-ID: <8739aum87u.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: Wed, 01 Feb 2012 23:43:46 -0000\r
+\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
+Regards,\r
+  Dmitry\r
+\r
+> jamie.\r