--- /dev/null
+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