summaryrefslogtreecommitdiffstats
path: root/testsuite/buildok
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/buildok')
-rwxr-xr-xtestsuite/buildok/cmdline01.stp28
1 files changed, 28 insertions, 0 deletions
diff --git a/testsuite/buildok/cmdline01.stp b/testsuite/buildok/cmdline01.stp
new file mode 100755
index 00000000..9d087e44
--- /dev/null
+++ b/testsuite/buildok/cmdline01.stp
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+# -g Guru mode. Enable parsing of unsafe expert-level constructs
+# like embedded C.
+#
+# -D NAME=VALUE
+# Add the given C preprocessor directive to the module Makefile.
+
+# Test '-g' and '-D'. The code below will give an error at
+# compilation stage unless 'FOO' is defined.
+
+./stap -g -p4 -DFOO=1 - <<EOF
+
+function footest:string()
+%{
+#ifdef FOO
+ strncpy(THIS->__retvalue, "footest called", MAXSTRINGLEN);
+#else
+#error undefined FOO
+#endif
+%}
+
+probe begin {
+ printf("%s\n", footest())
+ exit()
+}
+
+EOF