* [PATCH] test: Suppress some white space
@ 2025-06-09 18:06 eugene.loh
2025-06-13 14:10 ` Nick Alcock
0 siblings, 1 reply; 4+ messages in thread
From: eugene.loh @ 2025-06-09 18:06 UTC (permalink / raw)
To: dtrace, dtrace-devel
From: Eugene Loh <eugene.loh@oracle.com>
The test suite turns pointers into "{ptr}" so that results
comparisons will not be sensitive to particular pointer offset
values.
If these offsets change in width -- say, from 0xf0 to 0x100 --
the amount of white space in the postprocessed output can change.
Add additional postprocessing to a test that sometimes fails due
to this problem.
Signed-off-by: Eugene Loh <eugene.loh@oracle.com>
---
test/unittest/aggs/tst.ustack.r | 32 +++++++++++++++----------------
test/unittest/aggs/tst.ustack.r.p | 3 +++
2 files changed, 19 insertions(+), 16 deletions(-)
create mode 100755 test/unittest/aggs/tst.ustack.r.p
diff --git a/test/unittest/aggs/tst.ustack.r b/test/unittest/aggs/tst.ustack.r
index ed26cc5f3..271a0b30c 100644
--- a/test/unittest/aggs/tst.ustack.r
+++ b/test/unittest/aggs/tst.ustack.r
@@ -1,18 +1,18 @@
- ustack-tst-basic`myfunc_y+{ptr}
- ustack-tst-basic`myfunc_y
- ustack-tst-basic
- ustack-tst-basic`myfunc_y
+ ustack-tst-basic`myfunc_y+{ptr}
+ ustack-tst-basic`myfunc_y
+ ustack-tst-basic
+ ustack-tst-basic`myfunc_y
- ustack-tst-basic`myfunc_z+{ptr}
- ustack-tst-basic`myfunc_y+{ptr}
- ustack-tst-basic`myfunc_x+{ptr}
- ustack-tst-basic`myfunc_w+{ptr}
- ustack-tst-basic`myfunc_v+{ptr}
+ ustack-tst-basic`myfunc_z+{ptr}
+ ustack-tst-basic`myfunc_y+{ptr}
+ ustack-tst-basic`myfunc_x+{ptr}
+ ustack-tst-basic`myfunc_w+{ptr}
+ ustack-tst-basic`myfunc_v+{ptr}
- 97 ustack-tst-basic`myfunc_y+{ptr} ustack-tst-basic`myfunc_y ustack-tst-basic ustack-tst-basic`myfunc_y
- ustack-tst-basic`myfunc_z+{ptr}
- ustack-tst-basic`myfunc_y+{ptr}
- ustack-tst-basic`myfunc_x+{ptr}
- ustack-tst-basic`myfunc_w+{ptr}
- ustack-tst-basic`myfunc_v+{ptr}
- 4 1234
+ 97 ustack-tst-basic`myfunc_y+{ptr} ustack-tst-basic`myfunc_y ustack-tst-basic ustack-tst-basic`myfunc_y
+ ustack-tst-basic`myfunc_z+{ptr}
+ ustack-tst-basic`myfunc_y+{ptr}
+ ustack-tst-basic`myfunc_x+{ptr}
+ ustack-tst-basic`myfunc_w+{ptr}
+ ustack-tst-basic`myfunc_v+{ptr}
+ 4 1234
diff --git a/test/unittest/aggs/tst.ustack.r.p b/test/unittest/aggs/tst.ustack.r.p
new file mode 100755
index 000000000..16a0451c4
--- /dev/null
+++ b/test/unittest/aggs/tst.ustack.r.p
@@ -0,0 +1,3 @@
+#!/usr/bin/gawk -f
+
+{ gsub(/ +/, " "); print; }
--
2.43.5
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH] test: Suppress some white space 2025-06-09 18:06 [PATCH] test: Suppress some white space eugene.loh @ 2025-06-13 14:10 ` Nick Alcock 2025-06-23 20:33 ` Eugene Loh 0 siblings, 1 reply; 4+ messages in thread From: Nick Alcock @ 2025-06-13 14:10 UTC (permalink / raw) To: eugene.loh; +Cc: dtrace, dtrace-devel On 9 Jun 2025, eugene loh spake thusly: > From: Eugene Loh <eugene.loh@oracle.com> > > The test suite turns pointers into "{ptr}" so that results > comparisons will not be sensitive to particular pointer offset > values. > > If these offsets change in width -- say, from 0xf0 to 0x100 -- > the amount of white space in the postprocessed output can change. > > Add additional postprocessing to a test that sometimes fails due > to this problem. Hmm... this would work for this test, but maybe we should change the {ptr} substitution in runtest.sh itself so that it gets this right in the general case? Something like diff --git a/runtest.sh b/runtest.sh index 156e7dec8a1c3..c5703a81bc6d4 100755 --- a/runtest.sh +++ b/runtest.sh @@ -509,7 +509,7 @@ postprocess() # TODO: may need adjustment or making optional if scripts emit hex # values which are not continuously variable. - sed -e '/^==[0-9][0-9]*== /!s,0x[0-9a-f][0-9a-f]*,{ptr},g' \ + sed -e '/^==[0-9][0-9]*== /!s,0x[0-9a-f][0-9a-f]*\([ \t]*\),{ptr}\1,g' \ -e 's,at BPF pc [1-9][0-9]*,at BPF pc NNN,' < $tmpdir/pp.out > $final return $retval might work. (Obviously the lines would no longer line up, but the number of spaces would remain the same as they were before the substitution.) Lots and lots of expected results would need regenerating after this, of course... -- NULL && (void) ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] test: Suppress some white space 2025-06-13 14:10 ` Nick Alcock @ 2025-06-23 20:33 ` Eugene Loh 2025-07-22 13:41 ` Nick Alcock 0 siblings, 1 reply; 4+ messages in thread From: Eugene Loh @ 2025-06-23 20:33 UTC (permalink / raw) To: Nick Alcock; +Cc: dtrace, dtrace-devel On 6/13/25 10:10, Nick Alcock wrote: > On 9 Jun 2025, eugene loh spake thusly: > >> From: Eugene Loh <eugene.loh@oracle.com> >> >> The test suite turns pointers into "{ptr}" so that results >> comparisons will not be sensitive to particular pointer offset >> values. >> >> If these offsets change in width -- say, from 0xf0 to 0x100 -- >> the amount of white space in the postprocessed output can change. >> >> Add additional postprocessing to a test that sometimes fails due >> to this problem. > Hmm... this would work for this test, but maybe we should change the > {ptr} substitution in runtest.sh itself so that it gets this right in > the general case? > > Something like > > diff --git a/runtest.sh b/runtest.sh > index 156e7dec8a1c3..c5703a81bc6d4 100755 > --- a/runtest.sh > +++ b/runtest.sh > @@ -509,7 +509,7 @@ postprocess() > # TODO: may need adjustment or making optional if scripts emit hex > # values which are not continuously variable. > > - sed -e '/^==[0-9][0-9]*== /!s,0x[0-9a-f][0-9a-f]*,{ptr},g' \ > + sed -e '/^==[0-9][0-9]*== /!s,0x[0-9a-f][0-9a-f]*\([ \t]*\),{ptr}\1,g' \ > -e 's,at BPF pc [1-9][0-9]*,at BPF pc NNN,' < $tmpdir/pp.out > $final > > return $retval > > might work. (Obviously the lines would no longer line up, but the number > of spaces would remain the same as they were before the substitution.) > > Lots and lots of expected results would need regenerating after this, > of course... I agree that one can make a case for a broader change, but I'm not convinced that that would be the better way. FWIW, there were these two commits 6f398f229 test: Make tests more resilient to different prid widths 72a79b784 test: Improve resilience of tests to ptr widths that took the narrower, more tactical approach to such a problem. I vote for the expedient route: a "Reviewed-by" and we move on. But then, in this case, my vote doesn't count! ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] test: Suppress some white space 2025-06-23 20:33 ` Eugene Loh @ 2025-07-22 13:41 ` Nick Alcock 0 siblings, 0 replies; 4+ messages in thread From: Nick Alcock @ 2025-07-22 13:41 UTC (permalink / raw) To: Eugene Loh; +Cc: dtrace, dtrace-devel On 23 Jun 2025, Eugene Loh outgrape: > On 6/13/25 10:10, Nick Alcock wrote: > >> On 9 Jun 2025, eugene loh spake thusly: >> >>> From: Eugene Loh <eugene.loh@oracle.com> >>> >>> The test suite turns pointers into "{ptr}" so that results >>> comparisons will not be sensitive to particular pointer offset >>> values. >>> >>> If these offsets change in width -- say, from 0xf0 to 0x100 -- >>> the amount of white space in the postprocessed output can change. >>> >>> Add additional postprocessing to a test that sometimes fails due >>> to this problem. >> Hmm... this would work for this test, but maybe we should change the >> {ptr} substitution in runtest.sh itself so that it gets this right in >> the general case? >> >> Something like >> >> diff --git a/runtest.sh b/runtest.sh >> index 156e7dec8a1c3..c5703a81bc6d4 100755 >> --- a/runtest.sh >> +++ b/runtest.sh >> @@ -509,7 +509,7 @@ postprocess() >> # TODO: may need adjustment or making optional if scripts emit hex >> # values which are not continuously variable. >> - sed -e '/^==[0-9][0-9]*== /!s,0x[0-9a-f][0-9a-f]*,{ptr},g' \ >> + sed -e '/^==[0-9][0-9]*== /!s,0x[0-9a-f][0-9a-f]*\([ \t]*\),{ptr}\1,g' \ >> -e 's,at BPF pc [1-9][0-9]*,at BPF pc NNN,' < $tmpdir/pp.out > $final >> return $retval >> >> might work. (Obviously the lines would no longer line up, but the number >> of spaces would remain the same as they were before the substitution.) >> >> Lots and lots of expected results would need regenerating after this, >> of course... > > I agree that one can make a case for a broader change, but I'm not convinced that that would be the better way. FWIW, there were > these two commits > 6f398f229 test: Make tests more resilient to different prid widths > 72a79b784 test: Improve resilience of tests to ptr widths > that took the narrower, more tactical approach to such a problem. > > I vote for the expedient route: a "Reviewed-by" and we move on. But then, in this case, my vote doesn't count! I think doing the narrow approach for now makes sense, but doing the wider one makes more sense in future :) I tried and it's a nest of thorns, though, unlike hex number replacement there are many places where we don't want to totally ignore the amount of whitespace in use. So... Reviewed-by: Nick Alcock <nick.alcock@oracle.com> -- NULL && (void) ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-07-22 13:41 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-06-09 18:06 [PATCH] test: Suppress some white space eugene.loh 2025-06-13 14:10 ` Nick Alcock 2025-06-23 20:33 ` Eugene Loh 2025-07-22 13:41 ` Nick Alcock
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox