[DTrace-devel] [PATCH 8/8] test: add missing expectations and update diagnostics

Kris Van Hees kris.van.hees at oracle.com
Mon Sep 28 18:02:08 UTC 2026


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




More information about the DTrace-devel mailing list