On Tue, Aug 18, 2020 at 10:22 PM Eric Sunshine <sunshine@xxxxxxxxxxxxxx> wrote: > > On Tue, Aug 18, 2020 at 8:23 AM Gopal Yadav <gopunop@xxxxxxxxx> wrote: > No. test_lazy_prereq() is merely the function which defines how a lazy > prerequisites should be determined when the answer about the > prerequisite is actually needed. What #353 is saying is to not perform > the actual determination if a test which requires it isn't going to be > run. > > Fixing the issue might be as simple as moving the test_verify_prereq() > call (and related "export") inside the 'if ! test_skip "$@"' > conditional in the test_expect_success() and test_expect_failure() > functions. I see that test_verify_prereq() (and related export) being used inside 3 different functions namely test_expect_failure(), test_expect_success() and test_external(). So the solution here is to move these into the if ! test_skip block. Thanks, will submit a patch. > > I know the issue talks about something related to chains but I am > > thinking of starting by resolving the lazy prereq task first. > > I took a look at the &&-chain logic and, as far as I can tell by both > direct inspection and by experimentation, the detection of broken > &&-chains is _not_ performed for tests which are being skipped. So, I > think that portion of #353 is just wrong.