Tcl Source Code

Check-in [2da1596304]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:body of test case for [3422267ed6b79922].
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | bug-3422267ed6b79922
Files: files | file ages | folders
SHA3-256: 2da1596304896026108face1e47b3592b93427dada238b39cd3cb4b450e2081c
User & Date: pooryorick 2020-08-12 13:31:16
References
2020-08-12
13:32 Ticket [3422267ed6] segmentation fault from deleting the the target of an imported alias during a trace on the target of the alias status still Open with 3 other changes artifact: b07751bb73 user: pooryorick
Context
2020-08-12
14:46
Fix reference counting for command structure in TclNRApplyObjCmd check-in: de751a3490 user: pooryorick tags: bug-3422267ed6b79922
13:35
merge bug-3422267ed6b79922 check-in: 9d087059ef user: pooryorick tags: core-8-branch
13:31
body of test case for [3422267ed6b79922]. check-in: 2da1596304 user: pooryorick tags: bug-3422267ed6b79922
13:28
Fix for [3422267ed6b7], segmentation fault with imported alias. check-in: 37243ff476 user: pooryorick tags: bug-3422267ed6b79922
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to tests/interp.test.

3664
3665
3666
3667
3668
3669
3670






























3671
3672
3673
3674
3675
3676
3677
} -returnCodes {
    error
} -result {wrong # args: should be "interp debug path ?-frame ?bool??"}

test interp-39.0 {
	no segmentation fault when a command is deleted
} -body {






























} -cleanup {
} -result 1


# cleanup
unset -nocomplain hidden_cmds
foreach i [interp slaves] {







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







3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
} -returnCodes {
    error
} -result {wrong # args: should be "interp debug path ?-frame ?bool??"}

test interp-39.0 {
	no segmentation fault when a command is deleted
} -body {
	variable res {}

	proc p1 args {
		return success
	}
	namespace eval ns1 {
		namespace export *
	}
	interp alias {} [namespace current]::ns1::p2 {} [namespace current]::p1
	namespace eval ns2 {
		namespace import [namespace parent]::ns1::p2
	}
	proc ondelete {oldname newname op} {
		variable res
		namespace delete ns1
		catch {
			ns1::p2
		}  res
	}

	trace add command ns2::p2 delete [namespace which ondelete]
	rename ns2::p2 {}
	rename p1 {}
	if {
		[string match {*invalid command name*ns1::p2*} $res]
	} {
		return 1
	} else {
		return $res
	}
} -cleanup {
} -result 1


# cleanup
unset -nocomplain hidden_cmds
foreach i [interp slaves] {