summaryrefslogtreecommitdiffstats
path: root/testsuite/systemtap.base
Commit message (Collapse)AuthorAgeFilesLines
* PR5916: Exploit kretprobe data storage areaJosh Stone2009-11-102-0/+74
| | | | | | | | | | | | | | | | | | | | Since 2.6.25, kretprobes can carry a data packet to be filled in an entry_handler. This patch lets us store our implicitly-saved $target variables in .return probes in that data area. * tapset/kretprobe.stp: New get/set functions for kretprobe data. * translate.cxx (c_unparser::emit_common_header): Add context->pi_longs. * tapsets.cxx (dwarf_var_expanding_visitor::visit_target_symbol_saved_return): Switch between the old and new methods of saving $vars in .return probes. (dwarf_var_expanding_visitor::gen_mapped_saved_return): The old way. (dwarf_var_expanding_visitor::gen_kretprobe_saved_return): The new way. (dwarf_derived_probe::join_group): Don't register paired entry-handlers. (dwarf_derived_probe::dwarf_derived_probe): Remember saved-var details. (dwarf_derived_probe_group::emit_module_decls): Output saved-var details. Also split the kretprobe handler whether we're on entry or return. (dwarf_derived_probe_group::emit_module_init): Prepare the entry handler. * testsuite/systemtap.base/kretprobe-vars.stp: Test implicit $var saving.
* reorganize app tests; rewrite tcl as sample of improvementsFrank Ch. Eigler2009-10-314-808/+0
| | | | | | | | | | | | | | | * testsuite/configure.ac (--enable-testapps): New option. * testsuite/Makefile.am (TESTAPPS): Pass to dejagnu. * testsuite/systemtap.base/{xulrunner,tcl,mysql,postgres}: Moved under new systemtap.apps/ subdirectory. * testsuite/systemtap.apps/stap-tcl.sh: New file to build tcl. * testsuite/systemtap.apps/stap-tcl.stp: New file to test tcl. * testsuite/systemtap.apps/tcl.exp: New simplified test driver. * dtrace.in: Disable STAP_HAS_SEMAPHORES as they don't work on shlibs yet. * includes/sys/sdt.h (STAP_SEMAPHORE): Include __builtin_expect for unlikely.
* Properly close the spawn of the pr10854 testcaseJosh Stone2009-10-271-0/+1
|
* PR10854 cont'd: Add a testcase for the reproducerJosh Stone2009-10-272-0/+51
|
* PR 10822 fixed by waiting for the procfs file.David Smith2009-10-221-1/+19
| | | | | * testsuite/systemtap.base/onoffprobe.exp: Wait for up to 10 seconds for the procfs file to be created.
* Added testsuite to test xulrunner sdt markers.Stan Cox2009-10-204-3/+136
| | | | | | | xulrunner.exp: New testsuite, modelled after mysql.exp. mysql.exp (stap-mysql.sh): Use installed stap. postgres.exp (stap-mysql.sh): Use installed stap. tcl.exp (stap-mysql.sh): Use installed stap.
* tcl.exp path fix.Stan Cox2009-10-201-1/+1
| | | | tcl.exp (run_tests): Fix stap path.
* Add testsuite for tcl sdt markers.Stan Cox2009-10-191-0/+165
| | | | | dtrace.in (provider::generate): Set enabled to true until .so is resolved. tcl.exp: New testsuite for tcl sdt markers modelled after mysql.
* PR10746: update test cases related to probe process.*Wenji Huang2009-10-143-6/+19
| | | | | | | | * testsuite/semok/utrace01.stp: Switch by CONFIG_UTRACE. * testsuite/systemtap.base/bz10294.stp: Ditto. * testsuite/systemtap.base/bz6905.stp: Ditto. * testsuite/systemtap.base/statement.exp: Mark untested if non-utrace kernel.
* PR10726 remove testcase workaround.Mark Wielaard2009-10-061-3/+1
| | | | | * testsuite/systemtap.base/const_value.c: Allow inlining since PR10726 was fixed.
* PR10739 testcase. Split const_value test in two. Absolute const addr fails.Mark Wielaard2009-10-064-7/+68
| | | | | | | | * testsuite/systemtap.base/const_value.exp: Handle both const_value blocks and address separately. XFAIL second test as PR10739. * testsuite/systemtap.base/const_value.stp: Only query baz const value. * testsuite/systemtap.base/const_value_func.c: New test for bar address. * testsuite/systemtap.base/const_value_func.stp: Likewise.
* Add tescase for DW_AT_const_value location descriptions.Mark Wielaard2009-10-053-0/+71
| | | | | | * testsuite/systemtap.base/const_value.c: New test. * testsuite/systemtap.base/const_value.exp: Likewise. * testsuite/systemtap.base/const_value.stp: Likewise.
* Added timeouts to test 15 & 16.David Smith2009-09-291-0/+2
|
* Better cleanup.David Smith2009-09-281-1/+2
| | | | * testsuite/systemtap.base/cmd_parse.exp: Remove temporary module.
* PR10632: simplify randint() implementationFrank Ch. Eigler2009-09-231-27/+5
| | | | | | | | | * tapset/random.stp (randint): Make it 1-arity (imply min=0). Document with kerneldoc. * doc/Systemtap_Tapset_Reference/tapsets.tmpl: Extract the docs. * runtime/arith.c (_stp_random_pm_u): Rename without _pm. (_stp_random_pm): Rewrite in terms of ..._u. * testsuite/random.stp: Adapt & simplify.
* PR10632: tapset: randint() function + testsRoland Grunberg2009-09-232-0/+44
|
* Use less idle time in testsuite.Mark Wielaard2009-09-198-27/+30
| | | | | | | | | | | | | | | | A lot of tests wait, sleep or use a timer for multiple seconds when that is not necessary. Reduce the time waited so save test time. * testsuite/systemtap.base/backtrace.stp: Exit after 100ms. * testsuite/systemtap.base/badkprobe.exp: Likewise. * testsuite/systemtap.base/global_end.stp: Likewise. * testsuite/systemtap.base/itrace.exp: Wait 1 sec instead of 5 for each test. * testsuite/systemtap.base/maxactive.exp: Likewise. * testsuite/systemtap.base/onoffprobe.exp: Match and use modname, so build script can be cached. * testsuite/systemtap.base/onoffprobe.stp: Wait miliseconds instead of seconds in each alias. Output module_name. * testsuite/systemtap.base/poll_map.stp: Start after 100ms.
* * vta-test.c: Include sdt.h under test, not system installed sys/sdt.h.Mark Wielaard2009-09-181-1/+1
|
* PR10417 Enable vta-test.exp testcase and add to NEWS.Mark Wielaard2009-09-182-3/+2
| | | | | | * NEW: Mention DW_OP_{implicit,stack}_value support. * testsuite/systemtap.base/vta-test.exp: Don't XFAIL. Use staprun2. * testsuite/systemtap.base/vta-test.stp: Enable all probes.
* Add a testcase for PR10417 support for DW_OP_{stack|implicit}_value.Mark Wielaard2009-09-173-0/+76
| | | | | | | | Currently XFAILS when gcc-vta detected, otherwise UNTESTED. * testsuite/systemtap.base/vta-test.exp: New test harness. * testsuite/systemtap.base/vta-test.c: New test program. * testsuite/systemtap.base/vta-test.stp: New test script.
* Don't print pid in flightrec5.exp test.Mark Wielaard2009-09-171-1/+0
|
* * sdt.h (STAP_SEMAPHORE): New. Add guard to utrace probe points.Stan Cox2009-09-161-12/+13
| | | | | | | | | | | | | | * itrace.h (__access_process_vm): Moved from here... * runtime/access_process_vm.h: New. ...to here. * translate.cxx (translate_pass): Include access_process_vm.h * session.h (sdt_semaphore_addr): New. * tapsets.cxx (sdt_query::record_semaphore): New. Record sdt_semaphore_addr. (uprobe_derived_probe_group::emit_module_decls): Allow for uprobe guard variable to be set and unset. (uprobe_derived_probe_group::emit_module_decls): Likewise. (uprobe_derived_probe_group::emit_module_exit): Likewise. * tapset-utrace.cxx (utrace_derived_probe_group::emit_probe_decl): Likewise. (utrace_derived_probe_group::emit_module_decls): Likewise. (utrace_derived_probe_group::emit_module_exit): Likewise.
* Add signal based file switching testcaseMasami Hiramatsu2009-09-163-1/+131
| | | | | | | | * testsuite/systemtap.base/flightrec1.exp: Add signal file switching testcase. * testsuite/systemtap.base/flightrec4.exp: New test for signal file switching with file number limits. * testsuite/systemtap.base/flightrec5.exp: New test for signal file switching with file number limits on bulk mode.
* Make labels -l .label test independent of list output order.Mark Wielaard2009-09-161-2/+9
| | | | | * testsuite/systemtap.base/labels.exp (-l .label): List all output lines individually in expect regex.
* PR10608: mark test cases untested once compilation failedWenji Huang2009-09-141-2/+4
| | | | | | | * testsuite/systemtap.syscall/syscall.exp: Simplify logic things. * testsuite/systemtap.syscall/test.tcl: Check compilation result. * testsuite/systemtap.base/utrace_syscall_args.exp: Change fail to untested.
* Make tracepoints.exp test more efficient by running as one giant script.Mark Wielaard2009-09-131-6/+20
| | | | | | | | | | | When there are lots of tracepoints in the kernel running a script for each one individually can take several minutes. So run them all in one giant script at the same time. Also increase timeout for the stap -l collection step since with an empty cache that might take more than the default 10 seconds. * testsuite/systemtap.base/tracepoints.exp: Increase default timeout. Collect all script fragments and run them as one.
* Test user markers set in a shared object.Stan Cox2009-09-081-3/+55
| | | | * sdt_misc: Add -shared section.
* PR10552 followup, remove -M testcases.Mark Wielaard2009-09-031-5/+0
| | | | * testsuite/systemtap.base/cache.exp: Remove MERGE1 and MERGE2 (-M) tests.
* Return, don't exit mysql.exp when unsupported.Mark Wielaard2009-09-021-1/+1
|
* Add mysql.exp to test dtrace like support for mysql.Stan Cox2009-09-012-1/+345
| | | | * testsuite/systemtap.base/mysql.exp: New.
* Tighten kernel.function alias_tapset.exp expect regexp to match precisely.Mark Wielaard2009-08-291-1/+1
|
* Fix overlapping statement probe error in warnings.stp.Mark Wielaard2009-08-291-1/+1
| | | | | | | | | | | | | Instead of generating a warning the current kernel.statement probe produced a warning on some 386 kernels that had optimized that particular line: semantic error: multiple addresses for fs/bio.c:282 (try fs/bio.c:278 or fs/bio.c:284) semantic error: no match while resolving probe point kernel.statement("bio_init@fs/bio.c+3") So do as told to just get the expected warnings for this probe. * testsuite/systemtap.base/warnings.stp (probea): Probe bio_init@fs/bio.c+5.
* Tighten alias_tapset.exp expect regexp to not gobble up multiple lines.Mark Wielaard2009-08-291-4/+4
|
* Have dtrace use [wd] as the default dir when -o isn't given.Stan Cox2009-08-281-5/+4
| | | | | * dtrace.in: Generate the output file from basename of input filename. * dtrace.exp: Adjust the tests accordingly.
* Added test for pr10568.David Smith2009-08-283-0/+43
| | | | | | * testsuite/systemtap.base/alias_tapset.exp: New file. * testsuite/systemtap.base/alias_tapset.stp: Ditto. * testsuite/systemtap.base/alias_tapset/tapset_test.stp: Ditto.
* PR10568: Ensure that aliases pull in their tapsetJosh Stone2009-08-274-0/+37
| | | | | | | | | | | When a probe alias is resolved in a tapset, the contents of that tapset should be included in the compiled script, just as we do for global variables and functions. * elaborate.cxx (alias_expansion_builder::build): When an alias is instantiated, add its stapfile to the session files. * testsuite/systemtap.base/tapset_includes.exp: New test. * testsuite/systemtap.base/tapset/*.stp: Testing tapsets for above.
* xfail backtrace.exp as PR6961 backtrace from non-pt_regs probe contextMark Wielaard2009-08-271-0/+4
|
* Return, don't exit postgres.exp when unsupported.Mark Wielaard2009-08-271-1/+1
|
* Teach postgres.exp to use a locally built version of postgres.Stan Cox2009-08-271-62/+92
| | | | | * postgres.exp: Grab postgres from upstream then build and test it with uprobe, utrace, and kprobe.
* PR4186 cont'd: option #2: standardize on kernel ARCH/SUBARCH throughoutFrank Ch. Eigler2009-08-251-1/+1
| | | | | | | | * main.cxx (main): Perform equivalent sed by hand on uname()->machine. * stap.1.in: Clarify -a ARCH slightly. * tapsets.cxx (validate_module_elf): Accept "arm*"for EM_ARM. * tapset/**, testsuite/**: Removed/collapsed "i386"/"i686" branches, renamed "ppc64"->"powerpc" and "s390x"->"s390".
* KFAIL cmd_parse15 on kernel < 2.6.29, see commit e0ccd3.Mark Wielaard2009-08-251-0/+5
| | | | | * testsuite/systemtap.base/cmd_parse.exp: kfail cmd_parse15 when kernel26ver < 29.
* Make inlinedvars empty asm really empty.Mark Wielaard2009-08-251-1/+1
| | | | | | | A debug "nop" was accidentially left in the asm statement that should have been totally empty. * testsuite/systemtap.base/inlinedvars.c (m): Really empty asm.
* PR4186 cont'd: uname -m --> uname -i in test casesFrank Ch. Eigler2009-08-244-5/+5
|
* Rename cache.exp proc stap_compile to cache_compile to not conflict.Mark Wielaard2009-08-241-22/+22
| | | | | | * testsuite/systemtap.base/cache.exp: Rename proc stap_compile to cache_compile, to prevent conflict with proc stap_compile from lib/stap_compile.exp.
* Fix failing uprobes.exp -p5 failures by removing trailing spaces in $$ vars.Mark Wielaard2009-08-242-3/+3
| | | | | | | | * tapsets.cxx (dwarf_var_expanding_visitor::visit_target_symbol_context): Don't add extra space at end of list, only add space between symbols. * testsuite/systemtap.base/uprobes.exp: Use more specific expect regex. * testsuite/systemtap.base/vars.exp: Don't just chop off last char of printf output string.
* PR4186: cross-architecture probe buildingFrank Ch. Eigler2009-08-241-1/+27
| | | | | | | | | | | * main.cxx (main): Add 'a:' and 'B:' options. * session.h (kbuildflags): New place to store -B args. * testsuite/systemtap.base/cmd_parse.exp: Test them lightly. * buildrun.cxx (run_make_cmd): Use "--no-print-directory" rather than ">/dev/null" in kbuild invocations. Pass '-a' and '-B' flags along. * hash.cxx (find_script_hash): Add them. * NEWS, stap.1.in: Mention this.
* Initialize sdt_types testcase arr_char so that it is always null terminated.Mark Wielaard2009-08-241-1/+1
| | | | | | * testsuite/systemtap.base/sdt_types.c: Initialize char arr_char [], not with (too small) constant length, to make sure the string is always null terminated.
* Two minor testcase fixes.David Smith2009-08-202-3/+5
| | | | | * testsuite/systemtap.base/global_stat.exp: Improved error handling. * testsuite/systemtap.base/strftime.exp: Ditto.
* * dtrace.in: Support -C, preprocess with cpp, which upstream postgresStan Cox2009-08-201-3/+20
| | | | is now using.
* PR10537 process().function().label() should select multiple inlined instances.Mark Wielaard2009-08-202-24/+29
| | | | | | | | | | | | | | | | | | | | This is less useful than one would hope. gcc will often emit a label with a DW_AT_low_pc that is not really in the neighbourhood of where one would expect it when the label is inlined and gcc can proof the label isn't really used in the optimized code. dwflpp::iterate_over_labels will now really iterate recursively through the die, even for dies without a name (like lexical blocks). This means we should now always find the concrete inlined label instances that have a real DW_AT_low_pc and so we don't need the trick to use the line table to get at the actual address. * dwflpp.cxx (iterate_over_labels): Accept dies without a name. Don't handle labels without a name or without a lowpc attribute. * testsuite/systemtap.base/inlinedvars.c (m): Trick gcc into thinking label is always used. (call, call2): Activate. (main): Call call and call2. * testsuite/systemtap.base/inlinedvars.exp: New result_string. Test both unoptimized and optimized (inlined) builds.