[DTrace-devel] [PATCH 8/8] test: add missing expectations and update diagnostics
Elena Zannoni
elena.zannoni at oracle.com
Sat Oct 3 08:43:32 UTC 2026
Reviewed-by: Elena Zannoni <elena.zannoni at oracle.com>
On 9/28/26 12:02 PM, Kris Van Hees via DTrace-devel wrote:
>
> Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
> ---
> test/unittest/lexer/tst.keyword-member.d | 2 ++
> test/unittest/lexer/tst.keyword-member.r | 1 +
> test/unittest/lexer/tst.keyword-member.r.p | 22 +++++++++++++++++++
> .../unittest/types/err.D_CAST_INVAL.badcast.r | 2 ++
> .../unittest/types/err.D_DECL_SCOPE.badenum.d | 19 ++++++++++++++++
> .../types/err.D_DECL_SCOPE.badstruct.d | 17 ++++++++++++++
> test/unittest/types/err.D_SYNTAX.badenum.d | 7 +++---
> test/unittest/types/err.D_SYNTAX.badenum.r | 2 +-
> test/unittest/types/err.D_SYNTAX.badid.d | 3 +--
> test/unittest/types/err.D_SYNTAX.badstruct.d | 7 +++---
> test/unittest/types/err.D_SYNTAX.badstruct.r | 2 +-
> test/unittest/types/err.unloaded_var.r | 2 +-
> 12 files changed, 73 insertions(+), 13 deletions(-)
> create mode 100644 test/unittest/lexer/tst.keyword-member.r
> create mode 100755 test/unittest/lexer/tst.keyword-member.r.p
> create mode 100644 test/unittest/types/err.D_CAST_INVAL.badcast.r
> create mode 100644 test/unittest/types/err.D_DECL_SCOPE.badenum.d
> create mode 100644 test/unittest/types/err.D_DECL_SCOPE.badstruct.d
>
> diff --git a/test/unittest/lexer/tst.keyword-member.d b/test/unittest/lexer/tst.keyword-member.d
> index 0c3650e3..18d78c70 100644
> --- a/test/unittest/lexer/tst.keyword-member.d
> +++ b/test/unittest/lexer/tst.keyword-member.d
> @@ -11,6 +11,8 @@
> * after -> and after ., even with comments interjected.
> */
>
> +#pragma D option quiet
> +
> BEGIN
> {
> printf("%p\n", &(*(struct cgroup_root *)&`cgrp_dfl_root).cgrp.self);
> diff --git a/test/unittest/lexer/tst.keyword-member.r b/test/unittest/lexer/tst.keyword-member.r
> new file mode 100644
> index 00000000..808ef419
> --- /dev/null
> +++ b/test/unittest/lexer/tst.keyword-member.r
> @@ -0,0 +1 @@
> +All pointers are identical (as expected).
> diff --git a/test/unittest/lexer/tst.keyword-member.r.p b/test/unittest/lexer/tst.keyword-member.r.p
> new file mode 100755
> index 00000000..4eb25f23
> --- /dev/null
> +++ b/test/unittest/lexer/tst.keyword-member.r.p
> @@ -0,0 +1,22 @@
> +#!/usr/bin/gawk -f
> +
> +NR == 1 {
> + val = $1;
> +}
> +
> +NF > 0 {
> + if ($1 != val) {
> + print "Output line " NR ": Expected " val ", got " $1;
> + fail++;
> + }
> +}
> +
> +END {
> + if (fail) {
> + print fail " failures";
> + exit(1);
> + } else {
> + print "All pointers are identical (as expected).";
> + exit(0);
> + }
> +}
> diff --git a/test/unittest/types/err.D_CAST_INVAL.badcast.r b/test/unittest/types/err.D_CAST_INVAL.badcast.r
> new file mode 100644
> index 00000000..0c62733f
> --- /dev/null
> +++ b/test/unittest/types/err.D_CAST_INVAL.badcast.r
> @@ -0,0 +1,2 @@
> +-- @@stderr --
> +dtrace: failed to compile script test/unittest/types/err.D_CAST_INVAL.badcast.d: [D_CAST_INVAL] line 14: invalid cast expression: "void" to "struct task_struct"
> diff --git a/test/unittest/types/err.D_DECL_SCOPE.badenum.d b/test/unittest/types/err.D_DECL_SCOPE.badenum.d
> new file mode 100644
> index 00000000..77e3d68d
> --- /dev/null
> +++ b/test/unittest/types/err.D_DECL_SCOPE.badenum.d
> @@ -0,0 +1,19 @@
> +/*
> + * 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:
> + * Test a bogus enum declaration using an invalid identifer.
> + *
> + * SECTION: Type and Constant Definitions/Enumerations
> + */
> +
> +
> +enum foo`bar
> +{
> +
> +};
> diff --git a/test/unittest/types/err.D_DECL_SCOPE.badstruct.d b/test/unittest/types/err.D_DECL_SCOPE.badstruct.d
> new file mode 100644
> index 00000000..f8b1884d
> --- /dev/null
> +++ b/test/unittest/types/err.D_DECL_SCOPE.badstruct.d
> @@ -0,0 +1,17 @@
> +/*
> + * 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:
> + * Attempt a bogus struct declaration using an invalid identifer.
> + *
> + * SECTION: Structs and Unions/Structs
> + */
> +
> +struct foo`bar {
> +
> +};
> diff --git a/test/unittest/types/err.D_SYNTAX.badenum.d b/test/unittest/types/err.D_SYNTAX.badenum.d
> index 77e3d68d..6717dd84 100644
> --- a/test/unittest/types/err.D_SYNTAX.badenum.d
> +++ b/test/unittest/types/err.D_SYNTAX.badenum.d
> @@ -1,19 +1,18 @@
> /*
> * Oracle Linux DTrace.
> - * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
> + * Copyright (c) 2006, 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.
> */
>
> /*
> - * ASSERTION:
> - * Test a bogus enum declaration using an invalid identifer.
> + * ASSERTION: Test a bogus enum declaration using an invalid identifer.
> *
> * SECTION: Type and Constant Definitions/Enumerations
> */
>
>
> -enum foo`bar
> +enum foo.bar
> {
>
> };
> diff --git a/test/unittest/types/err.D_SYNTAX.badenum.r b/test/unittest/types/err.D_SYNTAX.badenum.r
> index 834c2b1c..9a14d317 100644
> --- a/test/unittest/types/err.D_SYNTAX.badenum.r
> +++ b/test/unittest/types/err.D_SYNTAX.badenum.r
> @@ -1,2 +1,2 @@
> -- @@stderr --
> -dtrace: failed to compile script test/unittest/types/err.D_SYNTAX.badenum.d: [D_SYNTAX] line 19: syntax error near "}"
> +dtrace: failed to compile script test/unittest/types/err.D_SYNTAX.badenum.d: [D_SYNTAX] line 15: syntax error near "."
> diff --git a/test/unittest/types/err.D_SYNTAX.badid.d b/test/unittest/types/err.D_SYNTAX.badid.d
> index 23d026f3..8f234539 100644
> --- a/test/unittest/types/err.D_SYNTAX.badid.d
> +++ b/test/unittest/types/err.D_SYNTAX.badid.d
> @@ -6,8 +6,7 @@
> */
>
> /*
> - * ASSERTION:
> - * Identifiers cannot begin with a digit
> + * ASSERTION: Identifiers cannot begin with a digit
> *
> * SECTION: Types, Operators, and Expressions/Identifier Names and Keywords
> */
> diff --git a/test/unittest/types/err.D_SYNTAX.badstruct.d b/test/unittest/types/err.D_SYNTAX.badstruct.d
> index f8b1884d..a4c8149c 100644
> --- a/test/unittest/types/err.D_SYNTAX.badstruct.d
> +++ b/test/unittest/types/err.D_SYNTAX.badstruct.d
> @@ -1,17 +1,16 @@
> /*
> * Oracle Linux DTrace.
> - * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
> + * Copyright (c) 2006, 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.
> */
>
> /*
> - * ASSERTION:
> - * Attempt a bogus struct declaration using an invalid identifer.
> + * ASSERTION: Attempt a bogus struct declaration using an invalid identifer.
> *
> * SECTION: Structs and Unions/Structs
> */
>
> -struct foo`bar {
> +struct foo.bar {
>
> };
> diff --git a/test/unittest/types/err.D_SYNTAX.badstruct.r b/test/unittest/types/err.D_SYNTAX.badstruct.r
> index da798f0e..37ff0051 100644
> --- a/test/unittest/types/err.D_SYNTAX.badstruct.r
> +++ b/test/unittest/types/err.D_SYNTAX.badstruct.r
> @@ -1,2 +1,2 @@
> -- @@stderr --
> -dtrace: failed to compile script test/unittest/types/err.D_SYNTAX.badstruct.d: [D_SYNTAX] line 17: syntax error near "}"
> +dtrace: failed to compile script test/unittest/types/err.D_SYNTAX.badstruct.d: [D_SYNTAX] line 14: syntax error near "."
> diff --git a/test/unittest/types/err.unloaded_var.r b/test/unittest/types/err.unloaded_var.r
> index ac7972c7..d8c59c5e 100644
> --- a/test/unittest/types/err.unloaded_var.r
> +++ b/test/unittest/types/err.unloaded_var.r
> @@ -1,2 +1,2 @@
> -- @@stderr --
> -dtrace: failed to compile script test/unittest/types/err.unloaded_var.d: line 21: failed to resolve gfs2`gfs2_control_wq: Module is no longer loaded
> +dtrace: failed to compile script test/unittest/types/err.unloaded_var.d: line 21: failed to resolve gfs2`gfs2_control_wq: Unknown module name
> --
> 2.52.0
>
>
> _______________________________________________
> DTrace-devel mailing list
> DTrace-devel at oss.oracle.com
> https://oss.oracle.com/mailman/listinfo/dtrace-devel
>
More information about the DTrace-devel
mailing list