[DTrace-devel] [PATCH 1/5] test: fbt return0: work on quiet systems
Nick Alcock
nick.alcock at oracle.com
Mon Oct 6 15:28:24 UTC 2025
These two tests probe on sys_poll and just hope something calls it.
On sufficiently quiet systems, nothing does.
Define a trivial trigger to do so.
Signed-off-by: Nick Alcock <nick.alcock at oracle.com>
---
test/triggers/Build | 2 +-
test/triggers/fbt-tst-poll.c | 23 ++++++++++++++++++++
test/unittest/fbtprovider/tst.return0.d | 6 ++++-
test/unittest/providers/rawfbt/tst.return0.d | 6 ++++-
4 files changed, 34 insertions(+), 3 deletions(-)
create mode 100644 test/triggers/fbt-tst-poll.c
diff --git a/test/triggers/Build b/test/triggers/Build
index 4ff5002a853ed..bd6b0510ba003 100644
--- a/test/triggers/Build
+++ b/test/triggers/Build
@@ -4,7 +4,7 @@
# http://oss.oracle.com/licenses/upl.
EXTERNAL_64BIT_TRIGGERS = testprobe readwholedir mmap bogus-ioctl open delaydie futex \
- periodic_output \
+ periodic_output fbt-tst-poll \
pid-tst-args1 pid-tst-float pid-tst-fork pid-tst-gcc \
pid-tst-ret1 pid-tst-ret2 pid-tst-vfork pid-tst-weak1 pid-tst-weak2 \
proc-tst-sigwait proc-tst-omp proc-tst-pthread-exec profile-tst-ufuncsort \
diff --git a/test/triggers/fbt-tst-poll.c b/test/triggers/fbt-tst-poll.c
new file mode 100644
index 0000000000000..8b1e72eddd258
--- /dev/null
+++ b/test/triggers/fbt-tst-poll.c
@@ -0,0 +1,23 @@
+/*
+ * Oracle Linux DTrace.
+ * Copyright (c) 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.
+ */
+
+/*
+ * Simply loop, polling stdin for something that cannot happen until killed.
+ */
+
+#include <poll.h>
+
+int
+main(int argc, char **argv)
+{
+ struct pollfd fd = {0};
+
+ fd.fd = 0;
+ fd.events = POLLPRI;
+ for (;;)
+ poll(&fd, 1, 100);
+}
diff --git a/test/unittest/fbtprovider/tst.return0.d b/test/unittest/fbtprovider/tst.return0.d
index 0b7091b320904..78a82ffde7473 100644
--- a/test/unittest/fbtprovider/tst.return0.d
+++ b/test/unittest/fbtprovider/tst.return0.d
@@ -11,11 +11,15 @@
* SECTION: FBT Provider/Probe arguments
*/
+/* @@trigger: fbt-tst-poll */
+/* @@trigger-timing: before */
+/* @@runtest-opts: $_pid */
+
#pragma D option quiet
#pragma D option statusrate=10ms
fbt::do_sys_poll:return
-/arg1 == 0/
+/pid == $1 && arg1 == 0/
{
printf("%s %x returned 0", probefunc, arg0);
exit(0);
diff --git a/test/unittest/providers/rawfbt/tst.return0.d b/test/unittest/providers/rawfbt/tst.return0.d
index 0146d684f1033..915830c800b70 100644
--- a/test/unittest/providers/rawfbt/tst.return0.d
+++ b/test/unittest/providers/rawfbt/tst.return0.d
@@ -9,11 +9,15 @@
* ASSERTION: simple rawfbt provider arg0 and probefunc print test.
*/
+/* @@trigger: fbt-tst-poll */
+/* @@trigger-timing: before */
+/* @@runtest-opts: $_pid */
+
#pragma D option quiet
#pragma D option statusrate=10ms
rawfbt::do_sys_poll:return
-/arg1 == 0/
+/pid == $1 && arg1 == 0/
{
printf("%s %x returned 0", probefunc, arg0);
exit(0);
base-commit: 877fcdeb25b370be182d51f27fb4bd8e4f739fb1
--
2.51.0.284.g117bcb8de7
More information about the DTrace-devel
mailing list