Re: t7900 failures when $HOME is symlinked

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Junio,

Le 2021-12-03 à 12:10, Junio C Hamano a écrit :
Philippe Blain <levraiphilippeblain@xxxxxxxxx> writes:

Hi Stolee,

I noticed two failures, t7900.32 and t7900.36, on a system where
$HOME is symlinked, i.e.

     $ cd $HOME && pwd
     /home/me
     $ pwd -P
     /some/other/path/me

These two tests use 'pfx = $(cd $HOME && pwd)', so $pfx is '/home/me',
but the actual path that gets written by Git is canonicalized, i.e.
'/some/other/path/me'. I think a simple fix would be to use 'pwd -P'
instead, which fixes it for me.

Curious.  Your personal HOME shouldn't have much to do with the
tests, but obviously it can indirectly affect the outcome because it
affects where you place your repository.

Indeed, the source code was cloned somewhere in my HOME.

HOME during tests is set in t/test-lib.sh, based on where
TRASH_DIRECTORY is, and the latter is often derived from
TEST_OUTPUT_DIRECTORY (unless --root is given), which comes from
TEST_DIRECTORY and it is set like so:

     # Test the binaries we have just built.  The tests are kept in
     # t/ subdirectory and are run in 'trash directory' subdirectory.
     if test -z "$TEST_DIRECTORY"
     then
             # We allow tests to override this, in case they want to run tests
             # outside of t/, e.g. for running tests on the test library
             # itself.
             TEST_DIRECTORY=$(pwd)
     else
             # ensure that TEST_DIRECTORY is an absolute path so that it
             # is valid even if the current working directory is changed
             TEST_DIRECTORY=$(cd "$TEST_DIRECTORY" && pwd) || exit 1
     fi
     if test -z "$TEST_OUTPUT_DIRECTORY"
     then
             # Similarly, override this to store the test-results subdir
             # elsewhere
             TEST_OUTPUT_DIRECTORY=$TEST_DIRECTORY
     fi
     GIT_BUILD_DIR="$TEST_DIRECTORY"/..

If you want to do $(pwd -P) somewhere, isn't it that one you want to
change to avoid similar problems in any code, including the ones
that are not yet written, that uses $(pwd)?

Indeed, that works and it looks like a more robust fix.

Thanks,

Philippe.



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux