Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cv62x-00051z-C4 for pgsql-hackers@arkaria.postgresql.org; Mon, 03 Apr 2017 17:45:43 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1cv62w-0006gi-Es for pgsql-hackers@arkaria.postgresql.org; Mon, 03 Apr 2017 17:45:42 +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.84_2) (envelope-from ) id 1cv61Q-0003yY-MG for pgsql-hackers@postgresql.org; Mon, 03 Apr 2017 17:44:08 +0000 Received: from out1-smtp.messagingengine.com ([66.111.4.25]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1cv61H-000546-6e for pgsql-hackers@postgresql.org; Mon, 03 Apr 2017 17:44:06 +0000 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 68B03209E8; Mon, 3 Apr 2017 13:43:57 -0400 (EDT) Received: from frontend2 ([10.202.2.161]) by compute5.internal (MEProxy); Mon, 03 Apr 2017 13:43:57 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc:x-sasl-enc; s=fm1; bh=SqwaXubL+6I0ymQ5EG AgTHI7OquX5kD06OEKRJ30pr0=; b=XEwgzJ7FDD6VHfQqEOj3X2gFwzAJIaATAo dip+LtXqAjNf7HE/XHGyUUTDpZ1wXz0TAXAZfBJQyj4dFsKpw/AULTWF978QvO+E gRuOcVON9lg7Asoa0N9QiwFL3T+FmtqBx2UgXrWXLouf3ZvSmc6noIMPhavinDWZ tgRvvqnVfqT4rAl/nwrss4NZF4Z/0Jrxz+O2a53Enc1ZnwfwD+p5hrR1I6SmOK9o 1AhCXrD+2kiIWOjuEwe+YMcV2BmWNan8+go5Iode7zMzDoElnp/FZV7xuxaand2S FK5gQDDyxUlpa5lrS2FB331LC+1LgIc2l+rw/O138ZMJMk5sqDEg== X-ME-Sender: X-Sasl-enc: iC7fEY+UZ1JPptDfaNOb0PawNC30yFJz6oQTZVP0zFbm 1491241437 Received: from intern.anarazel.de (unknown [208.72.138.107]) by mail.messagingengine.com (Postfix) with ESMTPA id 26945242B6; Mon, 3 Apr 2017 13:43:57 -0400 (EDT) Date: Mon, 3 Apr 2017 10:43:54 -0700 From: Andres Freund To: Stephen Frost Cc: Peter Eisentraut , Michael Paquier , PostgreSQL mailing lists , Noah Misch Subject: Re: Rewriting the test of pg_upgrade as a TAP test Message-ID: <20170403174354.45oqokiy2ellfhbd@alap3.anarazel.de> References: <62a4e16e-5ea3-89c9-c94a-ee3be953b94a@2ndquadrant.com> <20170403153452.GL9812@tamriel.snowman.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170403153452.GL9812@tamriel.snowman.net> X-Pg-Spam-Score: -2.6 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-hackers Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org On 2017-04-03 11:34:52 -0400, Stephen Frost wrote: > Peter, > > * Peter Eisentraut (peter.eisentraut@2ndquadrant.com) wrote: > > On 4/3/17 09:07, Michael Paquier wrote: > > > I had for some time a WIP patch on which dust has accumulated, so > > > attached is a more polished version. In more details, here is what > > > happens: > > > - test.sh is removed. > > > - vcregress.pl loses upgradecheck. > > > - The new test is added. In the case of MSVC this is now part of bincheck. > > > Patch has been tested on macos and Windows. > > > > This is a useful start. What I'd really like to see is that instead of > > running the full serial tests to populate the pre-upgrade database, we > > determine a useful subset of what that ends up generating and just > > populate with that. > > In the past, we've had the notion that the regression tests are intended > to also cover pg_upgrade/pg_dump by "leaving things around". What I > found in my efforts to provide better coverage in pg_dump is that there > was quite a bit of coverage missing using that approach. > > Perhaps that could be fixed, but I tend to think it's a better approach > to have a complete set of pg_upgrade/pg_dump tests in one place that > doesn't also have a bunch of other tests mixed in (and would also mean > that the regular regression tests could be 'clean'). > > I could also see us defining one set of commands to run which create > every type of object in the system that pg_dump understands and then > using that to perform the pg_dump and pg_upgrade tests. Those commands > would have to be annotated with minimum major version and maximum major > version, assuming we're going to use them cross-version, but that should > be reasonably straight-forward to do. > > Another question is how much sense it makes to test this logic, > essentially, twice. The testing of pg_dump covers the pg_dump code, > which is what pg_upgrade uses anyway. The pg_upgrade tests really need > to cover the non-pg_dump-related parts, assuming we have appropriate > coverage in the pg_dump tests for the --binary-upgrade mode. Of course, > if we don't, then we should go about fixing that. There are certainly > some tests now but perhaps we need more or need to have improvmenets > made there. I don't fundamentally disagree with anything here, but I think it'd be a serious mistake to link this to the conversion of the pg_upgrade tests to tap tests. Greetings, Andres Freund -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers