Re: [PATCH v7 0/3] RUNTIME_PREFIX relocatable Git
- From
Daniel Jacques <dnj@google.com>
- Date
- Mar 26, 2018, 13:00 UTC
- Message-ID
- <CAD1RUU-oUXx+mGUe6QuTawLhLz1nGFZiOWnF7=DVA1uf455zfw@mail.gmail.com>
- In-Reply-To
- <xmqq4ll3e5pb.fsf@gitster-ct.c.googlers.com>
On Mon, Mar 26, 2018 at 2:01 AM Junio C Hamano <gitster@pobox.com> wrote:
Show 7 quoted lines
> When testing the non-relocatable (i.e. traditional) Git, we use > GIT_EXEC_PATH and bin-wrappers/ trick to ensure that we test the > version we just have built, not a random version that happen to be > on the $PATH, without requiring the built product first to be > installed before being tested. From the diffstat for this patchset, > I am guessing that you are using the same mechanism even when > testing the relocatable one.
I am - the tests will run against a runtime-prefix-enabled binary, but the overrides supplied by the test suite will still be respected, so it should generally behave like non-runtime-prefix in the tests.
> I wonder if the relocatable Git would allow a simpler arrangement to > test without installing.
> I am asking merely out of curiosity, not suggesting to make a trial > install somewhere in the build area and run the built Git normally > without GIT_EXEC_PATH trick.
RUNTIME_PREFIX resolves paths relative to the runtime path of the Git binary. These path expectations are constructed around installation directories, so I'd expect that installation is a prerequisite of testing. It's also worth noting that the runtime path resolution is platform-dependent, so some Git-supported platforms will not be able to be built and/or tested in this manner (at the moment). I only implemented support for platforms I / Chromium uses, both because of my ability to test on them and my own familiarity with them.
That said, if the test suite dropped its overrides and did a local (testing) installation, that would be expected to work on the RUNTIME_PREFIX binary. I assumed that one of the reasons we don't test against an installation is b/c Git hard-codes its paths, but this would not be a problem with RUNTIME_PREFIX enabled.
-Dan