[squeak-dev] [BUG]Opening the TestRunner does not work (upd. #17056)

H. Hirzel hannes.hirzel at gmail.com
Mon Mar 20 09:13:05 UTC 2017


Hello

In a recent image updated to the last change opening the TestRunner
does not work.

Squeak6.0alpha
latest update: #17056


    TestRunner open


Reason:

modelIndex is nil in a PluggableListMorphOfMany

It has to do something with filtering


uiIndexFor: modelIndex
	"The model does not know anything about the receiver's filtering.
Answer the index in my (possibly filtered) list for modelIndex."
	(modelIndex > 0 and: [ self hasFilter ])
.....


May I ask if somebody could check this  as well please?
Does

    TestRunner open


work?

Regards
Hannes


20 March 2017 10:01:21.117574 am

VM: unix - Smalltalk
Image: Squeak6.0alpha [latest update: #17056]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /media/user/data-ext4/Smtk/trunk2/Squeak6.0alpha-16963-32bit-All-in-One.app/Contents/Resources
Trusted Dir /media/user/data-ext4/Smtk/trunk2/Squeak6.0alpha-16963-32bit-All-in-One.app/Contents/Resources/secure
Untrusted Dir /media/user/data-ext4/Smtk/trunk2/Squeak6.0alpha-16963-32bit-All-in-One.app/Contents/Resources/My
Squeak

UndefinedObject(Object)>>doesNotUnderstand: #>
	Receiver: nil
	Arguments and temporary variables:
		aMessage: 	> 0
		exception: 	MessageNotUnderstood: UndefinedObject>>>
		resumeValue: 	nil
	Receiver's instance variables:
nil

PluggableListMorphOfMany(PluggableListMorph)>>uiIndexFor:
	Receiver: a PluggableListMorphOfMany(2024647)
	Arguments and temporary variables:
		modelIndex: 	nil
		selectedItem: 	nil
	Receiver's instance variables:
		bounds: 	0 at 0 corner: 150 at 120
		owner: 	nil
		submorphs: 	{a ScrollBar(3757801) . a TransformMorph(3733432)}
		fullBounds: 	nil
		color: 	Color white
		extension: 	a MorphExtension (1004834) [other:  (minWidth -> 60)
(keyboardCaptur...etc...
		borderWidth: 	1
		borderColor: 	(Color r: 0.6 g: 0.6 b: 0.6)
		model: 	a TestRunner
		slotName: 	nil
		open: 	false
		scrollBar: 	a ScrollBar(3757801)
		scroller: 	a TransformMorph(3733432)
		retractableScrollBar: 	false
		scrollBarOnLeft: 	false
		getMenuSelector: 	#classMenu:
		getMenuTitleSelector: 	nil
		hasFocus: 	false
		hScrollBar: 	a ScrollBar(1984487)
		hScrollBarPolicy: 	#never
		vScrollBarPolicy: 	#whenNeeded
		scrollBarThickness: 	10
		list: 	{a Text for 'TestCase' . '  AliasTest' . '  AllocationTest' .
'  Arbitrar...etc...
		getListSelector: 	#classList
		getListSizeSelector: 	nil
		getListElementSelector: 	nil
		getIndexSelector: 	#classSelected
		setIndexSelector: 	#classSelected:
		keystrokeActionSelector: 	#arrowKey:from:
		autoDeselect: 	true
		lastKeystrokeTime: 	nil
		lastKeystrokes: 	nil
		lastClickTime: 	nil
		doubleClickSelector: 	nil
		handlesBasicKeys: 	nil
		potentialDropRow: 	nil
		hoverRow: 	nil
		listMorph: 	a LazyListMorph(3369510)
		hScrollRangeCache: 	{447 . 442 . 363 . a Text for 'TestCase' . '
YearMonthWeekT...etc...
		keystrokePreviewSelector: 	nil
		priorSelection: 	nil
		getIconSelector: 	nil
		getHelpSelector: 	nil
		dragOnOrOff: 	nil
		getSelectionListSelector: 	#classAt:
		setSelectionListSelector: 	#classAt:put:

PluggableListMorphOfMany(PluggableListMorph)>>updateList
	Receiver: a PluggableListMorphOfMany(2024647)
	Arguments and temporary variables:
		index: 	nil
	Receiver's instance variables:
		bounds: 	0 at 0 corner: 150 at 120
		owner: 	nil
		submorphs: 	{a ScrollBar(3757801) . a TransformMorph(3733432)}
		fullBounds: 	nil
		color: 	Color white
		extension: 	a MorphExtension (1004834) [other:  (minWidth -> 60)
(keyboardCaptur...etc...
		borderWidth: 	1
		borderColor: 	(Color r: 0.6 g: 0.6 b: 0.6)
		model: 	a TestRunner
		slotName: 	nil
		open: 	false
		scrollBar: 	a ScrollBar(3757801)
		scroller: 	a TransformMorph(3733432)
		retractableScrollBar: 	false
		scrollBarOnLeft: 	false
		getMenuSelector: 	#classMenu:
		getMenuTitleSelector: 	nil
		hasFocus: 	false
		hScrollBar: 	a ScrollBar(1984487)
		hScrollBarPolicy: 	#never
		vScrollBarPolicy: 	#whenNeeded
		scrollBarThickness: 	10
		list: 	{a Text for 'TestCase' . '  AliasTest' . '  AllocationTest' .
'  Arbitrar...etc...
		getListSelector: 	#classList
		getListSizeSelector: 	nil
		getListElementSelector: 	nil
		getIndexSelector: 	#classSelected
		setIndexSelector: 	#classSelected:
		keystrokeActionSelector: 	#arrowKey:from:
		autoDeselect: 	true
		lastKeystrokeTime: 	nil
		lastKeystrokes: 	nil
		lastClickTime: 	nil
		doubleClickSelector: 	nil
		handlesBasicKeys: 	nil
		potentialDropRow: 	nil
		hoverRow: 	nil
		listMorph: 	a LazyListMorph(3369510)
		hScrollRangeCache: 	{447 . 442 . 363 . a Text for 'TestCase' . '
YearMonthWeekT...etc...
		keystrokePreviewSelector: 	nil
		priorSelection: 	nil
		getIconSelector: 	nil
		getHelpSelector: 	nil
		dragOnOrOff: 	nil
		getSelectionListSelector: 	#classAt:
		setSelectionListSelector: 	#classAt:put:

PluggableListMorphOfMany(PluggableListMorph)>>on:list:selected:changeSelected:menu:keystroke:
	Receiver: a PluggableListMorphOfMany(2024647)
	Arguments and temporary variables:
		anObject: 	a TestRunner
		getListSel: 	#classList
		getSelectionSel: 	#classSelected
		setSelectionSel: 	#classSelected:
		getMenuSel: 	#classMenu:
		keyActionSel: 	#arrowKey:from:
	Receiver's instance variables:
		bounds: 	0 at 0 corner: 150 at 120
		owner: 	nil
		submorphs: 	{a ScrollBar(3757801) . a TransformMorph(3733432)}
		fullBounds: 	nil
		color: 	Color white
		extension: 	a MorphExtension (1004834) [other:  (minWidth -> 60)
(keyboardCaptur...etc...
		borderWidth: 	1
		borderColor: 	(Color r: 0.6 g: 0.6 b: 0.6)
		model: 	a TestRunner
		slotName: 	nil
		open: 	false
		scrollBar: 	a ScrollBar(3757801)
		scroller: 	a TransformMorph(3733432)
		retractableScrollBar: 	false
		scrollBarOnLeft: 	false
		getMenuSelector: 	#classMenu:
		getMenuTitleSelector: 	nil
		hasFocus: 	false
		hScrollBar: 	a ScrollBar(1984487)
		hScrollBarPolicy: 	#never
		vScrollBarPolicy: 	#whenNeeded
		scrollBarThickness: 	10
		list: 	{a Text for 'TestCase' . '  AliasTest' . '  AllocationTest' .
'  Arbitrar...etc...
		getListSelector: 	#classList
		getListSizeSelector: 	nil
		getListElementSelector: 	nil
		getIndexSelector: 	#classSelected
		setIndexSelector: 	#classSelected:
		keystrokeActionSelector: 	#arrowKey:from:
		autoDeselect: 	true
		lastKeystrokeTime: 	nil
		lastKeystrokes: 	nil
		lastClickTime: 	nil
		doubleClickSelector: 	nil
		handlesBasicKeys: 	nil
		potentialDropRow: 	nil
		hoverRow: 	nil
		listMorph: 	a LazyListMorph(3369510)
		hScrollRangeCache: 	{447 . 442 . 363 . a Text for 'TestCase' . '
YearMonthWeekT...etc...
		keystrokePreviewSelector: 	nil
		priorSelection: 	nil
		getIconSelector: 	nil
		getHelpSelector: 	nil
		dragOnOrOff: 	nil
		getSelectionListSelector: 	#classAt:
		setSelectionListSelector: 	#classAt:put:

PluggableListMorphOfMany>>on:list:primarySelection:changePrimarySelection:listSelection:changeListSelection:menu:keystroke:
	Receiver: a PluggableListMorphOfMany(2024647)
	Arguments and temporary variables:
		anObject: 	a TestRunner
		listSel: 	#classList
		getSelectionSel: 	#classSelected
		setSelectionSel: 	#classSelected:
		getListSel: 	#classAt:
		setListSel: 	#classAt:put:
		getMenuSel: 	#classMenu:
		keyActionSel: 	#arrowKey:from:
	Receiver's instance variables:
		bounds: 	0 at 0 corner: 150 at 120
		owner: 	nil
		submorphs: 	{a ScrollBar(3757801) . a TransformMorph(3733432)}
		fullBounds: 	nil
		color: 	Color white
		extension: 	a MorphExtension (1004834) [other:  (minWidth -> 60)
(keyboardCaptur...etc...
		borderWidth: 	1
		borderColor: 	(Color r: 0.6 g: 0.6 b: 0.6)
		model: 	a TestRunner
		slotName: 	nil
		open: 	false
		scrollBar: 	a ScrollBar(3757801)
		scroller: 	a TransformMorph(3733432)
		retractableScrollBar: 	false
		scrollBarOnLeft: 	false
		getMenuSelector: 	#classMenu:
		getMenuTitleSelector: 	nil
		hasFocus: 	false
		hScrollBar: 	a ScrollBar(1984487)
		hScrollBarPolicy: 	#never
		vScrollBarPolicy: 	#whenNeeded
		scrollBarThickness: 	10
		list: 	{a Text for 'TestCase' . '  AliasTest' . '  AllocationTest' .
'  Arbitrar...etc...
		getListSelector: 	#classList
		getListSizeSelector: 	nil
		getListElementSelector: 	nil
		getIndexSelector: 	#classSelected
		setIndexSelector: 	#classSelected:
		keystrokeActionSelector: 	#arrowKey:from:
		autoDeselect: 	true
		lastKeystrokeTime: 	nil
		lastKeystrokes: 	nil
		lastClickTime: 	nil
		doubleClickSelector: 	nil
		handlesBasicKeys: 	nil
		potentialDropRow: 	nil
		hoverRow: 	nil
		listMorph: 	a LazyListMorph(3369510)
		hScrollRangeCache: 	{447 . 442 . 363 . a Text for 'TestCase' . '
YearMonthWeekT...etc...
		keystrokePreviewSelector: 	nil
		priorSelection: 	nil
		getIconSelector: 	nil
		getHelpSelector: 	nil
		dragOnOrOff: 	nil
		getSelectionListSelector: 	#classAt:
		setSelectionListSelector: 	#classAt:put:

PluggableListMorphOfMany
class>>on:list:primarySelection:changePrimarySelection:listSelection:changeListSelection:menu:
	Receiver: PluggableListMorphOfMany
	Arguments and temporary variables:
		anObject: 	a TestRunner
		listSel: 	#classList
		getSelectionSel: 	#classSelected
		setSelectionSel: 	#classSelected:
		getListSel: 	#classAt:
		setListSel: 	#classAt:put:
		getMenuSel: 	#classMenu:
	Receiver's instance variables:
		superclass: 	PluggableListMorph
		methodDict: 	a
MethodDictionary(#itemSelectedAmongMultiple:->(PluggableListMorphOfMany...etc...
		format: 	65582
		instanceVariables: 	#('dragOnOrOff' 'getSelectionListSelector'
'setSelectionList...etc...
		organization: 	('drawing' listSelectionAt: listSelectionAt:put:)
('event handlin...etc...
		subclasses: 	nil
		name: 	#PluggableListMorphOfMany
		classPool: 	nil
		sharedPools: 	nil
		environment: 	Smalltalk
		category: 	#'Morphic-Pluggable Widgets'
		prototype: 	nil

MorphicToolBuilder>>buildPluggableMultiSelectionList:
	Receiver: a MorphicToolBuilder
	Arguments and temporary variables:
		aSpec: 	a PluggableMultiSelectionListSpec
		widget: 	nil
		listClass: 	PluggableListMorphOfMany
	Receiver's instance variables:
		parent: 	a PluggableSystemWindow<Untitled Window>(322933)
		widgets: 	nil
		panes: 	an OrderedCollection(#categoryList)
		parentMenu: 	nil

PluggableMultiSelectionListSpec>>buildWith:
	Receiver: a PluggableMultiSelectionListSpec
	Arguments and temporary variables:
		builder: 	a MorphicToolBuilder
	Receiver's instance variables:
		name: 	nil
		help: 	nil
		model: 	a TestRunner
		frame: 	a LayoutFrame
		color: 	nil
		minimumExtent: 	nil
		margin: 	nil
		padding: 	nil
		horizontalResizing: 	nil
		verticalResizing: 	nil
		list: 	#classList
		getIndex: 	#classSelected
		setIndex: 	#classSelected:
		getSelected: 	nil
		setSelected: 	nil
		menu: 	#classMenu:
		keyPress: 	nil
		autoDeselect: 	nil
		dragItem: 	nil
		dropItem: 	nil
		dropAccept: 	nil
		doubleClick: 	nil
		listSize: 	nil
		listItem: 	nil
		keystrokePreview: 	nil
		icon: 	nil
		vScrollBarPolicy: 	nil
		hScrollBarPolicy: 	nil
		dragStarted: 	nil
		helpItem: 	nil
		filterableList: 	nil
		clearFilterAutomatically: 	nil
		getSelectionList: 	#classAt:
		setSelectionList: 	#classAt:put:

[] in MorphicToolBuilder(ToolBuilder)>>buildAll:in:
	Receiver: a MorphicToolBuilder
	Arguments and temporary variables:
<<error during printing>
	Receiver's instance variables:
		parent: 	a PluggableSystemWindow<Untitled Window>(322933)
		widgets: 	nil
		panes: 	an OrderedCollection(#categoryList)
		parentMenu: 	nil

OrderedCollection>>do:
	Receiver: an OrderedCollection(a PluggableMultiSelectionListSpec a
PluggableMultiSelectionListSpec a...etc...
	Arguments and temporary variables:
		aBlock: 	[closure] in MorphicToolBuilder(ToolBuilder)>>buildAll:in:
		index: 	2
	Receiver's instance variables:
		array: 	{a PluggableMultiSelectionListSpec . a
PluggableMultiSelectionListSpec ....etc...
		firstIndex: 	1
		lastIndex: 	6

MorphicToolBuilder(ToolBuilder)>>buildAll:in:
	Receiver: a MorphicToolBuilder
	Arguments and temporary variables:
		aList: 	an OrderedCollection(a PluggableMultiSelectionListSpec a
PluggableMultiSelectionListSpec...etc...
		newParent: 	a PluggableSystemWindow<Untitled Window>(322933)
		prior: 	nil
	Receiver's instance variables:
		parent: 	a PluggableSystemWindow<Untitled Window>(322933)
		widgets: 	nil
		panes: 	an OrderedCollection(#categoryList)
		parentMenu: 	nil

MorphicToolBuilder>>buildPluggableWindow:
	Receiver: a MorphicToolBuilder
	Arguments and temporary variables:
		aSpec: 	a PluggableWindowSpec
		widget: 	a PluggableSystemWindow<Untitled Window>(322933)
		label: 	nil
	Receiver's instance variables:
		parent: 	a PluggableSystemWindow<Untitled Window>(322933)
		widgets: 	nil
		panes: 	an OrderedCollection(#categoryList)
		parentMenu: 	nil

PluggableWindowSpec>>buildWith:
	Receiver: a PluggableWindowSpec
	Arguments and temporary variables:
		builder: 	a MorphicToolBuilder
	Receiver's instance variables:
		name: 	nil
		help: 	nil
		model: 	a TestRunner
		frame: 	nil
		color: 	nil
		minimumExtent: 	nil
		margin: 	nil
		padding: 	nil
		horizontalResizing: 	nil
		verticalResizing: 	nil
		children: 	an OrderedCollection(a PluggableMultiSelectionListSpec a
PluggableMultiSelectionListSpec...etc...
		layout: 	nil
		wantsResizeHandles: 	nil
		spacing: 	nil
		label: 	'Test Runner in environment Smalltalk'
		extent: 	640 at 480
		closeAction: 	nil
		multiWindowStyle: 	nil

MorphicToolBuilder(ToolBuilder)>>build:
	Receiver: a MorphicToolBuilder
	Arguments and temporary variables:
		anObject: 	a PluggableWindowSpec
	Receiver's instance variables:
		parent: 	a PluggableSystemWindow<Untitled Window>(322933)
		widgets: 	nil
		panes: 	an OrderedCollection(#categoryList)
		parentMenu: 	nil

TestRunner>>buildWith:
	Receiver: a TestRunner
	Arguments and temporary variables:
		aBuilder: 	a MorphicToolBuilder
		window: 	a PluggableWindowSpec
	Receiver's instance variables:
		dependents: 	a DependentsArray(a PluggableSystemWindow<Untitled
Window>(322933) ...etc...
		categories: 	#(#'KernelTests-Classes' #'KernelTests-Methods'
#'KernelTests-Numbe...etc...
		categoriesSelected: 	a Set()
		classes: 	{TestCase . AliasTest . AllocationTest .
ArbitraryObjectSocketTestCase...etc...
		classIndex: 	nil
		classesSelected: 	a Set(RectangleTest TextStyleTest HelpIconsTest
ClassVarScopeTest...etc...
		failedList: 	#()
		failedSelected: 	nil
		errorList: 	#()
		errorSelected: 	nil
		lastUpdate: 	3667456862
		result: 	0 run, 0 passes, 0 expected failures, 0 failures, 0 errors,
0 unexpecte...etc...
		previousRun: 	nil
		categoryPattern: 	nil
		classPattern: 	nil
		environment: 	Smalltalk

MorphicToolBuilder(ToolBuilder)>>build:
	Receiver: a MorphicToolBuilder
	Arguments and temporary variables:
		anObject: 	a TestRunner
	Receiver's instance variables:
		parent: 	a PluggableSystemWindow<Untitled Window>(322933)
		widgets: 	nil
		panes: 	an OrderedCollection(#categoryList)
		parentMenu: 	nil

MorphicToolBuilder>>open:
	Receiver: a MorphicToolBuilder
	Arguments and temporary variables:
		anObject: 	a TestRunner
		morph: 	nil
	Receiver's instance variables:
		parent: 	a PluggableSystemWindow<Untitled Window>(322933)
		widgets: 	nil
		panes: 	an OrderedCollection(#categoryList)
		parentMenu: 	nil

ToolBuilder class>>open:
	Receiver: ToolBuilder
	Arguments and temporary variables:
		aClass: 	a TestRunner
	Receiver's instance variables:
		superclass: 	Object
		methodDict: 	a MethodDictionary(#build:->(ToolBuilder>>#build: "a
CompiledMethod...etc...
		format: 	65537
		instanceVariables: 	#('parent')
		organization: 	('accessing' parent parent: widgetAt: widgetAt:ifAbsent:)
('build...etc...
		subclasses: 	{SUnitToolBuilder . MorphicToolBuilder . MVCToolBuilder}
		name: 	#ToolBuilder
		classPool: 	a Dictionary()
		sharedPools: 	nil
		environment: 	Smalltalk
		category: 	#'ToolBuilder-Kernel'

TestRunner class>>open
	Receiver: TestRunner
	Arguments and temporary variables:

	Receiver's instance variables:
		superclass: 	Model
		methodDict: 	a MethodDictionary(size 109)
		format: 	65552
		instanceVariables: 	#('categories' 'categoriesSelected' 'classes'
'classIndex' '...etc...
		organization: 	('accessing' baseClass classesSelected environment
environment: suiteAll...etc...
		subclasses: 	nil
		name: 	#TestRunner
		classPool: 	nil
		sharedPools: 	nil
		environment: 	Smalltalk
		category: 	#SUnitGUI


--- The full stack ---
UndefinedObject(Object)>>doesNotUnderstand: #>
PluggableListMorphOfMany(PluggableListMorph)>>uiIndexFor:
PluggableListMorphOfMany(PluggableListMorph)>>updateList
PluggableListMorphOfMany(PluggableListMorph)>>on:list:selected:changeSelected:menu:keystroke:
PluggableListMorphOfMany>>on:list:primarySelection:changePrimarySelection:listSelection:changeListSelection:menu:keystroke:
PluggableListMorphOfMany
class>>on:list:primarySelection:changePrimarySelection:listSelection:changeListSelection:menu:
MorphicToolBuilder>>buildPluggableMultiSelectionList:
PluggableMultiSelectionListSpec>>buildWith:
[] in MorphicToolBuilder(ToolBuilder)>>buildAll:in:
OrderedCollection>>do:
MorphicToolBuilder(ToolBuilder)>>buildAll:in:
MorphicToolBuilder>>buildPluggableWindow:
PluggableWindowSpec>>buildWith:
MorphicToolBuilder(ToolBuilder)>>build:
TestRunner>>buildWith:
MorphicToolBuilder(ToolBuilder)>>build:
MorphicToolBuilder>>open:
ToolBuilder class>>open:
TestRunner class>>open
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[] in MenuItemMorph>>invokeWithEvent:
BlockClosure>>ensure:
CursorWithMask(Cursor)>>showWhile:
MenuItemMorph>>invokeWithEvent:
MenuItemMorph>>mouseUp:
MenuItemMorph>>handleMouseUp:
MouseButtonEvent>>sentTo:
MenuItemMorph(Morph)>>handleEvent:
MorphicEventDispatcher>>dispatchEvent:withHandler:withMorph:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with:
MenuItemMorph(Morph)>>processEvent:using:
[] in MorphicEventDispatcher>>dispatchEvent:toSubmorphsOf:
Array(SequenceableCollection)>>do:
DockingBarMenuMorph(Morph)>>submorphsDo:
MorphicEventDispatcher>>dispatchEvent:toSubmorphsOf:
MorphicEventDispatcher>>dispatchEvent:withHandler:withMorph:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with:
DockingBarMenuMorph(Morph)>>processEvent:using:
MorphicEventDispatcher>>doProcessingForFocusEvent:with:
MorphicEventDispatcher>>dispatchFocusEventFully:with:
DockingBarMenuMorph(MenuMorph)>>processFocusEvent:using:
DockingBarMenuMorph(Morph)>>processFocusEvent:
[] in [] in [] in HandMorph>>sendFocusEvent:to:clear:
BlockClosure>>ensure:
MouseButtonEvent(MorphicEvent)>>becomeActiveDuring:
[] in [] in HandMorph>>sendFocusEvent:to:clear:
BlockClosure>>ensure:
HandMorph>>becomeActiveDuring:
[] in HandMorph>>sendFocusEvent:to:clear:
BlockClosure>>ensure:
PasteUpMorph>>becomeActiveDuring:
HandMorph>>sendFocusEvent:to:clear:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendMouseEvent:
HandMorph>>handleEvent:


More information about the Squeak-dev mailing list