Diff
Not logged in

Differences From Artifact [d60c10b76b]:

To Artifact [1b0e3402bd]:


2399
2400
2401
2402
2403
2404
2405

































2406
2407
2408
2409
2410
2411
2412
    unset -nocomplain log first second
    rename dummy {}
    rename stepTraceHandler {}
    rename cmdTraceHandler {}
    rename isTracedInside_1 {}
    rename isTracedInside_2 {}
} -result ok


































# Delete procedures when done, so we don't clash with other tests
# (e.g. foobar will clash with 'unknown' tests).
catch {rename foobar {}}
catch {rename foo {}}
catch {rename bar {}}








>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
    unset -nocomplain log first second
    rename dummy {}
    rename stepTraceHandler {}
    rename cmdTraceHandler {}
    rename isTracedInside_1 {}
    rename isTracedInside_2 {}
} -result ok

test trace-39 {bug #3484621: tracing Bc'ed commands} -setup {
    set ::traceLog 0
    set ::traceCalls 0
    set ::bar [list 0 1 2 3]
    set res {}
    proc dotrace args {
        incr ::traceLog
    }
    proc foo {} {
        incr ::traceCalls
        # choose a BC'ed command that is 'unlikely' to interfere with tcltest's
        # internals
        lset ::bar 1 2
    }
} -body {
    foo
    lappend res $::traceLog

    trace add execution lset enter dotrace
    foo
    lappend res $::traceLog

    trace remove execution lset enter dotrace
    foo
    lappend res $::traceLog

    linsert $res 0 $::traceCalls |
} -cleanup {
    unset ::traceLog ::traceCalls ::bar 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 {}}
catch {rename foo {}}
catch {rename bar {}}