[llvm-lit] Add REQUIRES: shell to BOLT permission test for lit internal shell (#103012)

This patch adds the `REQUIRES: shell` directive to the BOLT permission
test to ensure it only runs in environments with a full-featured
Unix-like shell. This change is necessary because the test relies on
advanced shell capabilities that are not supported by lit's internal
shell.

**Reasoning:** The BOLT permission test uses features like running
commands in the background with `&`, performing arithmetic operations,
and handling special number formats (octal). These features require a
more capable shell than what lit's internal shell provides. Without a
proper shell, the test could fail or behave unpredictably.

This change is relevant for enabling the lit internal shell by default,
as outlined in [[RFC] Enabling the Lit Internal Shell by
Default](https://discourse.llvm.org/t/rfc-enabling-the-lit-internal-shell-by-default/80179)
This commit is contained in:
Harini0924 2024-08-13 19:58:59 -07:00 committed by GitHub
parent e9f6deaa8f
commit 4f5d866af7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -4,7 +4,7 @@
# This test performs a logical AND operation on the results of the `stat -c %a # This test performs a logical AND operation on the results of the `stat -c %a
# %t.bolt` and `umask` commands (both results are displayed in octal), and # %t.bolt` and `umask` commands (both results are displayed in octal), and
# checks whether the result is equal to 0. # checks whether the result is equal to 0.
REQUIRES: system-linux REQUIRES: shell, system-linux
RUN: %clang %cflags %p/Inputs/hello.c -o %t -Wl,-q RUN: %clang %cflags %p/Inputs/hello.c -o %t -Wl,-q
RUN: llvm-bolt %t -o %t.bolt RUN: llvm-bolt %t -o %t.bolt