Message ID | 20240116090455.3407378-1-usama.anjum@collabora.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | selftests/mm: switch to bash from sh | expand |
From: Muhammad Usama Anjum > Sent: 16 January 2024 09:05 > > Running charge_reserved_hugetlb.sh generates errors if sh is set to > dash: > > /charge_reserved_hugetlb.sh: 9: [[: not found > /charge_reserved_hugetlb.sh: 19: [[: not found > /charge_reserved_hugetlb.sh: 27: [[: not found > /charge_reserved_hugetlb.sh: 37: [[: not found > /charge_reserved_hugetlb.sh: 45: Syntax error: "(" unexpected > > Switch to using /bin/bash instead of /bin/sh. Make the switch for > write_hugetlb_memory.sh as well which is called from > charge_reserved_hugetlb.sh. Why not just fix the script? Looks like most of the [[ ... ]] could be [ ... ] although some might need to be [ -n "$cgroup2" ]. The delete the 'function' keyword another bash-ism. It's not as though you are trying to run on a system when /bin/sh is a traditional (aka non-posix) bourne shell. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)
On 1/16/24 9:52 PM, David Laight wrote: > From: Muhammad Usama Anjum >> Sent: 16 January 2024 09:05 >> >> Running charge_reserved_hugetlb.sh generates errors if sh is set to >> dash: >> >> /charge_reserved_hugetlb.sh: 9: [[: not found >> /charge_reserved_hugetlb.sh: 19: [[: not found >> /charge_reserved_hugetlb.sh: 27: [[: not found >> /charge_reserved_hugetlb.sh: 37: [[: not found >> /charge_reserved_hugetlb.sh: 45: Syntax error: "(" unexpected >> >> Switch to using /bin/bash instead of /bin/sh. Make the switch for >> write_hugetlb_memory.sh as well which is called from >> charge_reserved_hugetlb.sh. > > Why not just fix the script? The Bash is being used in all or most of the selftests. I'd seen other similar [1][2] patches floating around which are converting /bin/sh (pointing to dash) to /bin/bash. [1] https://lore.kernel.org/linux-kselftest/20240110141436.157419-2-bpoirier@nvidia.com/ [2] https://lore.kernel.org/linux-kselftest/20231229131931.3961150-1-yujie.liu@intel.com/ > Looks like most of the [[ ... ]] could be [ ... ] > although some might need to be [ -n "$cgroup2" ]. > The delete the 'function' keyword another bash-ism. > > It's not as though you are trying to run on a system > when /bin/sh is a traditional (aka non-posix) bourne shell. > > David > > - > Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK > Registration No: 1397386 (Wales) > >
diff --git a/tools/testing/selftests/mm/charge_reserved_hugetlb.sh b/tools/testing/selftests/mm/charge_reserved_hugetlb.sh index 0899019a7fcb..e14bdd4455f2 100755 --- a/tools/testing/selftests/mm/charge_reserved_hugetlb.sh +++ b/tools/testing/selftests/mm/charge_reserved_hugetlb.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # SPDX-License-Identifier: GPL-2.0 # Kselftest framework requirement - SKIP code is 4. diff --git a/tools/testing/selftests/mm/write_hugetlb_memory.sh b/tools/testing/selftests/mm/write_hugetlb_memory.sh index 70a02301f4c2..3d2d2eb9d6ff 100755 --- a/tools/testing/selftests/mm/write_hugetlb_memory.sh +++ b/tools/testing/selftests/mm/write_hugetlb_memory.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # SPDX-License-Identifier: GPL-2.0 set -e
Running charge_reserved_hugetlb.sh generates errors if sh is set to dash: ./charge_reserved_hugetlb.sh: 9: [[: not found ./charge_reserved_hugetlb.sh: 19: [[: not found ./charge_reserved_hugetlb.sh: 27: [[: not found ./charge_reserved_hugetlb.sh: 37: [[: not found ./charge_reserved_hugetlb.sh: 45: Syntax error: "(" unexpected Switch to using /bin/bash instead of /bin/sh. Make the switch for write_hugetlb_memory.sh as well which is called from charge_reserved_hugetlb.sh. Signed-off-by: Muhammad Usama Anjum <usama.anjum@collabora.com> --- tools/testing/selftests/mm/charge_reserved_hugetlb.sh | 2 +- tools/testing/selftests/mm/write_hugetlb_memory.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)