8205054: Could not find "lsof" on test machine
Leo Korinth
leo.korinth at oracle.com
Fri Jun 15 09:37:39 UTC 2018
Hi David,
Thanks for the input, it makes the test case _much_ better.
Unfortunately it is easy to get blind when you are in a hurry and
responsible for a failing test case. It is of course much better to look
for the command at start.
New output:
STDOUT:
Could not find lsof like command
Exit test case as successful though it could not verify anything
STDERR:
JavaTest Message: Test complete.
Webrev:
http://cr.openjdk.java.net/~lkorinth/8205054/01_02/ (incremental)
http://cr.openjdk.java.net/~lkorinth/8205054/02/ (full)
Testing:
Tested on my GNU/Linux machine and currently running a mach5 test
(mostly for verifying the windows part)
Thanks,
Leo
On 15/06/18 10:40, David Holmes wrote:
> Hi Leo,
>
> Inine ...
>
> On 15/06/2018 6:06 PM, Leo Korinth wrote:
>> Hi David.
>>
>> On 15/06/18 04:08, David Holmes wrote:
>>> Sorry after doing more testing and looking at the output I think we
>>> need to do better. For a machine with no lsof we see:
>>>
>>> using command: <not found>
>
> That looks like an error ...
>
>>> (Second VM) Open file descriptors:
>>>
>>> using command: <not found>
>
> That looks like an error too - but why did we keep going after the first
> error?
>>> (Third VM) Open file descriptors:
>>>
>>> VM RESULT => RETAINS FD
>>> VM RESULT => VM EXIT
>>>
>>> Log file was not inherited by third VM
>
> But that's not true - we couldn't determine anything! So this looks like
> an accidental pass rather than an deliverate skip.
>
>>> ---
>>>
>>> That looks like an error is occurring to me and that we pass by
>>> accident. I think we need to terminate the test, cleanly of course,
>>> as soon as we can't find the tool and report that the test can't run
>>> because of that.
>>>
>>> Thanks,
>>> David
>>
>> I could change the output to "using command: <not found, terminating
>> test as successful as we can not finish it in a meaningful way>" or
>> maybe something else that you prefer that is better.
>>
>> I do believe this is the easy way to terminate the test cleanly
>> without leaving running JVMs. We need to communicate back to the first
>> JVM that the test was successful. Is it the string "<not found>" that
>> looks like an error and that we pass by accident? Or is it something
>> in the test case code that looks fishy?
>
> See above.
>
> I'd suggest locating the command as one of the first things in the test
> in the first VM and then bail out if not found.
>
> Thanks,
> David
> ------
>
>> Or maybe the comment should be improved?
>> // if command can not be found return list without log file (some
>> machines does not have "lsof" in the expected place). (add this->)The
>> empty list will make the test exit successfully.(<-add this)
>>
>>> On 15/06/2018 11:21 AM, David Holmes wrote:
>>>> Hi Leo,
>>>>
>>>> This is what I was concerned about - and yes the CI testing did
>>>> shake it out in a few cycles.
>>>>
>>>> I agree with the fix and will sponsor it for you.
>>
>> Thanks David.
>> /Leo
>>
>>>>
>>>> Thanks,
>>>> David
>>>>
>>>> On 15/06/2018 3:31 AM, Leo Korinth wrote:
>>>>>
>>>>>
>>>>> On 14/06/18 19:10, Lindenmaier, Goetz wrote:
>>>>>> Hi Leo,
>>>>>>
>>>>>> the fix looks good. It makes sense to skip a test if the
>>>>>> infrastructure is
>>>>>> insufficient to run it.
>>>>>>
>>>>>> Could you please put the long comment at the end of line 179
>>>>>> into a line of it's own?
>>>>>
>>>>> Fixed
>>>>>
>>>>>> Also, please take the chance and move the Copyright message
>>>>>> to the beginning of the file.
>>>>>
>>>>> Fixed
>>>>>
>>>>>> Best regards,
>>>>>> Goetz.
>>>>>>
>>>>>
>>>>> Thanks for the fast review; I need a second reviewer and someone to
>>>>> help me push (I am not a commiter).
>>>>>
>>>>> New webrevs:
>>>>> http://cr.openjdk.java.net/~lkorinth/8205054/00_01/ (incremental)
>>>>> http://cr.openjdk.java.net/~lkorinth/8205054/01/ (full)
>>>>>
>>>>> Thanks,
>>>>> Leo
>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: hotspot-runtime-dev [mailto:hotspot-runtime-dev-
>>>>>>> bounces at openjdk.java.net] On Behalf Of Leo Korinth
>>>>>>> Sent: Donnerstag, 14. Juni 2018 18:55
>>>>>>> To: Hotspot dev runtime <hotspot-runtime-dev at openjdk.java.net>
>>>>>>> Subject: RFR: 8205054: Could not find "lsof" on test machine
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> Unfortunately some test machines does not have "lsof" installed,
>>>>>>> or it
>>>>>>> can not be found.
>>>>>>>
>>>>>>> I do not know how to find "lsof" on the test machine where the test
>>>>>>> fails; the command might not be installed. Here is a fix to make the
>>>>>>> test case succeed if "lsof" can not be found. I believe it is the
>>>>>>> best
>>>>>>> option (at least for now). I am sorry for all the noise I am
>>>>>>> generating.
>>>>>>>
>>>>>>> Bug:
>>>>>>> https://bugs.openjdk.java.net/browse/JDK-8205054
>>>>>>>
>>>>>>> Webrev:
>>>>>>> http://cr.openjdk.java.net/~lkorinth/8205054/00/
>>>>>>>
>>>>>>> Testing:
>>>>>>> I have tested this on my machine, and I have a mach5 test job
>>>>>>> running.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Leo
More information about the hotspot-runtime-dev
mailing list