[squeak-dev] The Trunk: System-mt.1123.mcz

Jakob Reschke forums.jakob at resfarm.de
Wed Nov 20 15:51:49 UTC 2019


Is it possible to write meaningful smoke  tests for such things as opening
an MVC project from Morphic, entering it and going back? Without totally
deranging the image that runs the tests?


Marcel Taeumel <marcel.taeumel at hpi.de> schrieb am Mi., 20. Nov. 2019, 14:47:

> Hi, all.
>
> Sorry! Just fixed that oversight in Trunk:
>
> System-mt.1124
> Morphic-mt.1589
> ST80-mt.243
>
> Best,
> Marcel
>
> Am 20.11.2019 13:31:08 schrieb David T. Lewis <lewis at mail.msen.com>:
> I think there is a problem somewhere in this update. After loading
> System-mt.1123, I can no longer open a new MVC project. Reverting to
> System-mt.1121 fixes it. The issue seems to be in Project>>previewImageForm
> which calls Project>>viewSize, but the viewSize for the (MVC) project
> is nil when looking at it from Morphic.
>
> I tried changing to this, which seems to fix the initial failure:
>
> Project>>previewImageForm
> ^ self imageForm scaledToSize: Project current viewSize
>
> But that leads to another error in ProjectViewMorph>>enter when
> entering the MVC project.
>
> I don't have time to look at it further right now, but I'll do so
> later if no one gets to it first.
>
> Dave.
>
>
> On Tue, Nov 19, 2019 at 11:05:37AM +0000, commits at source.squeak.org wrote:
> > Marcel Taeumel uploaded a new version of System to project The Trunk:
> > http://source.squeak.org/trunk/System-mt.1123.mcz
> >
> > ==================== Summary ====================
> >
> > Name: System-mt.1123
> > Author: mt
> > Time: 19 November 2019, 12:05:29.547265 pm
> > UUID: 084b44a2-c237-c445-b14c-c84158296a4c
> > Ancestors: System-mt.1121, System-ct.1094, System-ct.1095,
> System-ct.1096, System-ct.1104, System-ct.1105, System-ct.1106,
> System-ct.1112
> >
> > Merge, merge, merge. Fixes in Project, minor category clean-up in
> SmalltalkImage, better class comment in MethodReference, new utility method
> in ChangeSet.
> >
> > =============== Diff against System-mt.1121 ===============
> >
> > Item was added:
> > + ----- Method: ChangeSet class>>removeEmptyChangeSets (in category
> 'enumerating') -----
> > + removeEmptyChangeSets
> > + "Remove all change sets that are empty
> > + and which are not nailed down by belonging to a Project."
> > + "ChangeSet removeEmptyChangeSets"
> > + | toGo |
> > + toGo := self allChangeSets
> > + select: [:cs | cs isEmpty and: [cs okayToRemoveInforming: false]]
> > + thenDo: [:cs | self removeChangeSet: cs].
> > + self inform: toGo size printString, ' change set(s) removed.'!
> >
> > Item was changed:
> > Object subclass: #MethodReference
> > instanceVariableNames: 'classSymbol classIsMeta methodSymbol
> stringVersion category environment'
> > classVariableNames: 'InvalidReference'
> > poolDictionaries: ''
> > category: 'System-Tools'!
> >
> > + !MethodReference commentStamp: 'ct 9/21/2019 17:22' prior: 0!
> > + A MethodReference is is a lightweight proxy for a CompiledMethod. Has
> methods to refer to the CompileMethod's source statements, byte codes. Is
> heavily used by Tools.
> > - !MethodReference commentStamp: 'tlk 5/9/2006 18:43' prior: 0!
> > - A MethodReference is is a lightweight proxy for a CompiledMethod. Has
> methods for pointed to the CompileMethod's source statements, byte codes.
> Is heavily used my Tools.
> >
> > Instance Variables
> > + classIsMeta: Boolean class vs. instance
> > - classIsMeta: Boolean class vs. instance
> > classSymbol: Symbol for method's class (without class keyword if meta)
> > + methodSymbol: Symbol for method's selector
> > - methodSymbol: Symbol for method's selector
> > stringVersion: 'Class>>selector:' format
> >
> > !
> >
> > Item was changed:
> > ----- Method: Project>>okToChange (in category 'release') -----
> > okToChange
> > "Answer whether the window in which the project is housed can be
> dismissed -- which is destructive. We never clobber a project without
> confirmation"
> >
> > | answer |
> > (self isCurrentProject and: [self isTopProject]) ifTrue: [
> > self inform: 'You cannot close the top project.'.
> > ^ false].
> >
> > (self confirm: ('Do you really want to delete the project\{1}\and all
> its content?' withCRs translated format:{self name}))
> > ifFalse: [^ false].
> >
> > self subProjects ifNotEmpty: [:sp |
> > answer := Project uiManager
> > chooseFrom: #(
> > "1" 'Lift all sub-projects'
> > "2" 'Discard all sub-projects (NO UNDO!!)'
> > "3 or 0" 'Cancel')
> > lines: #(2)
> > title: ('The project {1}\contains {2} sub-project(s).' withCRs
> translated format:{self name. sp size}).
> >
> > (answer = 0 or: [answer = 3]) ifTrue: [^ false].
> > answer = 1 ifTrue: [self liftSubProjects. ^ true].
> > + answer = 2 ifTrue: [^ sp allSatisfy: [:ea |
> > + [ea okToChange] valueSuppressingMessages: {'*delete the project*and
> all its content*'}]]].
> > - answer = 2 ifTrue: [^ sp allSatisfy: [:ea | ea okToChange]]].
> >
> > ^ true!
> >
> > Item was changed:
> > ----- Method: Project>>previewImageForm (in category 'displaying') -----
> > previewImageForm
> >
> > + ^ self imageForm scaledToSize: self viewSize!
> > - ^ self imageForm!
> >
> > Item was removed:
> > - ----- Method: Project>>setViewSize: (in category 'accessing') -----
> > - setViewSize: aPoint
> > - viewSize := aPoint!
> >
> > Item was added:
> > + ----- Method: Project>>transcript (in category 'accessing') -----
> > + transcript
> > +
> > + ^ transcript!
> >
> > Item was added:
> > + ----- Method: Project>>viewSize: (in category 'accessing') -----
> > + viewSize: aPoint
> > + viewSize := aPoint!
> >
> > Item was changed:
> > + ----- Method: SmalltalkImage>>add:toList:after: (in category 'startup
> and shutdown list') -----
> > - ----- Method: SmalltalkImage>>add:toList:after: (in category 'startup
> list') -----
> > add: aClass toList: startUpOrShutDownList after: predecessor
> > "Add the name of aClass to the startUp or shutDown list.
> > Add it after the name of predecessor"
> >
> > (Smalltalk globals includes: aClass)
> > ifFalse: [self error: aClass name , ' cannot be found in Smalltalk
> dictionary.'].
> >
> > "Add after predecessor, moving it if already there."
> > (Smalltalk globals includes: predecessor)
> > ifFalse: [self error: predecessor name , ' cannot be found in Smalltalk
> dictionary.'].
> > (startUpOrShutDownList includes: predecessor name)
> > ifFalse: [self error: predecessor name , ' cannot be found in the
> list.'].
> > startUpOrShutDownList remove: aClass name ifAbsent:[].
> > startUpOrShutDownList add: aClass name after: predecessor name!
> >
> > Item was changed:
> > + ----- Method: SmalltalkImage>>add:toList:before: (in category 'startup
> and shutdown list') -----
> > - ----- Method: SmalltalkImage>>add:toList:before: (in category 'startup
> list') -----
> > add: aClass toList: startUpOrShutDownList before: successor
> > "Add the name of aClass to the startUp or shutDown list.
> > Add it before the name of successor"
> >
> > (Smalltalk globals includes: aClass)
> > ifFalse: [self error: aClass name , ' cannot be found in Smalltalk
> dictionary.'].
> >
> > "Add before successor, moving it if already there."
> > (Smalltalk globals includes: successor)
> > ifFalse: [self error: successor name , ' cannot be found in Smalltalk
> dictionary.'].
> > (startUpOrShutDownList includes: successor name)
> > ifFalse: [self error: successor name , ' cannot be found in the list.'].
> > startUpOrShutDownList remove: aClass name ifAbsent: [].
> > startUpOrShutDownList add: aClass name before: successor name.!
> >
> > Item was changed:
> > + ----- Method: SmalltalkImage>>addToShutDownList: (in category 'startup
> and shutdown list') -----
> > - ----- Method: SmalltalkImage>>addToShutDownList: (in category 'startup
> list') -----
> > addToShutDownList: aClass
> > "This will add a ref to this class at the BEGINNING of the shutDown
> list."
> > "No-op if already in the list."
> >
> > (ShutDownList includes: aClass name) ifFalse: [ShutDownList addFirst:
> aClass name]!
> >
> > Item was changed:
> > + ----- Method: SmalltalkImage>>addToShutDownList:before: (in category
> 'startup and shutdown list') -----
> > - ----- Method: SmalltalkImage>>addToShutDownList:before: (in category
> 'startup list') -----
> > addToShutDownList: aClass before: predecessor
> >
> > self add: aClass toList: ShutDownList before: predecessor!
> >
> > Item was changed:
> > + ----- Method: SmalltalkImage>>addToStartUpList: (in category 'startup
> and shutdown list') -----
> > - ----- Method: SmalltalkImage>>addToStartUpList: (in category 'startup
> list') -----
> > addToStartUpList: aClass
> > "This will add a ref to this class at the END of the startUp list."
> > "No-op if already in the list."
> >
> > (StartUpList includes: aClass name) ifFalse: [StartUpList addLast:
> aClass name]!
> >
> > Item was changed:
> > + ----- Method: SmalltalkImage>>addToStartUpList:before: (in category
> 'startup and shutdown list') -----
> > - ----- Method: SmalltalkImage>>addToStartUpList:before: (in category
> 'startup list') -----
> > addToStartUpList: aClass before: predecessor
> >
> > self add: aClass toList: StartUpList before: predecessor!
> >
> > Item was added:
> > + ----- Method: SmalltalkImage>>at:ifPresent:ifAbsent: (in category
> 'accessing') -----
> > + at: key ifPresent: aBlock ifAbsent: anotherBlock
> > + "Lookup the given key in the globals. If it is present, answer the
> value of evaluating the given block with the value associated with the key.
> Otherwise, evaluate anotherBlock and answer its result."
> > +
> > + ^globals at: key ifPresent: aBlock ifAbsent: anotherBlock!
> >
> > Item was changed:
> > + ----- Method: SmalltalkImage>>removeFromShutDownList: (in category
> 'startup and shutdown list') -----
> > - ----- Method: SmalltalkImage>>removeFromShutDownList: (in category
> 'snapshot and quit') -----
> > removeFromShutDownList: aClass
> >
> > ShutDownList remove: aClass name ifAbsent: []!
> >
> > Item was changed:
> > + ----- Method: SmalltalkImage>>removeFromStartUpList: (in category
> 'startup and shutdown list') -----
> > - ----- Method: SmalltalkImage>>removeFromStartUpList: (in category
> 'snapshot and quit') -----
> > removeFromStartUpList: aClass
> >
> > StartUpList remove: aClass name ifAbsent: []!
> >
> >
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20191120/45476f11/attachment.html>


More information about the Squeak-dev mailing list