Linux DTrace development list
 help / color / mirror / Atom feed
* [PATCH v2 6/8] test: Check dtrace return status in USDT tst.forker.sh
@ 2024-06-27  5:25 eugene.loh
  2024-08-19 23:15 ` Kris Van Hees
  0 siblings, 1 reply; 3+ messages in thread
From: eugene.loh @ 2024-06-27  5:25 UTC (permalink / raw)
  To: dtrace, dtrace-devel

From: Eugene Loh <eugene.loh@oracle.com>

This test was spuriously passing.  DTrace failed to run -- many error
messages in the log file indicated as much -- and yet the test passed.

Check the dtrace return status.

The test will pass once USDT supports wildcard provider names.

Signed-off-by: Eugene Loh <eugene.loh@oracle.com>
---
 test/unittest/usdt/tst.forker.sh | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/test/unittest/usdt/tst.forker.sh b/test/unittest/usdt/tst.forker.sh
index 018a6572..7cfa9eb5 100755
--- a/test/unittest/usdt/tst.forker.sh
+++ b/test/unittest/usdt/tst.forker.sh
@@ -1,12 +1,13 @@
 #!/bin/bash
 #
 # Oracle Linux DTrace.
-# Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2007, 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.
 #
 #
 # @@timeout: 120
+# @@xfail: dtv2 USDT wildcard
 
 if [ $# != 1 ]; then
 	echo expected one argument: '<'dtrace-path'>'
@@ -32,6 +33,10 @@ while kill -0 $id >/dev/null 2>&1; do
 			exit(0);
 		}
 	EOF
+	if [ $? -ne 0 ]; then
+		echo ERROR: DTrace failed to run
+		exit 1
+	fi
 done
 
 exit 0
-- 
2.18.4


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v2 6/8] test: Check dtrace return status in USDT tst.forker.sh
  2024-06-27  5:25 [PATCH v2 6/8] test: Check dtrace return status in USDT tst.forker.sh eugene.loh
@ 2024-08-19 23:15 ` Kris Van Hees
  2024-08-20  0:49   ` [DTrace-devel] " Sam James
  0 siblings, 1 reply; 3+ messages in thread
From: Kris Van Hees @ 2024-08-19 23:15 UTC (permalink / raw)
  To: eugene.loh; +Cc: dtrace, dtrace-devel

On Thu, Jun 27, 2024 at 01:25:16AM -0400, eugene.loh@oracle.com wrote:
> From: Eugene Loh <eugene.loh@oracle.com>
> 
> This test was spuriously passing.  DTrace failed to run -- many error
> messages in the log file indicated as much -- and yet the test passed.
> 
> Check the dtrace return status.
> 
> The test will pass once USDT supports wildcard provider names.
> 
> Signed-off-by: Eugene Loh <eugene.loh@oracle.com>

Reviewed-by: Kris Van Hees <kris.van.hees@oracle.com>

> ---
>  test/unittest/usdt/tst.forker.sh | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/test/unittest/usdt/tst.forker.sh b/test/unittest/usdt/tst.forker.sh
> index 018a6572..7cfa9eb5 100755
> --- a/test/unittest/usdt/tst.forker.sh
> +++ b/test/unittest/usdt/tst.forker.sh
> @@ -1,12 +1,13 @@
>  #!/bin/bash
>  #
>  # Oracle Linux DTrace.
> -# Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
> +# Copyright (c) 2007, 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.
>  #
>  #
>  # @@timeout: 120
> +# @@xfail: dtv2 USDT wildcard
>  
>  if [ $# != 1 ]; then
>  	echo expected one argument: '<'dtrace-path'>'
> @@ -32,6 +33,10 @@ while kill -0 $id >/dev/null 2>&1; do
>  			exit(0);
>  		}
>  	EOF
> +	if [ $? -ne 0 ]; then
> +		echo ERROR: DTrace failed to run
> +		exit 1
> +	fi
>  done
>  
>  exit 0
> -- 
> 2.18.4
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [DTrace-devel] [PATCH v2 6/8] test: Check dtrace return status in USDT tst.forker.sh
  2024-08-19 23:15 ` Kris Van Hees
@ 2024-08-20  0:49   ` Sam James
  0 siblings, 0 replies; 3+ messages in thread
From: Sam James @ 2024-08-20  0:49 UTC (permalink / raw)
  To: Kris Van Hees via DTrace-devel; +Cc: eugene.loh, Kris Van Hees, dtrace

[-- Attachment #1: Type: text/plain, Size: 1418 bytes --]

Kris Van Hees via DTrace-devel <dtrace-devel@oss.oracle.com> writes:

> On Thu, Jun 27, 2024 at 01:25:16AM -0400, eugene.loh@oracle.com wrote:
>> From: Eugene Loh <eugene.loh@oracle.com>
>> 
>> This test was spuriously passing.  DTrace failed to run -- many error
>> messages in the log file indicated as much -- and yet the test passed.
>> 
>> Check the dtrace return status.
>> 
>> The test will pass once USDT supports wildcard provider names.
>> 
>> Signed-off-by: Eugene Loh <eugene.loh@oracle.com>
>
> Reviewed-by: Kris Van Hees <kris.van.hees@oracle.com>

This made me go looking for other issues and I sent a small series for
the obvious ones.

There are other issues around:
* dtrace .. | awk, exit $? wrt no lastpipe, and
* multiple checks but we only exit $? only at the end (this is
debatable)
* exiting 0 at the end when checking for intended failure (perhaps
should do exit 1 if any of them *don't* fai;, see previous point) in a
handful of tests
* tests like test/unittest/udp/tst.ipv6localudp.sh where, while we
normally rely on the implicit exit code being the last command run,
because we do e.g. kill after, we end up not checking it.

Some of this doesn't matter *that* much because of the actual test
output being checked in .r files, but failing faster is nicer for
debugging as well, and in some cases, there is no .r (like this one).

> [...]

thanks,
sam

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 377 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-08-20  0:49 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-27  5:25 [PATCH v2 6/8] test: Check dtrace return status in USDT tst.forker.sh eugene.loh
2024-08-19 23:15 ` Kris Van Hees
2024-08-20  0:49   ` [DTrace-devel] " Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox