Received: from malur.postgresql.org ([2a02:16a8:dc51::56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1g00TS-00079o-HG for pgsql-hackers@arkaria.postgresql.org; Wed, 12 Sep 2018 08:26:10 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1g00TQ-0000Sp-Jn for pgsql-hackers@arkaria.postgresql.org; Wed, 12 Sep 2018 08:26:08 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1g00TQ-0000Si-6t for pgsql-hackers@lists.postgresql.org; Wed, 12 Sep 2018 08:26:08 +0000 Received: from mail-lj1-x243.google.com ([2a00:1450:4864:20::243]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1g00TM-00069z-OZ for pgsql-hackers@postgresql.org; Wed, 12 Sep 2018 08:26:06 +0000 Received: by mail-lj1-x243.google.com with SMTP id u83-v6so846571lje.12 for ; Wed, 12 Sep 2018 01:26:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=1deCOoF/+OQ+qp0U+jA78X3LZX+TVjkoa0P9XK0Mznw=; b=smC3N+ZB41auUD/qFmN39v2xzlBLAD0wu6pkKD31XfQyuPXwfDhDrwvqJX6l/CQ6zF L/MokZoD+DOqg1yHJxdQzqY9RJ4S4IjSB7xc2pw3Q4KCpPgqrS9TxwyViGBHy5SUy50Z hdnToVc/Zf1DYUAZJD6JQRFdLWHS0C+dJpQW9eCLwIr0kcAmbwa6U6vyqxAgfwuukN2f Ea1Wu5voMSDn6ex1eEvq9XbFR/iNA0ayx5fcDeryGsO1Iz+1gZ6WoX5h9ufWVZfXRlLG bcqNlD1LHv/e9AfxJt7YcfFf+qswk+AY75B99WgWNUYMrfayWsVaq4XhYik2ooKVmRQ1 YX/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=1deCOoF/+OQ+qp0U+jA78X3LZX+TVjkoa0P9XK0Mznw=; b=Hd+Z8YjPLEA3qHCelbjd9RwJbLltXgiBj3W7mmXTBnzd7IwZQYfS0zfj7JGFjIOMB/ XuQFlc+cHZQSji0h73OCvQCzV81Fk/mHK/FMpQK/q2LfkgRj4IXUwsa0632p7InV1CKd s72AGxulKRkJ7Obc3oErUE7X8UV1GB2yOaN250zzbJmaV+yJXnOX+9d00fAeM0898jV/ hhdldJTZA4EWXecfiFzl055eOS/WYosN1NvCnhMwoq8TyK8PWu4O0T0ysLvnHLbqwkXB ddso1HmDhwq9DOBDn6rbm1NsBDdwNgNgMIvZOGjWTvqYB89dB6NSxm6BOZ0E2bdwS91F PnGQ== X-Gm-Message-State: APzg51Dm80OMLPa6ZlLILdnN5of6u3I7C7DjcXGLQXVfWRVkqtqQRR3A Sl0bzqJDW18IHxWTGzIHWLilW7+7 X-Google-Smtp-Source: ANB0VdbsO5WyOV4LeT24k8EIUsYAxM5rzU6MMzA/URQeAItmdyMwfm4YAGhnz1i7T6vZioMmXaES4Q== X-Received: by 2002:a2e:9c4d:: with SMTP id t13-v6mr545526ljj.153.1536740762842; Wed, 12 Sep 2018 01:26:02 -0700 (PDT) Received: from [1.0.0.7] ([178.155.4.149]) by smtp.gmail.com with ESMTPSA id j9-v6sm67696ljh.40.2018.09.12.01.26.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 12 Sep 2018 01:26:02 -0700 (PDT) Subject: Re: make installcheck-world in a clean environment To: Michael Paquier , Tom Lane Cc: Robert Haas , "pgsql-hackers@postgresql.org" References: <24834.1525712835@sss.pgh.pa.us> <20180912072049.GL25160@paquier.xyz> From: Alexander Lakhin Message-ID: <171724bb-0436-3665-6738-cbd42bdf9783@gmail.com> Date: Wed, 12 Sep 2018 11:26:00 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20180912072049.GL25160@paquier.xyz> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Content-Language: en-US List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk Hello Michael, 12.09.2018 10:20, Michael Paquier wrote: > On Mon, May 07, 2018 at 01:07:15PM -0400, Tom Lane wrote: >> Robert Haas writes: >>> After thinking about this some more, I think the question here is >>> definitional. A first attempt at defining 'make installcheck' is to >>> say that it runs the tests from the build tree against the running >>> server. Certainly, we intend to use the SQL files that are present in >>> the build tree, not the ones that were present in the build tree where >>> the running server was built. But what about client programs that we >>> use to connect to the server? You're suggesting that we use the >>> pre-installed ones, but that is actually pretty problematic because >>> the ones we see as installed might correspond neither to the contents >>> of the build tree nor to the running server. Conceivably we could end >>> up having a mix of assets from three different places: (1) the running >>> server, (2) the build tree, (3) whatever is in our path at the moment. >>> That seems very confusing. So now I think it's probably right to >>> define 'make installcheck' as using the assets from the build tree to >>> test the running server. Under that definition, we're missing some >>> dependencies, but USE_INSTALLED_ASSETS isn't a thing we need. >> Nah, I disagree with this. To me, the purpose of "make installcheck" >> is to verify the correctness of an installation, which I take to include >> the client programs as well as the server. I think that "make >> installcheck" ought to use the installed version of any file that we >> actually install, and go to the build tree only for things we don't >> install (e.g. SQL test scripts). >> >> If the user has screwed up his PATH or other environmental aspects so that >> what he's testing isn't a single installation, that's his error, not >> something that "make installcheck" ought to work around. Indeed, maybe >> such aspects of his setup are intentional, and second-guessing them would >> completely defeat his purpose. In any case, if you want to test the >> build-tree assets, that's what "make check" is for. > I agree with Tom's position, and this is the behavior that Postgres is > using for ages for check and installcheck. If there are no objections, > I'll mark the patch as rejected and move on to other things. > -- > Michael It seems, that you miss a major part of the discussion (we have discussed the issue from other positions later). And I don't think that age of the behavior should prevail over it's reasonability. Best regards, ------ Alexander Lakhin Postgres Professional: http://www.postgrespro.com The Russian Postgres Company