[PATCH] JDK-8025886: Replace [[ and == bash extensions in tests

Sergei Ustimenko merkel05 at gmail.com
Wed Dec 19 19:03:43 UTC 2018


HI Martin,

As you've suggested I've simply added bash's shebang.
It wouldn't add any problem since, as David have mentioned,
no bash - no build. I've also quickly checked for similar cases
and found one.

An updated patch is below.

diff --git
a/test/jdk/sun/management/jmxremote/bootstrap/GeneratePropertyPassword.sh
b/test/jdk/sun/management/jmxremote/bootstrap/GeneratePropertyPassword.sh
---
a/test/jdk/sun/management/jmxremote/bootstrap/GeneratePropertyPassword.sh
+++
b/test/jdk/sun/management/jmxremote/bootstrap/GeneratePropertyPassword.sh
@@ -1,3 +1,5 @@
+#!/bin/bash
+
 #
 # Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights
reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.


Regards,
Sergei

On Mon, 10 Dec 2018 at 22:27, Martin Buchholz <martinrb at google.com> wrote:

> I don't know if there's an official policy on how ultra-portable tests are
> supposed to be.  In practice, you probably won't be able to build openjdk
> on a system without bash.
>
> On Mon, Dec 10, 2018 at 1:12 PM Sergei Ustimenko <merkel05 at gmail.com>
> wrote:
>
>> Hi Martin,
>>
>> That sounds good!
>>
>> I've counted all the sh-shebangs and it appears that
>> there are at least 66 of them inside the test/ directory,
>> where only 12 bashes.
>>
>> I've also ran the search  in order to identify all the
>> occurrences that use either [[ or == and found only
>> three of them that use "==". That one for example:
>>
>> http://hg.openjdk.java.net/jdk/sandbox/file/f94276ccc9fc/test/hotspot/jtreg/vmTestbase/jit/tiered/tieredTest.sh#l63
>> of course `dash` reports failure in that case.
>>
>> So I'm quite hesitant in that case and not really sure
>> what to do. I haven't also found any existent JBS ticket
>> for such /bin/sh => /bin/bash a replacement.
>>
>> So any advise in this case would be appreciated!
>>
>> Regards,
>> Sergei
>>
>> On Mon, 10 Dec 2018 at 18:32, Martin Buchholz <martinrb at google.com>
>> wrote:
>>
>>> I would not try to remove all bash-isms from openjdk. Instead I would
>>> find instances of /bin/sh that need to be changed to /bin/bash.
>>>
>>> (Ubuntu's use of /bin/sh -> /bin/dash is technically correct, but caused
>>> much suffering
>>> https://bugs.launchpad.net/ubuntu/+source/dash/+bug/61463
>>> )
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20181219/6c202055/attachment.html>


More information about the serviceability-dev mailing list