[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