tools/testing/selftests/run_kselftest.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)
'realpath' is not always available, fallback to 'readlink -f' if is not
available. They seem to work equally well in this context.
Signed-off-by: Yosry Ahmed <yosry.ahmed@linux.dev>
---
tools/testing/selftests/run_kselftest.sh | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/tools/testing/selftests/run_kselftest.sh b/tools/testing/selftests/run_kselftest.sh
index 50e03eefe7ac7..0443beacf3621 100755
--- a/tools/testing/selftests/run_kselftest.sh
+++ b/tools/testing/selftests/run_kselftest.sh
@@ -3,7 +3,14 @@
#
# Run installed kselftest tests.
#
-BASE_DIR=$(realpath $(dirname $0))
+
+# Fallback to readlink if realpath is not available
+if which realpath > /dev/null; then
+ BASE_DIR=$(realpath $(dirname $0))
+else
+ BASE_DIR=$(readlink -f $(dirname $0))
+fi
+
cd $BASE_DIR
TESTS="$BASE_DIR"/kselftest-list.txt
if [ ! -r "$TESTS" ] ; then
--
2.49.0.rc1.451.g8f38331e32-goog
On 3/18/25 10:05, Yosry Ahmed wrote: > 'realpath' is not always available, fallback to 'readlink -f' if is not > available. They seem to work equally well in this context. Can you add more specifics on "realpath" is not always available," No issues with the patch itself. I would like to know the cases where "realpath" command is missing. > > Signed-off-by: Yosry Ahmed <yosry.ahmed@linux.dev> > --- > tools/testing/selftests/run_kselftest.sh | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/run_kselftest.sh b/tools/testing/selftests/run_kselftest.sh > index 50e03eefe7ac7..0443beacf3621 100755 > --- a/tools/testing/selftests/run_kselftest.sh > +++ b/tools/testing/selftests/run_kselftest.sh > @@ -3,7 +3,14 @@ > # > # Run installed kselftest tests. > # > -BASE_DIR=$(realpath $(dirname $0)) > + > +# Fallback to readlink if realpath is not available > +if which realpath > /dev/null; then > + BASE_DIR=$(realpath $(dirname $0)) > +else > + BASE_DIR=$(readlink -f $(dirname $0)) > +fi > + > cd $BASE_DIR > TESTS="$BASE_DIR"/kselftest-list.txt > if [ ! -r "$TESTS" ] ; then thanks, -- Shuah
March 28, 2025 at 10:05 PM, "Shuah Khan" <skhan@linuxfoundation.org> wrote: > > On 3/18/25 10:05, Yosry Ahmed wrote: > > > 'realpath' is not always available, fallback to 'readlink -f' if is not > > available. They seem to work equally well in this context. > > Can you add more specifics on "realpath" is not always available," > No issues with the patch itself. I would like to know the cases > where "realpath" command is missing. Not all distros have realpath. In my case, it was an internal distro we use on some test machines, so I can't really share much details about it. Thanks. > > > > Signed-off-by: Yosry Ahmed <yosry.ahmed@linux.dev> > > --- > > tools/testing/selftests/run_kselftest.sh | 9 ++++++++- > > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/run_kselftest.sh b/tools/testing/selftests/run_kselftest.sh > > index 50e03eefe7ac7..0443beacf3621 100755 > > --- a/tools/testing/selftests/run_kselftest.sh > > +++ b/tools/testing/selftests/run_kselftest.sh > > @@ -3,7 +3,14 @@ > > # > > # Run installed kselftest tests. > > # > > -BASE_DIR=$(realpath $(dirname $0)) > > + > > +# Fallback to readlink if realpath is not available > > +if which realpath > /dev/null; then > > + BASE_DIR=$(realpath $(dirname $0)) > > +else > > + BASE_DIR=$(readlink -f $(dirname $0)) > > +fi > > + > > cd $BASE_DIR > > TESTS="$BASE_DIR"/kselftest-list.txt > > if [ ! -r "$TESTS" ] ; then > > thanks, > > -- Shuah >
© 2016 - 2025 Red Hat, Inc.