On Sun, May 2, 2021 at 4:59 AM Torsten Bögershausen <tboegi@xxxxxx> wrote: > > On Fri, Apr 30, 2021 at 06:40:32PM -0300, Matheus Tavares wrote: > > > > diff --git a/t/t2081-parallel-checkout-collisions.sh b/t/t2081-parallel-checkout-collisions.sh > > new file mode 100755 > > index 0000000000..f6fcfc0c1e > > --- /dev/null > > +++ b/t/t2081-parallel-checkout-collisions.sh > > @@ -0,0 +1,162 @@ > > +#!/bin/sh > > + > > +test_description="path collisions during parallel checkout > > + > > +Parallel checkout must detect path collisions to: > > + > > +1) Avoid racily writing to different paths that represent the same file on disk. > > +2) Report the colliding entries on clone. > > + > > +The tests in this file exercise parallel checkout's collision detection code in > > +both these mechanics. > > +" > > + > > +. ./test-lib.sh > > +. "$TEST_DIRECTORY/lib-parallel-checkout.sh" > > Why this $TEST_DIRECTORY ? > Aren't all files under the t/ directory, where test-lib.sh is as well ? Good point. From what I understand, the reason why we need the macro here is that, when running the test with --root=<path>, the trash dir might actually be at a path outside `t/`. So the test can't rely on `./` to read files from `t/`. We don't need the macro for `test-lib.sh` because the working dir is only changed after it is sourced (by `test-lib.sh` itself).