[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [FYI] {maint} tests: avoid spurious failure of 't/uninstall-fail.sh'
From: |
Stefano Lattarini |
Subject: |
Re: [FYI] {maint} tests: avoid spurious failure of 't/uninstall-fail.sh' on OpenIndiana |
Date: |
Tue, 07 Aug 2012 17:17:51 +0200 |
On 08/06/2012 02:56 PM, Eric Blake wrote:
> On 08/04/2012 12:15 PM, Stefano Lattarini wrote:
>> On current OpenIndiana (based on what once was OpenSolaris 11), the shell
>> /bin/sh (which, differently from what happens on Solaris, is a true POSIX
>> shell, thus worthy of consideration) somehow manages to "eat" the
>> error message from 'rm' when that fails to remove a file due to lacking
>> permission on the parent directory:
>>
>> $ /bin/sh -c "cd unwritable-dir || { echo OOPS; exit 1; }; rm -f foo"
>> $ echo rc = $?
>> rc = 1
>> $ /bin/bash -c "cd unwritable-dir || { echo OOPS; exit 1; }; rm -f foo"
>> rm: foo not removed: Permission denied
>> $ echo rc = $?
>> rc = 2
>> $ /bin/sh -c "cd unwritable-dir || { echo OOPS; exit 1; }; env rm -f foo"
>> rm: foo not removed: Permission denied
>> $ echo rc = $?
>> rc = 2
>>
>> That is probably due to an improper optimization, that is, the shell tries
>> to be smart and remove the file itself instead of invoking 'rm', but fails
>> spectacularly in the attempt.
>
> Oh my. Probably worth documenting in autoconf's list of shell
> programming pitfalls.
>
Or even better, considering that OpenIndiana is quite a young and moving
target, this bug could be reported to them, and hopefully fixed early ...
Regards,
Stefano