summaryrefslogtreecommitdiffstats
path: root/tests/trace.test
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2012-02-06 17:34:46 (GMT)
committerdgp <dgp@users.sourceforge.net>2012-02-06 17:34:46 (GMT)
commitd96696676a3d3487daa023f4f916533b06d4c25e (patch)
treeb31b139861ec809d5c687061eca9f1761767271d /tests/trace.test
parent95563b40a7e7c0078ccc04dd78b4058ad655f9fa (diff)
parent5894df49560c27bd2e8a613912674b7f6392ae84 (diff)
downloadtcl-d96696676a3d3487daa023f4f916533b06d4c25e.zip
tcl-d96696676a3d3487daa023f4f916533b06d4c25e.tar.gz
tcl-d96696676a3d3487daa023f4f916533b06d4c25e.tar.bz2
3485022 TclCompileEnsemble() avoid compile when exec traces set.
Diffstat (limited to 'tests/trace.test')
-rw-r--r--tests/trace.test28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/trace.test b/tests/trace.test
index 3297258..b1202b8 100644
--- a/tests/trace.test
+++ b/tests/trace.test
@@ -2591,8 +2591,36 @@ test trace-39 {bug #3484621: tracing Bc'ed commands} -setup {
rename foo {}
} -result {3 | 0 1 1}
+test trace-39.1 {bug #3485022: tracing Bc'ed commands} -setup {
+ set ::traceLog 0
+ set ::traceCalls 0
+ set res {}
+ proc dotrace args {
+ incr ::traceLog
+ }
+ proc foo {} {
+ incr ::traceCalls
+ string equal zip zap
+ }
+} -body {
+ foo
+ lappend res $::traceLog
+ trace add execution ::tcl::string::equal enter dotrace
+ foo
+ lappend res $::traceLog
+
+ trace remove execution tcl::string::equal enter dotrace
+ foo
+ lappend res $::traceLog
+ list $::traceCalls | {*}$res
+} -cleanup {
+ unset ::traceLog ::traceCalls res
+ rename dotrace {}
+ rename foo {}
+} -result {3 | 0 1 1}
+
# Delete procedures when done, so we don't clash with other tests
# (e.g. foobar will clash with 'unknown' tests).
catch {rename foobar {}}