[DTrace-devel] [PATCH] test: Fix post processing of return-action override-pid tests
Kris Van Hees
kris.van.hees at oracle.com
Wed Aug 6 18:18:30 UTC 2025
On Tue, Aug 05, 2025 at 02:12:21PM -0400, eugene.loh at oracle.com wrote:
> From: Eugene Loh <eugene.loh at oracle.com>
>
> In commit ee8c066e8 ("rawfbt: selectively allow return() in clauses"),
> tests were introduced to check that return values are overwritten. A
> pid check value is output and used to facilitate comparisons to a .r
> results file.
>
> The post processing logic was flawed in two respects:
>
> 1 The check value was being pulled from the "01" entry. Therefore,
> the "00" entry, typically appearing first, would not be converted.
>
> 2 Values were not sorted. Sometimes this means the disorder just
> described would be avoided and the test would pass. Mostly,
> it means that behavior can be erratic.
>
> Sort results and use the "00" pid value for converting test results.
> Add $dt_flags to the $dtrace line while we're at it.
>
> Signed-off-by: Eugene Loh <eugene.loh at oracle.com>
Reviewed-by: Kris Van Hees <kris.van.hees at oracle.com>
Not sure what happened - other than that I must have forgotten to add the
corrected .r.p files because I did notice this issue and thought I had
committed the fix for it. Oh well...
> ---
> test/unittest/actions/return/tst.override-getpid-entry.r.p | 2 +-
> test/unittest/actions/return/tst.override-getpid-entry.sh | 4 ++--
> test/unittest/actions/return/tst.override-getpid-return.r.p | 2 +-
> test/unittest/actions/return/tst.override-getpid-return.sh | 4 ++--
> 4 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/test/unittest/actions/return/tst.override-getpid-entry.r.p b/test/unittest/actions/return/tst.override-getpid-entry.r.p
> index c838391a4..1a9b7b1bf 100755
> --- a/test/unittest/actions/return/tst.override-getpid-entry.r.p
> +++ b/test/unittest/actions/return/tst.override-getpid-entry.r.p
> @@ -4,7 +4,7 @@ BEGIN {
> mypid = -1
> }
>
> -/^01 [1-9][0-9]*$/ {
> +/^00 pid is [1-9][0-9]*$/ {
> mypid = $NF;
> }
>
> diff --git a/test/unittest/actions/return/tst.override-getpid-entry.sh b/test/unittest/actions/return/tst.override-getpid-entry.sh
> index 2282305e7..d9436a532 100755
> --- a/test/unittest/actions/return/tst.override-getpid-entry.sh
> +++ b/test/unittest/actions/return/tst.override-getpid-entry.sh
> @@ -38,7 +38,7 @@ fi
>
> # Trace the trigger. On the 2nd and 5th getpid() calls, modify the result.
>
> -$dtrace -c ./a.out -w -q -n '
> +$dtrace $dt_flags -c ./a.out -w -q -n '
> BEGIN {
> printf("00 pid is %d\n", $target);
> n = 0;
> @@ -58,6 +58,6 @@ rawfbt:vmlinux:__*_sys_getpid:entry
> {
> return(55555);
> }
> -'
> +' | sort
>
> exit $?
> diff --git a/test/unittest/actions/return/tst.override-getpid-return.r.p b/test/unittest/actions/return/tst.override-getpid-return.r.p
> index c838391a4..1a9b7b1bf 100755
> --- a/test/unittest/actions/return/tst.override-getpid-return.r.p
> +++ b/test/unittest/actions/return/tst.override-getpid-return.r.p
> @@ -4,7 +4,7 @@ BEGIN {
> mypid = -1
> }
>
> -/^01 [1-9][0-9]*$/ {
> +/^00 pid is [1-9][0-9]*$/ {
> mypid = $NF;
> }
>
> diff --git a/test/unittest/actions/return/tst.override-getpid-return.sh b/test/unittest/actions/return/tst.override-getpid-return.sh
> index 078d68a4a..835e443dd 100755
> --- a/test/unittest/actions/return/tst.override-getpid-return.sh
> +++ b/test/unittest/actions/return/tst.override-getpid-return.sh
> @@ -38,7 +38,7 @@ fi
>
> # Trace the trigger. On the 2nd and 5th getpid() calls, modify the result.
>
> -$dtrace -c ./a.out -w -q -n '
> +$dtrace $dt_flags -c ./a.out -w -q -n '
> BEGIN {
> printf("00 pid is %d\n", $target);
> n = 0;
> @@ -58,6 +58,6 @@ rawfbt:vmlinux:__*_sys_getpid:return
> {
> return(55555);
> }
> -'
> +' | sort
>
> exit $?
> --
> 2.43.5
>
More information about the DTrace-devel
mailing list