[DTrace-devel] [PATCH] test: Add tests for option "aggrate"

eugene.loh at oracle.com eugene.loh at oracle.com
Sat Mar 11 17:31:55 UTC 2023


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

Signed-off-by: Eugene Loh <eugene.loh at oracle.com>
---
 test/unittest/options/tst.aggrate-fast.d | 31 ++++++++++++++++++++++++
 test/unittest/options/tst.aggrate-fast.r | 17 +++++++++++++
 test/unittest/options/tst.aggrate-slow.d | 30 +++++++++++++++++++++++
 test/unittest/options/tst.aggrate-slow.r | 17 +++++++++++++
 4 files changed, 95 insertions(+)
 create mode 100644 test/unittest/options/tst.aggrate-fast.d
 create mode 100644 test/unittest/options/tst.aggrate-fast.r
 create mode 100644 test/unittest/options/tst.aggrate-slow.d
 create mode 100644 test/unittest/options/tst.aggrate-slow.r

diff --git a/test/unittest/options/tst.aggrate-fast.d b/test/unittest/options/tst.aggrate-fast.d
new file mode 100644
index 00000000..17fe0225
--- /dev/null
+++ b/test/unittest/options/tst.aggrate-fast.d
@@ -0,0 +1,31 @@
+/*
+ * Oracle Linux DTrace.
+ * Copyright (c) 2023, 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.
+ */
+
+/*
+ * When the aggrate is faster than the switchrate, each printa() should
+ * reflect all of the counts so far.
+ */
+
+/* @@trigger: periodic_output */
+/* @@sort */
+
+#pragma D option quiet
+#pragma D option switchrate=100ms
+#pragma D option aggrate=50ms
+
+syscall::write:entry
+/pid == $target/
+{
+	@ = count();
+	printa(@);
+}
+
+syscall::write:entry
+/pid == $target && n++ >= 7/
+{
+	exit(0);
+}
diff --git a/test/unittest/options/tst.aggrate-fast.r b/test/unittest/options/tst.aggrate-fast.r
new file mode 100644
index 00000000..a32cf7df
--- /dev/null
+++ b/test/unittest/options/tst.aggrate-fast.r
@@ -0,0 +1,17 @@
+                1
+
+                2
+
+                3
+
+                4
+
+                5
+
+                6
+
+                7
+
+                8
+
+
diff --git a/test/unittest/options/tst.aggrate-slow.d b/test/unittest/options/tst.aggrate-slow.d
new file mode 100644
index 00000000..c4bac5e4
--- /dev/null
+++ b/test/unittest/options/tst.aggrate-slow.d
@@ -0,0 +1,30 @@
+/*
+ * Oracle Linux DTrace.
+ * Copyright (c) 2023, 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.
+ */
+
+/*
+ * When the aggrate is slower than the switchrate and the pace of printa()
+ * actions, multiple printa() should all reflect the same stale count.
+ */
+/* @@trigger: periodic_output */
+/* @@sort */
+
+#pragma D option quiet
+#pragma D option switchrate=100ms
+#pragma D option aggrate=4500ms
+
+syscall::write:entry
+/pid == $target/
+{
+	@ = count();
+	printa(@);
+}
+
+syscall::write:entry
+/pid == $target && n++ >= 7/
+{
+	exit(0);
+}
diff --git a/test/unittest/options/tst.aggrate-slow.r b/test/unittest/options/tst.aggrate-slow.r
new file mode 100644
index 00000000..6cbd6c2f
--- /dev/null
+++ b/test/unittest/options/tst.aggrate-slow.r
@@ -0,0 +1,17 @@
+                1
+
+                1
+
+                1
+
+                1
+
+                1
+
+                5
+
+                5
+
+                5
+
+
-- 
2.18.4




More information about the DTrace-devel mailing list