On Mon, Mar 26, 2018 at 2:01 AM Junio C Hamano <gitster@xxxxxxxxx> wrote: > 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