Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1f30YG-0003tS-KP for pgsql-hackers@arkaria.postgresql.org; Mon, 02 Apr 2018 14:35:16 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1f30YF-0005mw-AD for pgsql-hackers@arkaria.postgresql.org; Mon, 02 Apr 2018 14:35:15 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1f30YF-0005mX-2f for pgsql-hackers@lists.postgresql.org; Mon, 02 Apr 2018 14:35:15 +0000 Received: from out5-smtp.messagingengine.com ([66.111.4.29]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1f30YB-0001XO-8t for pgsql-hackers@postgresql.org; Mon, 02 Apr 2018 14:35:14 +0000 Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id C2B9F20DB8; Mon, 2 Apr 2018 10:35:09 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute7.internal (MEProxy); Mon, 02 Apr 2018 10:35:09 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=/o6kQD rYI4mvNri9ttMMQF+hB0GDU6EOCe06f0WD8eE=; b=DYwO2MFnKTSEwCc7MbIHHD EHkLlxj1DCEf3ClGwI1kQ3d3I5WvDi6K9ovC6ZA1cleFl/ihpWm8d1xJjhWYxP3N jbOxQJFD0ag/1rXFo29UUQmmXuIIjw7yCKu8upn2b2PiQMIF9osKp8oKY/v0h74o Z0sGYsu3dn6cqXoLVGJXJBV3Wwz4N6UVfy+aLhUfS1o58FZpU2CIh/m/T4ZPYAYz 7QfBmsVrbl/r7x6hfH+8GxLZCOhlQZL4zdyIZzpHKKgKVz6lHrpcsXmD2MSjOjeR 4gvQjF7sdWTSEKwL3I74mepjA5m/LdFZoDHdEXHeKyVkomp6YAnTX/nREsr+nECg == X-ME-Sender: Received: from april.local (c-73-13-66-39.hsd1.pa.comcast.net [73.13.66.39]) by mail.messagingengine.com (Postfix) with ESMTPA id 6F33510263; Mon, 2 Apr 2018 10:35:09 -0400 (EDT) Subject: Re: Rewriting the test of pg_upgrade as a TAP test - take two To: Michael Paquier , Craig Ringer References: <20180126080026.GI17847@paquier.xyz> <7d040dbb-33f3-edb7-b13d-0f4ab607af46@2ndquadrant.com> <08724398-ce66-9236-18fc-b7f22a15c017@2ndquadrant.com> <18045.1520370764@sss.pgh.pa.us> <0b59536a-2d31-7573-6505-1860d00618bd@pgmasters.net> <20180322013957.GD2490@paquier.xyz> <20180322014957.GF2490@paquier.xyz> Cc: David Steele , Andrew Dunstan , Tom Lane , Michael Paquier , Postgres hackers From: Peter Eisentraut Organization: 2ndQuadrant Message-ID: Date: Mon, 2 Apr 2018 10:35:09 -0400 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: <20180322014957.GF2490@paquier.xyz> Content-Type: text/plain; charset=windows-1252 Content-Language: en-US Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk On 3/21/18 21:49, Michael Paquier wrote: > On Thu, Mar 22, 2018 at 09:42:35AM +0800, Craig Ringer wrote: >> I'm super excited by the idea of multi-version support in TAP, if that's >> what you mean. >> >> Why? Because I use TAP heavily in extensions. Especially replication >> extensions. Which like to talk across multiple versions. I currently need >> external test frameworks and some hideous hacks to do this. > > Okay, in front of such enthusiasm we could keep at least the refactoring > part of PostgresNode.pm :) I took a quick look at that part. It appears to be quite invasive, more than I would have hoped. Basically, it imposes that from now on all program invocations must observe the bindir setting, which someone is surely going to forget. The pg_upgrade tests aren't going to exercise all possible paths where programs are called, so this is going to lead to omissions and inconsistencies -- which will then possibly only be found much later by the extensions that Craig was talking about. I'd like to see this more isolated, maybe via a path change, or something inside system_or_bail or something less invasive and more maintainable. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services