[PATCH 2/2] test: replace use of gdb with LD_PRELOAD shims in T070-insert.sh

Tomi Ollila tomi.ollila at iki.fi
Mon Jun 24 11:44:13 PDT 2019


On Mon, Jun 24 2019, Daniel Kahn Gillmor wrote:

> On Fri 2019-06-14 08:16:14 -0300, David Bremner wrote:
>> Ralph Seichter <abbot at monksofcool.net> writes:
>>
>>> * Daniel Kahn Gillmor:
>>>
>>>> Perhaps Ralph Seichter (explicitly cc'ed above) could comment on how
>>>> it'll affect homebrew?
>>>
>>> MacPorts, actually. ;-) I have not yet been able to look into this patch
>>> series, but I hope to be able to do so soonish.
>>>
>>> -Ralph
>>
>> Supposedly DYLD_INSERT_LIBRARIES does (did?) the same job as LD_PRELOAD,
>> but there seems to some macOS specific complications.
>
> Do you think we could go ahead and apply these patches on master now
> anyway, and fix them up subsequently to make sure they apply to MacOS?
> I don't know what the "MacOS specific complications" are.  Can they be
> spelled out in more detail?  I note that
> https://stackoverflow.com/questions/34114587/dyld-library-path-dyld-insert-libraries-not-working
> suggests that DYLD_INSERT_LIBRARIES won't work with signed binaries, but
> i don't think the binaries tested during the test suite are signed
> binaries, are they?
>
> Alternately if DYLD_INSERT_LIBRARIES doesn't work, should we just skip
> this test on MacOS?  or have it fall back to gdb?
>
> I'd really like to see this test suite speedup merged.

If this suite speedup is merged, I'd suggest using original David's patch
2/2 due to consistency reasons -- $gen_test_filename is used likewise in
other test_expect_code cases. and, unless $TEST_DIRECTORY contains '"'s, 
'$'s or '`'s it work (in our current cases $gen_test_name does not contain
the above characters (gen_test_filename=$TEST_DIRECTORY/$gen_test_name))

I've looked this quite a lot lately (mostly for fun). I'll send email in
near future some suggestions (ten (10) or so) how we could improve the
situation here, which then could be applied everywhere...

>
>     --dkg

Tomi

PS: actually, there is e.g.

T070-insert.sh:test_expect_code 1 "notmuch insert --folder=nonesuch < $gen_msg_filename"

(and that is not the only one)

In this case also ' ', \t and \n in $gen_msg_filename would make tests
break (e.g. someone runs tests in $PWD that has spaces in it).


More information about the notmuch mailing list