* [PATCH] test: Account for variations in error messages
@ 2025-10-07 22:39 eugene.loh
2025-10-08 18:18 ` Kris Van Hees
0 siblings, 1 reply; 2+ messages in thread
From: eugene.loh @ 2025-10-07 22:39 UTC (permalink / raw)
To: dtrace, dtrace-devel
From: Eugene Loh <eugene.loh@oracle.com>
Clearly,
test/unittest/enum/err.*RepeatIdentifiers.d
test/unittest/types/err.*dupenum.d
are impacted, but so are
test/unittest/offsetof/err.D_UNKNOWN.OffsetofNULL.d
test/unittest/types/err.D_UNKNOWN.dupstruct.d
test/unittest/union/err.D_DECL_INCOMPLETE.circular.d
test/unittest/union/err.D_DECL_INCOMPLETE.order.d
test/unittest/union/err.D_DECL_INCOMPLETE.simple.d
due to symlinks to libctf.r.p. And dupstruct needed a fix.
Signed-off-by: Eugene Loh <eugene.loh@oracle.com>
---
.../enum/err.D_DECL_IDRED.RepeatIdentifiers.r | 2 --
...tIdentifiers.d => err.RepeatIdentifiers.d} | 7 +++----
test/unittest/enum/err.RepeatIdentifiers.r | 2 ++
...ntifiers.r.p => err.RepeatIdentifiers.r.p} | 0
.../unittest/types/err.D_DECL_IDRED.dupenum.r | 2 --
...r.D_DECL_IDRED.dupenum.d => err.dupenum.d} | 4 +++-
test/unittest/types/err.dupenum.r | 2 ++
...DECL_IDRED.dupenum.r.p => err.dupenum.r.p} | 0
test/utils/libctf.r.p | 19 +++++++++++++++++++
9 files changed, 29 insertions(+), 9 deletions(-)
delete mode 100644 test/unittest/enum/err.D_DECL_IDRED.RepeatIdentifiers.r
rename test/unittest/enum/{err.D_DECL_IDRED.RepeatIdentifiers.d => err.RepeatIdentifiers.d} (78%)
create mode 100644 test/unittest/enum/err.RepeatIdentifiers.r
rename test/unittest/enum/{err.D_DECL_IDRED.RepeatIdentifiers.r.p => err.RepeatIdentifiers.r.p} (100%)
delete mode 100644 test/unittest/types/err.D_DECL_IDRED.dupenum.r
rename test/unittest/types/{err.D_DECL_IDRED.dupenum.d => err.dupenum.d} (74%)
create mode 100644 test/unittest/types/err.dupenum.r
rename test/unittest/types/{err.D_DECL_IDRED.dupenum.r.p => err.dupenum.r.p} (100%)
diff --git a/test/unittest/enum/err.D_DECL_IDRED.RepeatIdentifiers.r b/test/unittest/enum/err.D_DECL_IDRED.RepeatIdentifiers.r
deleted file mode 100644
index 424d6b077..000000000
--- a/test/unittest/enum/err.D_DECL_IDRED.RepeatIdentifiers.r
+++ /dev/null
@@ -1,2 +0,0 @@
--- @@stderr --
-dtrace: failed to compile script test/unittest/enum/err.D_DECL_IDRED.RepeatIdentifiers.d: [D_DECL_IDRED] line 24: identifier redeclared: GREEN
diff --git a/test/unittest/enum/err.D_DECL_IDRED.RepeatIdentifiers.d b/test/unittest/enum/err.RepeatIdentifiers.d
similarity index 78%
rename from test/unittest/enum/err.D_DECL_IDRED.RepeatIdentifiers.d
rename to test/unittest/enum/err.RepeatIdentifiers.d
index 43837c78a..0dfd7b86c 100644
--- a/test/unittest/enum/err.D_DECL_IDRED.RepeatIdentifiers.d
+++ b/test/unittest/enum/err.RepeatIdentifiers.d
@@ -1,6 +1,6 @@
/*
* Oracle Linux DTrace.
- * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2025, 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.
*/
@@ -11,11 +11,10 @@
* error.
*
* SECTION: Type and Constant Definitions/Enumerations
- *
- * NOTES:
- *
*/
+/* @@runtest-opts: -xerrtags */
+
#pragma D option quiet
enum colors {
diff --git a/test/unittest/enum/err.RepeatIdentifiers.r b/test/unittest/enum/err.RepeatIdentifiers.r
new file mode 100644
index 000000000..860ffb5c7
--- /dev/null
+++ b/test/unittest/enum/err.RepeatIdentifiers.r
@@ -0,0 +1,2 @@
+-- @@stderr --
+dtrace: failed to compile script test/unittest/enum/err.RepeatIdentifiers.d: expected error
diff --git a/test/unittest/enum/err.D_DECL_IDRED.RepeatIdentifiers.r.p b/test/unittest/enum/err.RepeatIdentifiers.r.p
similarity index 100%
rename from test/unittest/enum/err.D_DECL_IDRED.RepeatIdentifiers.r.p
rename to test/unittest/enum/err.RepeatIdentifiers.r.p
diff --git a/test/unittest/types/err.D_DECL_IDRED.dupenum.r b/test/unittest/types/err.D_DECL_IDRED.dupenum.r
deleted file mode 100644
index 0b6369e52..000000000
--- a/test/unittest/types/err.D_DECL_IDRED.dupenum.r
+++ /dev/null
@@ -1,2 +0,0 @@
--- @@stderr --
-dtrace: failed to compile script test/unittest/types/err.D_DECL_IDRED.dupenum.d: [D_DECL_IDRED] line 18: identifier redeclared: x
diff --git a/test/unittest/types/err.D_DECL_IDRED.dupenum.d b/test/unittest/types/err.dupenum.d
similarity index 74%
rename from test/unittest/types/err.D_DECL_IDRED.dupenum.d
rename to test/unittest/types/err.dupenum.d
index dfc74f250..22001e5d6 100644
--- a/test/unittest/types/err.D_DECL_IDRED.dupenum.d
+++ b/test/unittest/types/err.dupenum.d
@@ -1,6 +1,6 @@
/*
* Oracle Linux DTrace.
- * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2025, 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.
*/
@@ -12,6 +12,8 @@
* SECTION: Type and Constant Definitions/Enumerations
*/
+/* @@runtest-opts: -xerrtags */
+
enum foo {
x = 3,
x = 4
diff --git a/test/unittest/types/err.dupenum.r b/test/unittest/types/err.dupenum.r
new file mode 100644
index 000000000..153985568
--- /dev/null
+++ b/test/unittest/types/err.dupenum.r
@@ -0,0 +1,2 @@
+-- @@stderr --
+dtrace: failed to compile script test/unittest/types/err.dupenum.d: expected error
diff --git a/test/unittest/types/err.D_DECL_IDRED.dupenum.r.p b/test/unittest/types/err.dupenum.r.p
similarity index 100%
rename from test/unittest/types/err.D_DECL_IDRED.dupenum.r.p
rename to test/unittest/types/err.dupenum.r.p
diff --git a/test/utils/libctf.r.p b/test/utils/libctf.r.p
index a2b4602cf..c81e1b709 100755
--- a/test/utils/libctf.r.p
+++ b/test/utils/libctf.r.p
@@ -1,7 +1,26 @@
#!/usr/bin/gawk -f
# Licensed under the Universal Permissive License v 1.0 as shown at
# http://oss.oracle.com/licenses/upl.
+
+# Possible "enumerator" label.
+/Duplicate member, enumerator, or variable name/ {
+ sub(/member, enumerator, or variable/, "member or variable");
+}
+
+# Possible trailing '.'.
/Duplicate member or variable name\.$/ { sub(/\.$/, ""); }
/Member name not found\.$/ { sub(/\.$/, ""); }
+
+# Could be union or struct.
/enum union pirate:/ { sub(/enum union pirate/, "enum struct pirate"); }
+
+# Older or newer libctf diags.
+/\[D_DECL_IDRED\] line [1-9][0-9]*: identifier redeclared: [a-zA-Z]*$/ {
+ sub(/\[D_DECL_IDRED\] line [1-9][0-9]*: .*$/, "expected error");
+}
+/\[D_UNKNOWN\] line [1-9][0-9]*: failed to define enumerator '[a-zA-Z]*': Duplicate member or variable name$/ {
+ sub(/\[D_UNKNOWN\] line [1-9][0-9]*: .*$/, "expected error");
+}
+
+# Print.
{ print; }
--
2.47.3
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] test: Account for variations in error messages
2025-10-07 22:39 [PATCH] test: Account for variations in error messages eugene.loh
@ 2025-10-08 18:18 ` Kris Van Hees
0 siblings, 0 replies; 2+ messages in thread
From: Kris Van Hees @ 2025-10-08 18:18 UTC (permalink / raw)
To: eugene.loh; +Cc: dtrace, dtrace-devel
On Tue, Oct 07, 2025 at 06:39:50PM -0400, eugene.loh@oracle.com wrote:
> From: Eugene Loh <eugene.loh@oracle.com>
>
> Clearly,
> test/unittest/enum/err.*RepeatIdentifiers.d
> test/unittest/types/err.*dupenum.d
> are impacted, but so are
> test/unittest/offsetof/err.D_UNKNOWN.OffsetofNULL.d
> test/unittest/types/err.D_UNKNOWN.dupstruct.d
> test/unittest/union/err.D_DECL_INCOMPLETE.circular.d
> test/unittest/union/err.D_DECL_INCOMPLETE.order.d
> test/unittest/union/err.D_DECL_INCOMPLETE.simple.d
> due to symlinks to libctf.r.p. And dupstruct needed a fix.
>
> Signed-off-by: Eugene Loh <eugene.loh@oracle.com>
Sad that we need to do this, but...
Reviewed-by: Kris Van Hees <kris.van.hees@oracle.com>
> ---
> .../enum/err.D_DECL_IDRED.RepeatIdentifiers.r | 2 --
> ...tIdentifiers.d => err.RepeatIdentifiers.d} | 7 +++----
> test/unittest/enum/err.RepeatIdentifiers.r | 2 ++
> ...ntifiers.r.p => err.RepeatIdentifiers.r.p} | 0
> .../unittest/types/err.D_DECL_IDRED.dupenum.r | 2 --
> ...r.D_DECL_IDRED.dupenum.d => err.dupenum.d} | 4 +++-
> test/unittest/types/err.dupenum.r | 2 ++
> ...DECL_IDRED.dupenum.r.p => err.dupenum.r.p} | 0
> test/utils/libctf.r.p | 19 +++++++++++++++++++
> 9 files changed, 29 insertions(+), 9 deletions(-)
> delete mode 100644 test/unittest/enum/err.D_DECL_IDRED.RepeatIdentifiers.r
> rename test/unittest/enum/{err.D_DECL_IDRED.RepeatIdentifiers.d => err.RepeatIdentifiers.d} (78%)
> create mode 100644 test/unittest/enum/err.RepeatIdentifiers.r
> rename test/unittest/enum/{err.D_DECL_IDRED.RepeatIdentifiers.r.p => err.RepeatIdentifiers.r.p} (100%)
> delete mode 100644 test/unittest/types/err.D_DECL_IDRED.dupenum.r
> rename test/unittest/types/{err.D_DECL_IDRED.dupenum.d => err.dupenum.d} (74%)
> create mode 100644 test/unittest/types/err.dupenum.r
> rename test/unittest/types/{err.D_DECL_IDRED.dupenum.r.p => err.dupenum.r.p} (100%)
>
> diff --git a/test/unittest/enum/err.D_DECL_IDRED.RepeatIdentifiers.r b/test/unittest/enum/err.D_DECL_IDRED.RepeatIdentifiers.r
> deleted file mode 100644
> index 424d6b077..000000000
> --- a/test/unittest/enum/err.D_DECL_IDRED.RepeatIdentifiers.r
> +++ /dev/null
> @@ -1,2 +0,0 @@
> --- @@stderr --
> -dtrace: failed to compile script test/unittest/enum/err.D_DECL_IDRED.RepeatIdentifiers.d: [D_DECL_IDRED] line 24: identifier redeclared: GREEN
> diff --git a/test/unittest/enum/err.D_DECL_IDRED.RepeatIdentifiers.d b/test/unittest/enum/err.RepeatIdentifiers.d
> similarity index 78%
> rename from test/unittest/enum/err.D_DECL_IDRED.RepeatIdentifiers.d
> rename to test/unittest/enum/err.RepeatIdentifiers.d
> index 43837c78a..0dfd7b86c 100644
> --- a/test/unittest/enum/err.D_DECL_IDRED.RepeatIdentifiers.d
> +++ b/test/unittest/enum/err.RepeatIdentifiers.d
> @@ -1,6 +1,6 @@
> /*
> * Oracle Linux DTrace.
> - * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
> + * Copyright (c) 2006, 2025, 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.
> */
> @@ -11,11 +11,10 @@
> * error.
> *
> * SECTION: Type and Constant Definitions/Enumerations
> - *
> - * NOTES:
> - *
> */
>
> +/* @@runtest-opts: -xerrtags */
> +
> #pragma D option quiet
>
> enum colors {
> diff --git a/test/unittest/enum/err.RepeatIdentifiers.r b/test/unittest/enum/err.RepeatIdentifiers.r
> new file mode 100644
> index 000000000..860ffb5c7
> --- /dev/null
> +++ b/test/unittest/enum/err.RepeatIdentifiers.r
> @@ -0,0 +1,2 @@
> +-- @@stderr --
> +dtrace: failed to compile script test/unittest/enum/err.RepeatIdentifiers.d: expected error
> diff --git a/test/unittest/enum/err.D_DECL_IDRED.RepeatIdentifiers.r.p b/test/unittest/enum/err.RepeatIdentifiers.r.p
> similarity index 100%
> rename from test/unittest/enum/err.D_DECL_IDRED.RepeatIdentifiers.r.p
> rename to test/unittest/enum/err.RepeatIdentifiers.r.p
> diff --git a/test/unittest/types/err.D_DECL_IDRED.dupenum.r b/test/unittest/types/err.D_DECL_IDRED.dupenum.r
> deleted file mode 100644
> index 0b6369e52..000000000
> --- a/test/unittest/types/err.D_DECL_IDRED.dupenum.r
> +++ /dev/null
> @@ -1,2 +0,0 @@
> --- @@stderr --
> -dtrace: failed to compile script test/unittest/types/err.D_DECL_IDRED.dupenum.d: [D_DECL_IDRED] line 18: identifier redeclared: x
> diff --git a/test/unittest/types/err.D_DECL_IDRED.dupenum.d b/test/unittest/types/err.dupenum.d
> similarity index 74%
> rename from test/unittest/types/err.D_DECL_IDRED.dupenum.d
> rename to test/unittest/types/err.dupenum.d
> index dfc74f250..22001e5d6 100644
> --- a/test/unittest/types/err.D_DECL_IDRED.dupenum.d
> +++ b/test/unittest/types/err.dupenum.d
> @@ -1,6 +1,6 @@
> /*
> * Oracle Linux DTrace.
> - * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
> + * Copyright (c) 2006, 2025, 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.
> */
> @@ -12,6 +12,8 @@
> * SECTION: Type and Constant Definitions/Enumerations
> */
>
> +/* @@runtest-opts: -xerrtags */
> +
> enum foo {
> x = 3,
> x = 4
> diff --git a/test/unittest/types/err.dupenum.r b/test/unittest/types/err.dupenum.r
> new file mode 100644
> index 000000000..153985568
> --- /dev/null
> +++ b/test/unittest/types/err.dupenum.r
> @@ -0,0 +1,2 @@
> +-- @@stderr --
> +dtrace: failed to compile script test/unittest/types/err.dupenum.d: expected error
> diff --git a/test/unittest/types/err.D_DECL_IDRED.dupenum.r.p b/test/unittest/types/err.dupenum.r.p
> similarity index 100%
> rename from test/unittest/types/err.D_DECL_IDRED.dupenum.r.p
> rename to test/unittest/types/err.dupenum.r.p
> diff --git a/test/utils/libctf.r.p b/test/utils/libctf.r.p
> index a2b4602cf..c81e1b709 100755
> --- a/test/utils/libctf.r.p
> +++ b/test/utils/libctf.r.p
> @@ -1,7 +1,26 @@
> #!/usr/bin/gawk -f
> # Licensed under the Universal Permissive License v 1.0 as shown at
> # http://oss.oracle.com/licenses/upl.
> +
> +# Possible "enumerator" label.
> +/Duplicate member, enumerator, or variable name/ {
> + sub(/member, enumerator, or variable/, "member or variable");
> +}
> +
> +# Possible trailing '.'.
> /Duplicate member or variable name\.$/ { sub(/\.$/, ""); }
> /Member name not found\.$/ { sub(/\.$/, ""); }
> +
> +# Could be union or struct.
> /enum union pirate:/ { sub(/enum union pirate/, "enum struct pirate"); }
> +
> +# Older or newer libctf diags.
> +/\[D_DECL_IDRED\] line [1-9][0-9]*: identifier redeclared: [a-zA-Z]*$/ {
> + sub(/\[D_DECL_IDRED\] line [1-9][0-9]*: .*$/, "expected error");
> +}
> +/\[D_UNKNOWN\] line [1-9][0-9]*: failed to define enumerator '[a-zA-Z]*': Duplicate member or variable name$/ {
> + sub(/\[D_UNKNOWN\] line [1-9][0-9]*: .*$/, "expected error");
> +}
> +
> +# Print.
> { print; }
> --
> 2.47.3
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-10-08 18:18 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-07 22:39 [PATCH] test: Account for variations in error messages eugene.loh
2025-10-08 18:18 ` Kris Van Hees
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox