On Thu, Apr 21, 2022 at 11:51:07PM -0700, Junio C Hamano wrote: > Johannes Sixt writes: > > >> I had a look at the tests to try to guess what was wrong, but I didn't > >> come up with anything. Any ideas? > > > > You run ./t9001-send-email.sh (without `prove`). Add -v to see some > > verbiage from the tests, throw in -i to have it stop at the first > > failure (so you don't have to scroll back to find it), and add -x for > > additional traces of commands that the shell executes (to see the exact > > command that failed). > > > > IFAIC, I always go all in, i.e., either all or none of -v -i -x. > > Good suggestion. > > I rarely (if ever) use "-x" myself but another useful thing to know, > while learning how the existing test works (i.e. studying a working > test, not debugging a broken test) is to use "-d", possibly together > with "-v", which refrains from removing the trash directory. Then > you can go in and examine the state of the test repository the tests > left. Thank you both for these tips. I was able to determine the issue by running the test with -vixd, noticing which command failed, and then trying to set up my shell environment manually to match the test's (PATH, PERLLIB, committer/author info, etc.), and ran the same command with the leftover trash directory. This produced error output that didn't show up when I was running the test (not sure why) that gave me a line number in git-send-email.perl. I noticed that it was trying to load Term::ReadLine near that line, and I didn't have that installed in my development environment. Now that I have that installed, all send-email tests pass. Thanks again!