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

Martin Buchholz martinrb at google.com
Wed Dec 19 19:22:41 UTC 2018


Did we really have shell scripts without a shebang line?
Yeah, let's fix !

On Wed, Dec 19, 2018 at 11:03 AM Sergei Ustimenko <merkel05 at gmail.com>
wrote:

> 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/430e8988/attachment.html>


More information about the serviceability-dev mailing list