summaryrefslogtreecommitdiffstats
path: root/testsuite
diff options
context:
space:
mode:
authordsmith <dsmith>2006-06-02 15:54:26 +0000
committerdsmith <dsmith>2006-06-02 15:54:26 +0000
commit277c1957c614aa4c56a5e192e893471e3a964cc4 (patch)
tree3a81e58bc53afddd7c1c98035a988a2d024a2843 /testsuite
parent3b308385ab9aa306eabac5fa6b67ef9e17106e98 (diff)
downloadsystemtap-steved-277c1957c614aa4c56a5e192e893471e3a964cc4.tar.gz
systemtap-steved-277c1957c614aa4c56a5e192e893471e3a964cc4.tar.xz
systemtap-steved-277c1957c614aa4c56a5e192e893471e3a964cc4.zip
2006-06-02 David Smith <dsmith@redhat.com>
* main.cxx (usage): Added exitcode parameter. (main): Improved a few error messages. Also, when an error is given, stap now always exits with a status of 1. * testsuite/buildok/cmdline01.stp: New test. * testsuite/parseko/cmdline01.stp: Ditto. * testsuite/parseko/cmdline02.stp: Ditto. * testsuite/parseko/cmdline03.stp: Ditto. * testsuite/parseko/cmdline04.stp: Ditto. * testsuite/parseko/cmdline05.stp: Ditto. * testsuite/parseko/cmdline06.stp: Ditto. * testsuite/parseok/cmdline01.stp: Ditto. * testsuite/parseok/cmdline02.stp: Ditto.
Diffstat (limited to 'testsuite')
-rwxr-xr-xtestsuite/buildok/cmdline01.stp28
-rwxr-xr-xtestsuite/parseko/cmdline01.stp5
-rwxr-xr-xtestsuite/parseko/cmdline02.stp8
-rwxr-xr-xtestsuite/parseko/cmdline03.stp8
-rwxr-xr-xtestsuite/parseko/cmdline04.stp5
-rwxr-xr-xtestsuite/parseko/cmdline05.stp5
-rwxr-xr-xtestsuite/parseko/cmdline06.stp5
-rwxr-xr-xtestsuite/parseok/cmdline01.stp10
-rwxr-xr-xtestsuite/parseok/cmdline02.stp5
9 files changed, 79 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
diff --git a/testsuite/parseko/cmdline01.stp b/testsuite/parseko/cmdline01.stp
new file mode 100755
index 00000000..0f1a21d7
--- /dev/null
+++ b/testsuite/parseko/cmdline01.stp
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+# -M (merge) option is only valid for bulk mode
+
+./stap -p1 -M -e 'probe begin { exit() }'
diff --git a/testsuite/parseko/cmdline02.stp b/testsuite/parseko/cmdline02.stp
new file mode 100755
index 00000000..57289c2d
--- /dev/null
+++ b/testsuite/parseko/cmdline02.stp
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+# -sNUM Use NUM megabyte buffers for kernel-to-user data transfer. On a
+# multiprocessor in bulk mode, this is a per-processor amount.
+#
+# NUM must be between 1 and 64
+
+./stap -p1 -s 0 -e 'probe begin { exit() }'
diff --git a/testsuite/parseko/cmdline03.stp b/testsuite/parseko/cmdline03.stp
new file mode 100755
index 00000000..7bd4a5c0
--- /dev/null
+++ b/testsuite/parseko/cmdline03.stp
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+# -p NUM Stop after pass NUM. The passes are numbered 1-5: parse, elabo-
+# rate, translate, compile, run.
+#
+# NUM must be between 1 and 5
+
+./stap -p0 -e 'probe begin { exit() }'
diff --git a/testsuite/parseko/cmdline04.stp b/testsuite/parseko/cmdline04.stp
new file mode 100755
index 00000000..b6450954
--- /dev/null
+++ b/testsuite/parseko/cmdline04.stp
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+# multiple '-e' (script) options cannot be specified
+
+./stap -p1 -e 'probe begin { exit() }' -e 'probe end { exit() }'
diff --git a/testsuite/parseko/cmdline05.stp b/testsuite/parseko/cmdline05.stp
new file mode 100755
index 00000000..f6075c5f
--- /dev/null
+++ b/testsuite/parseko/cmdline05.stp
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+# You can't specify '-M', '-b', and '-o' simultaneously.
+
+./stap -p1 -b -M -o stdout -e 'probe begin { exit() }'
diff --git a/testsuite/parseko/cmdline06.stp b/testsuite/parseko/cmdline06.stp
new file mode 100755
index 00000000..4c23757b
--- /dev/null
+++ b/testsuite/parseko/cmdline06.stp
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+# Bad TMPDIR environment variable should cause exit
+
+TMPDIR=/dev/null/BADTMPDIR ./stap -p1 -e 'probe begin { exit() }'
diff --git a/testsuite/parseok/cmdline01.stp b/testsuite/parseok/cmdline01.stp
new file mode 100755
index 00000000..da4e6eb3
--- /dev/null
+++ b/testsuite/parseok/cmdline01.stp
@@ -0,0 +1,10 @@
+#! /bin/sh
+
+echo "output version"
+./stap -V
+if [ $? != 0 ]; then
+ exit $?
+fi
+
+echo "output version and help"
+./stap -h
diff --git a/testsuite/parseok/cmdline02.stp b/testsuite/parseok/cmdline02.stp
new file mode 100755
index 00000000..4ddb711d
--- /dev/null
+++ b/testsuite/parseok/cmdline02.stp
@@ -0,0 +1,5 @@
+#! /bin/sh
+
+# Make sure verbose ('-v') option is accepted.
+
+./stap -v -p1 -e 'probe begin { exit() }'