From: Kris Van Hees <kris.van.hees@oracle.com>
To: dtrace@lists.linux.dev, dtrace-devel@oss.oracle.com
Subject: [PATCH 19/20] test: fix modpath test
Date: Fri, 30 Oct 2026 19:37:04 +0000 [thread overview]
Message-ID: <48eb9d0eb1ac2856fe443912ec9a335a@oracle.com> (raw)
The empty CTF case was failing because BTF was still providing the types
needed through the BTF-to-CTF conversion fallback.
Signed-off-by: Kris Van Hees <kris.van.hees@oracle.com>
---
test/unittest/options/tst.modpath.sh | 35 +++++++++++++---------------
1 file changed, 16 insertions(+), 19 deletions(-)
diff --git a/test/unittest/options/tst.modpath.sh b/test/unittest/options/tst.modpath.sh
index 7060a716..b9d92e8a 100755
--- a/test/unittest/options/tst.modpath.sh
+++ b/test/unittest/options/tst.modpath.sh
@@ -1,7 +1,7 @@
#!/bin/bash
#
# Oracle Linux DTrace.
-# Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2023, 2026, Oracle and/or its affiliates. All rights reserved.
# Licensed under the Universal Permissive License v 1.0 as shown at
# http://oss.oracle.com/licenses/upl.
#
@@ -11,6 +11,8 @@ dtrace=$1
DIRNAME="$tmpdir/modpath.$$.$RANDOM"
mkdir -p $DIRNAME
cd $DIRNAME
+# Exercise CTF archive lookup without falling back to BTF.
+dt_flags="$dt_flags -xbtfpath=none"
# Create the directory where the CTF archive will end up.
mkdir -p mydirectory/kernel
@@ -25,11 +27,14 @@ else
echo basic check on DTrace passed
fi
-# Verify that modpath directs us to the (empty) directory, with no CTF info.
-$dtrace $dt_flags -xmodpath=mydirectory -lvP rawtp > empty.out
-if [ $? -ne 0 ]; then
- echo ERROR: empty check on DTrace failed
- cat empty.out
+# Without CTF or BTF, listing rawtp probes must fail with missing type data.
+if $dtrace $dt_flags -xmodpath=mydirectory -lvP rawtp > empty.out 2> empty.err; then
+ echo ERROR: empty check on DTrace unexpectedly succeeded
+ cat empty.out empty.err
+ exit 1
+elif ! grep -Fq 'No type data (CTF or BTF) found for vmlinux' empty.err; then
+ echo ERROR: empty check on DTrace failed for an unexpected reason
+ cat empty.out empty.err
exit 1
else
echo empty check on DTrace passed
@@ -49,30 +54,22 @@ else
fi
# Check the amount of CTF info we got from each run by seeing how many
-# rawtp args have non-trivial type info. While nempty should be 0,
-# nbasic and nfinal should be substantial and likely identical (but
-# we allow a generous tolerance).
+# rawtp args have non-trivial type info. Both nbasic and nfinal should be
+# substantial and likely identical (but we allow a generous tolerance).
nbasic=`gawk '/^[ ]*args\[/ && !/uint64_t/ && !/void \*/' basic.out | wc -l`
-nempty=`gawk '/^[ ]*args\[/ && !/uint64_t/ && !/void \*/' empty.out | wc -l`
nfinal=`gawk '/^[ ]*args\[/ && !/uint64_t/ && !/void \*/' final.out | wc -l`
-if [ $nempty -ne 0 ]; then
- echo ERROR: empty check turned up some CTF info
- cat empty.out
- echo got nbasic $nbasic nempty $nempty nfinal $nfinal
- exit 1
-fi
if [ $nbasic -lt 1000 ]; then
echo ERROR: basic check turned up little CTF info
cat basic.out
- echo got nbasic $nbasic nempty $nempty nfinal $nfinal
+ echo got nbasic $nbasic nfinal $nfinal
exit 1
fi
if [ $nfinal -lt 1000 ]; then
echo ERROR: final check turned up little CTF info
cat final.out
- echo got nbasic $nbasic nempty $nempty nfinal $nfinal
+ echo got nbasic $nbasic nfinal $nfinal
exit 1
fi
if [ $nbasic -gt $(($nfinal + 200)) -o $nfinal -gt $((nbasic + 200)) ]; then
@@ -81,7 +78,7 @@ if [ $nbasic -gt $(($nfinal + 200)) -o $nfinal -gt $((nbasic + 200)) ]; then
cat basic.out
echo ==== final.out:
cat final.out
- echo got nbasic $nbasic nempty $nempty nfinal $nfinal
+ echo got nbasic $nbasic nfinal $nfinal
exit 1
fi
--
2.52.0
next reply other threads:[~2026-10-30 19:38 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-30 19:37 Kris Van Hees [this message]
2026-11-06 13:40 ` [PATCH 19/20] test: fix modpath test Nick Alcock
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=48eb9d0eb1ac2856fe443912ec9a335a@oracle.com \
--to=kris.van.hees@oracle.com \
--cc=dtrace-devel@oss.oracle.com \
--cc=dtrace@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.