Subject: Re: bug#29187: flymake ruby and perl tests fail on rhel7.4

From: Glenn Morris <[email-masked]>
Date: Tue, 07 Nov 2017 14:02:23 -0500

João Távora wrote:

> This is bizarre, because I did manage to reproduce and fix, on a
> separate Ubuntu machine I have access to, one of the errors that you
> had, Glenn, and that was indeed due to the extra diagnostic line
> produced by your perl.
>
> But I don't get any differences between interactive and non-interactive
> cases and I can't understand how your test run could possibly have
> succeeded interactively since it produces that same extra line.

There's no difference between the interactive and non-interactive case
for me with the Perl test (I don't think I said there was?).

> and non-interactively (make check also works, obviuosly)
>
>    $ src/emacs -Q --eval "(setq load-prefer-newer t)" -l test/lisp/progmodes/flymake-tests.el --batch --eval "(ert-run-tests-batch-and-exit \"\")"

This is not equivalent to make check, which sets HOME=/nonexistent.
Indeed that is the cause of the issue for me:

HOME=/nonexistent ruby -wc test/lisp/progmodes/flymake-resources/test.rb 

fails with a ruby error:

/usr/share/rubygems/rubygems/path_support.rb:68:in `path=': undefined
method `+' for nil:NilClass (NoMethodError)
       from /usr/share/rubygems/rubygems/path_support.rb:30:in `initialize'

I don't use ruby and have no idea if this is normal.

> Now Glenn, can you try those 2 tests again after applying this patch to
> flymake-tests.el? The first part should theoretically fix your perl
> failure 

It does, thanks.