git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: $PATH pollution and t9902-completion.sh

From
Torsten Bögershausen <tboegi@web.de>
Date
Dec 20, 2012, 17:25 UTC
Message-ID
<50D349F9.9030100@web.de>
In-Reply-To
<CAOkDyE-J7sTJ-GefhteP1wy7WorqTRnj5nn0k6hd1dp0VJz5iQ@mail.gmail.com>
On 20.12.12 16:13, Adam Spiers wrote:
Show 36 quoted lines
> On Thu, Dec 20, 2012 at 2:55 PM, Jeff King <peff@peff.net> wrote:
>> On Mon, Dec 17, 2012 at 01:05:38AM +0000, Adam Spiers wrote:
>>> t/t9902-completion.sh is currently failing for me because I happen to
>>> have a custom shell-script called git-check-email in ~/bin, which is
>>> on my $PATH.  This is different to a similar-looking case reported
>>> recently, which was due to an unclean working tree:
>>>
>>>   http://thread.gmane.org/gmane.comp.version-control.git/208085
>>>
>>> It's not unthinkable that in the future other tests could break for
>>> similar reasons.  Therefore it would be good to sanitize $PATH in the
>>> test framework so that it cannot destabilize tests, although I am
>>> struggling to think of a good way of doing this.  Naively stripping
>>> directories under $HOME would not protect against git "plugins" such
>>> as the above being installed into places like /usr/bin.  Thoughts?
>>
>> I've run into this, too. I think sanitizing $PATH is the wrong approach.
>> The real problem is that the test is overly picky. Right now it is
>> failing because you happen to have "check-email" in your $PATH, but it
>> will also need to be adjusted when a true "check-email" command is added
>> to git.
>>
>> I can think of two other options:
>>
>>   1. Make the test input more specific (e.g., looking for "checkou").
>>      This doesn't eliminate the problem, but makes it less likely
>>      to occur.
>>
>>   2. Loosen the test to look for the presence of "checkout", but not
>>      fail when other items are present. Bonus points if it makes sure
>>      that everything returned starts with "check".
>>
>> I think (2) is the ideal solution in terms of behavior, but writing it
>> may be more of a pain.
> 
> I agree with all your points.  Thanks for the suggestions.
I volonteer for 1) (and we got for 2) later)
Previous: Adam SpiersNext: Junio C Hamano
Message 4 of 10 in “$PATH pollution and t9902-completion.sh”
  1. Adam SpiersDec 17, 2012
  2. Jeff KingDec 20, 2012
  3. Adam SpiersDec 20, 2012
  4. Torsten BögershausenDec 20, 2012
  5. Junio C HamanoDec 20, 2012
  6. Junio C HamanoDec 20, 2012
  7. Jeff KingDec 20, 2012
  8. Torsten BögershausenDec 20, 2012
  9. Junio C HamanoDec 20, 2012
  10. Jeff KingDec 20, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.