From: Kris Van Hees <kris.van.hees@oracle.com>
To: eugene.loh@oracle.com
Cc: dtrace@lists.linux.dev, dtrace-devel@oss.oracle.com
Subject: Re: [PATCH 16/22] test: Fix the speculative tests that checked bufsize
Date: Sat, 14 Sep 2024 14:00:59 -0400 [thread overview]
Message-ID: <ZuXPW/seDQJv2dt4@oracle.com> (raw)
In-Reply-To: <20240829052219.3234-16-eugene.loh@oracle.com>
On Thu, Aug 29, 2024 at 01:22:13AM -0400, eugene.loh@oracle.com wrote:
> From: Eugene Loh <eugene.loh@oracle.com>
>
> Ever since speculations were reimplemented, these tests simply were
> not testing what they claimed to test. Among other things:
>
> 1) There is a simple dependence on bufsize that is independent of
> speculations. So speculations have no special role in bufsize tests.
>
> 2) The messages in the print statements were not taxing bufsize.
> (A single default string would be enough to exhaust 60 bytes, but
> the producer wasn't passing the consumer these strings at all.
> The bufsize is being set by the implicit ERROR probe.)
>
> 3) The various size ranges described in the comments do not exist
> and were not being tested anyhow.
>
> So remove these tests, and just rely on the other bufsize tests.
>
> To be fair, there seemed to have been no other "negative bufsize"
> test, but add a more straightforward such test and add it to where
> the other bufsize tests are.
>
> Signed-off-by: Eugene Loh <eugene.loh@oracle.com>
Reviewed-by: Kris Van Hees <kris.van.hees@oracle.com>
> ---
> test/unittest/options/err.bufsize-negative.d | 24 +++++++
> test/unittest/options/err.bufsize-negative.r | 2 +
> .../speculation/err.BufSizeVariations1.d | 67 -------------------
> .../speculation/err.BufSizeVariations2.d | 67 -------------------
> .../speculation/err.NegativeBufSize.d | 67 -------------------
> .../speculation/err.NegativeBufSize.r | 2 -
> 6 files changed, 26 insertions(+), 203 deletions(-)
> create mode 100644 test/unittest/options/err.bufsize-negative.d
> create mode 100644 test/unittest/options/err.bufsize-negative.r
> delete mode 100644 test/unittest/speculation/err.BufSizeVariations1.d
> delete mode 100644 test/unittest/speculation/err.BufSizeVariations2.d
> delete mode 100644 test/unittest/speculation/err.NegativeBufSize.d
> delete mode 100644 test/unittest/speculation/err.NegativeBufSize.r
>
> diff --git a/test/unittest/options/err.bufsize-negative.d b/test/unittest/options/err.bufsize-negative.d
> new file mode 100644
> index 00000000..ac194dc8
> --- /dev/null
> +++ b/test/unittest/options/err.bufsize-negative.d
> @@ -0,0 +1,24 @@
> +/*
> + * Oracle Linux DTrace.
> + * Copyright (c) 2024, 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.
> + */
> +
> +/*
> + * ASSERTION: The -xbufsize option sets the trace buffer size.
> + *
> + * SECTION: Options and Tunables/Consumer Options
> + */
> +
> +/* @@runtest-opts: -xbufsize=-1 */
> +
> +BEGIN
> +{
> + exit(0);
> +}
> +
> +ERROR
> +{
> + exit(1);
> +}
> diff --git a/test/unittest/options/err.bufsize-negative.r b/test/unittest/options/err.bufsize-negative.r
> new file mode 100644
> index 00000000..ea3089e9
> --- /dev/null
> +++ b/test/unittest/options/err.bufsize-negative.r
> @@ -0,0 +1,2 @@
> +-- @@stderr --
> +dtrace: failed to set -x bufsize: Invalid value for specified option
> diff --git a/test/unittest/speculation/err.BufSizeVariations1.d b/test/unittest/speculation/err.BufSizeVariations1.d
> deleted file mode 100644
> index c6e29b78..00000000
> --- a/test/unittest/speculation/err.BufSizeVariations1.d
> +++ /dev/null
> @@ -1,67 +0,0 @@
> -/*
> - * Oracle Linux DTrace.
> - * Copyright (c) 2006, 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.
> - */
> -
> -/*
> - * ASSERTION:
> - * Verify the behavior of variations in bufsize.
> - *
> - * SECTION: Speculative Tracing/Options and Tuning;
> - * Options and Tunables/bufsize
> - *
> - * NOTES: This test behaves differently depending on the values
> - * assigned to bufsize.
> - * 1. 0 > bufsize.
> - * 2. 0 == bufsize.
> - * 3. 0 < bufsize <= 7
> - * 4. 8 <= bufsize <= 31
> - * 5. 32 <= bufsize <= 47
> - * 6. 48 <= bufsize <= 71
> - * 7. 72 <= bufsize
> - */
> -
> -#pragma D option quiet
> -#pragma D option bufsize=41
> -
> -BEGIN
> -{
> - self->speculateFlag = 0;
> - self->commitFlag = 0;
> - self->spec = speculation();
> - printf("Speculative buffer ID: %d\n", self->spec);
> -}
> -
> -BEGIN
> -{
> - speculate(self->spec);
> - printf("Lots of data\n");
> - printf("Has to be crammed into this buffer\n");
> - printf("Until it overflows\n");
> - printf("And causes flops\n");
> - self->speculateFlag++;
> -
> -}
> -
> -BEGIN
> -/1 <= self->speculateFlag/
> -{
> - commit(self->spec);
> - self->commitFlag++;
> -}
> -
> -BEGIN
> -/1 <= self->commitFlag/
> -{
> - printf("Statement was executed\n");
> - exit(0);
> -}
> -
> -BEGIN
> -/1 > self->commitFlag/
> -{
> - printf("Statement wasn't executed\n");
> - exit(1);
> -}
> diff --git a/test/unittest/speculation/err.BufSizeVariations2.d b/test/unittest/speculation/err.BufSizeVariations2.d
> deleted file mode 100644
> index 8094cd0b..00000000
> --- a/test/unittest/speculation/err.BufSizeVariations2.d
> +++ /dev/null
> @@ -1,67 +0,0 @@
> -/*
> - * Oracle Linux DTrace.
> - * Copyright (c) 2006, 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.
> - */
> -
> -/*
> - * ASSERTION:
> - * Verify the behavior of variations in bufsize.
> - *
> - * SECTION: Speculative Tracing/Options and Tuning;
> - * Options and Tunables/bufsize
> - *
> - * NOTES: This test behaves differently depending on the values
> - * assigned to bufsize.
> - * 1. 0 > bufsize.
> - * 2. 0 == bufsize.
> - * 3. 0 < bufsize <= 7
> - * 4. 8 <= bufsize <= 31
> - * 5. 32 <= bufsize <= 47
> - * 6. 48 <= bufsize <= 71
> - * 7. 72 <= bufsize
> - */
> -
> -#pragma D option quiet
> -#pragma D option bufsize=4
> -
> -BEGIN
> -{
> - self->speculateFlag = 0;
> - self->commitFlag = 0;
> - self->spec = speculation();
> - printf("Speculative buffer ID: %d\n", self->spec);
> -}
> -
> -BEGIN
> -{
> - speculate(self->spec);
> - printf("Lots of data\n");
> - printf("Has to be crammed into this buffer\n");
> - printf("Until it overflows\n");
> - printf("And causes flops\n");
> - self->speculateFlag++;
> -
> -}
> -
> -BEGIN
> -/1 <= self->speculateFlag/
> -{
> - commit(self->spec);
> - self->commitFlag++;
> -}
> -
> -BEGIN
> -/1 <= self->commitFlag/
> -{
> - printf("Statement was executed\n");
> - exit(0);
> -}
> -
> -BEGIN
> -/1 > self->commitFlag/
> -{
> - printf("Statement wasn't executed\n");
> - exit(1);
> -}
> diff --git a/test/unittest/speculation/err.NegativeBufSize.d b/test/unittest/speculation/err.NegativeBufSize.d
> deleted file mode 100644
> index a0154ccb..00000000
> --- a/test/unittest/speculation/err.NegativeBufSize.d
> +++ /dev/null
> @@ -1,67 +0,0 @@
> -/*
> - * Oracle Linux DTrace.
> - * Copyright (c) 2006, 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.
> - */
> -
> -/*
> - * ASSERTION:
> - * Verify the behavior of variations in bufsize.
> - *
> - * SECTION: Speculative Tracing/Options and Tuning;
> - * Options and Tunables/bufsize
> - *
> - * NOTES: This test behaves differently depending on the values
> - * assigned to bufsize.
> - * 1. 0 > bufsize.
> - * 2. 0 == bufsize.
> - * 3. 0 < bufsize <= 7
> - * 4. 8 <= bufsize <= 31
> - * 5. 32 <= bufsize <= 47
> - * 6. 48 <= bufsize <= 71
> - * 7. 72 <= bufsize
> - */
> -
> -#pragma D option quiet
> -#pragma D option bufsize=-72
> -
> -BEGIN
> -{
> - self->speculateFlag = 0;
> - self->commitFlag = 0;
> - self->spec = speculation();
> - printf("Speculative buffer ID: %d\n", self->spec);
> -}
> -
> -BEGIN
> -{
> - speculate(self->spec);
> - printf("Lots of data\n");
> - printf("Has to be crammed into this buffer\n");
> - printf("Until it overflows\n");
> - printf("And causes flops\n");
> - self->speculateFlag++;
> -
> -}
> -
> -BEGIN
> -/1 <= self->speculateFlag/
> -{
> - commit(self->spec);
> - self->commitFlag++;
> -}
> -
> -BEGIN
> -/1 <= self->commitFlag/
> -{
> - printf("Statement was executed\n");
> - exit(0);
> -}
> -
> -BEGIN
> -/1 > self->commitFlag/
> -{
> - printf("Statement wasn't executed\n");
> - exit(1);
> -}
> diff --git a/test/unittest/speculation/err.NegativeBufSize.r b/test/unittest/speculation/err.NegativeBufSize.r
> deleted file mode 100644
> index 9d7be6c0..00000000
> --- a/test/unittest/speculation/err.NegativeBufSize.r
> +++ /dev/null
> @@ -1,2 +0,0 @@
> --- @@stderr --
> -dtrace: failed to compile script test/unittest/speculation/err.NegativeBufSize.d: line 27: failed to set option 'bufsize' to '-72': Invalid value for specified option
> --
> 2.43.5
>
next prev parent reply other threads:[~2024-09-14 18:01 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-29 5:21 [PATCH 01/22] test: Handle dtrace:::ERROR arg3 specially eugene.loh
2024-08-29 5:21 ` [PATCH 02/22] test: Clean up tests still expecting obsolete "at DIF offset NN" eugene.loh
2024-08-29 5:22 ` [PATCH 03/22] Action clear() should clear only one aggregation eugene.loh
2024-09-06 21:43 ` Kris Van Hees
2024-08-29 5:22 ` [PATCH 04/22] Remove unused "next" arg from dt_flowindent() eugene.loh
2024-09-06 22:01 ` Kris Van Hees
2024-08-29 5:22 ` [PATCH 05/22] Set the ERROR PRID in BPF code eugene.loh
2024-09-07 0:20 ` Kris Van Hees
2024-09-07 1:25 ` Eugene Loh
2024-09-07 2:03 ` Kris Van Hees
2024-09-12 20:33 ` Kris Van Hees
2024-09-13 17:21 ` Eugene Loh
2024-08-29 5:22 ` [PATCH 06/22] Fix provider lookup to use prv not prb eugene.loh
2024-09-13 20:01 ` Kris Van Hees
2024-08-29 5:22 ` [PATCH 07/22] Supply a default probe_info() eugene.loh
2024-09-14 0:31 ` Kris Van Hees
2024-09-14 1:59 ` Kris Van Hees
2024-08-29 5:22 ` [PATCH 08/22] dtprobed: Fix comment typo eugene.loh
2024-09-14 15:41 ` Kris Van Hees
2024-08-29 5:22 ` [PATCH 09/22] Clean up dtsd_* members eugene.loh
2024-09-14 15:40 ` Kris Van Hees
2024-08-29 5:22 ` [PATCH 10/22] Simplify dtrace_stmt_create() attr init eugene.loh
2024-09-14 16:25 ` Kris Van Hees
2024-09-14 16:32 ` [DTrace-devel] " Kris Van Hees
2024-09-19 17:38 ` Eugene Loh
2024-09-19 17:42 ` Kris Van Hees
2024-08-29 5:22 ` [PATCH 11/22] DTPPT_POST_OFFSETS is unused eugene.loh
2024-09-14 16:35 ` Kris Van Hees
2024-08-29 5:22 ` [PATCH 12/22] Remove apparently redundant assignment eugene.loh
2024-09-14 16:37 ` Kris Van Hees
2024-08-29 5:22 ` [PATCH 13/22] Eliminate unused args to dt_spec_buf_add_data() eugene.loh
2024-09-14 17:06 ` Kris Van Hees
2024-08-29 5:22 ` [PATCH 14/22] Both dted_uarg and dofe_uarg are unused eugene.loh
2024-09-14 17:08 ` Kris Van Hees
2024-08-29 5:22 ` [PATCH 15/22] test: Clean up the specsize tests eugene.loh
2024-09-14 17:57 ` Kris Van Hees
2024-08-29 5:22 ` [PATCH 16/22] test: Fix the speculative tests that checked bufsize eugene.loh
2024-09-14 18:00 ` Kris Van Hees [this message]
2024-08-29 5:22 ` [PATCH 17/22] test: Tweak spec sizes to bracket size jumps more narrowly eugene.loh
2024-09-14 18:07 ` Kris Van Hees
2024-09-17 18:05 ` Eugene Loh
2024-08-29 5:22 ` [PATCH 18/22] test: Remove tst.DTRACEFLT_BADADDR2.d dependency on specific PC eugene.loh
2024-09-14 18:10 ` Kris Van Hees
2024-08-29 5:22 ` [PATCH 19/22] test: Fix tst.probestar.d trigger eugene.loh
2024-09-14 18:13 ` Kris Van Hees
2024-10-17 22:53 ` Eugene Loh
2024-08-29 5:22 ` [PATCH 20/22] test: Annotate some XFAILs eugene.loh
2024-09-14 18:29 ` Kris Van Hees
2024-08-29 5:22 ` [PATCH 21/22] test: Fix DIRNAME eugene.loh
2024-08-29 20:25 ` [DTrace-devel] " Sam James
2024-09-14 18:43 ` Kris Van Hees
2024-08-29 5:22 ` [PATCH 22/22] test: Update tst.newprobes.sh xfail message eugene.loh
2024-09-14 18:45 ` Kris Van Hees
2024-08-29 15:57 ` [PATCH 01/22] test: Handle dtrace:::ERROR arg3 specially Kris Van Hees
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=ZuXPW/seDQJv2dt4@oracle.com \
--to=kris.van.hees@oracle.com \
--cc=dtrace-devel@oss.oracle.com \
--cc=dtrace@lists.linux.dev \
--cc=eugene.loh@oracle.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox