From d898100ab001dd4b3465f738dad76d1d646c3261 Mon Sep 17 00:00:00 2001 From: fche Date: Tue, 20 Nov 2007 03:59:19 +0000 Subject: PR 3887: sufficient+optional probe points 2007-11-19 Frank Ch. Eigler PR 3887. * staptree.h (probe_point): Add "sufficient" field. * staptree.cxx: Initialize it, print it. * parse.cxx (parse_probe_point): Parse it. * elaborate.cxx (derive_probes): Implement it. * stapprobes.5.in: Document it. * NEWS: Gloat about it. * parseok/five.stp, semok/twentyseven.stp: Test "!" probe point flag. * iostat-scsi.stp: Adopt "!" probe point flag. --- testsuite/ChangeLog | 4 ++++ testsuite/parseok/five.stp | 1 + testsuite/semok/twentyseven.stp | 11 +++++++++++ 3 files changed, 16 insertions(+) create mode 100755 testsuite/semok/twentyseven.stp (limited to 'testsuite') diff --git a/testsuite/ChangeLog b/testsuite/ChangeLog index bc19c015..075245aa 100644 --- a/testsuite/ChangeLog +++ b/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2007-11-19 Frank Ch. Eigler + + * parseok/five.stp, semok/twentyseven.stp: Test "!" probe point flag. + 2007-11-15 David Smith * systemtap.base/marker.exp: Removed 'module("foo").mark("bar")' diff --git a/testsuite/parseok/five.stp b/testsuite/parseok/five.stp index 29ff5990..e1b5d94a 100755 --- a/testsuite/parseok/five.stp +++ b/testsuite/parseok/five.stp @@ -18,3 +18,4 @@ probe perfcounter("tlbmiss").count(4000) {} probe resource.freemembelow(50) {} # pages? probe begin {} probe something?, or?, nothing? {} +probe something!, or, nothing!, and?, zoo {} diff --git a/testsuite/semok/twentyseven.stp b/testsuite/semok/twentyseven.stp new file mode 100755 index 00000000..def633a5 --- /dev/null +++ b/testsuite/semok/twentyseven.stp @@ -0,0 +1,11 @@ +#! stap -p2 + +probe foo.a = kernel.function("sys_read") /* some */ ! /* sufficient */ , + kernel.function("no_such_function") + { "foo.a" } + +probe foo.b = module("*scsi*").function("no_such_thing") /* none */ ? , + module("*scsi*").function("*queue*") /* some */ ! , /* suff'nt */ + module("no_such_module").function("no_such_function") + { "foo.b" } +probe foo.* { } -- cgit