[PATCH 2/2] test: replace use of gdb with LD_PRELOAD shims in T070-insert.sh
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.
>> 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
> 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...
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