Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- 1 participants
- 144619 messages
[Pharo-project] DuplicatedVariableError: styler is already defined in PluggableTextMorph
by Sven Van Caekenberghe
When trying to do:
Gofer new renggli: 'omnibrowser';
package: 'OmniBrowser';
package: 'OB-Standard';
package: 'OB-Morphic';
package: 'OB-Shout';
package: 'OB-Refactory';
package: 'OB-Regex';
package: 'OB-SUnitIntegration';
load
(Part of the build scripts of LR's builder scripting package)
I get the following error:
DuplicatedVariableError: styler is already defined in PluggableTextMorph
while loading the definitiion of OBPluggableTextMorphWithShout in PharoCore 1.2 #12294.
I have seen some things flying around on the mailinglist related indirectly to this issue.
Is there a solution ?
Thx,
Sven
Jan. 12, 2011
Re: [Pharo-project] SUNit
by Mariano Martinez Peck
On Wed, Jan 12, 2011 at 7:13 PM, Benoit St-Jean <bstjean(a)yahoo.com> wrote:
> Is there any way to initialize a TestCase subclass *once* and set up all
> the necessary stuff I need for all test cases in that subclass ?
>
> Let's say I want to test some socket stuff and connect only ONCE (and reuse
> that socket over and over, leaving it open), how should I proceed? I don't
> want to open and close the socket with #setUp and #tearDown each and every
> time so a one-time initialization for the class (and a proper cleanup )
> everytime I run the test suite is what I am looking for. Suggestions? Is
> there any Sunit version/fork/extension that would allow me to do that?
>
>
As Lukas said, the best solution here is using TestResource. I did exaclty
what you describe there for the SqueakDBX tests and the connections to the
database.
> Did I miss something obvious and I have exactly what I need in front on me
> in my class browser right now or we can't do this with what's there now?
>
> If it's not there, does anyone think it would be worth we add such a
> feature ? I volunteer to get it done!
>
> tia!
>
> -----------------
> Benoit St-Jean
> Yahoo! Messenger: bstjean
> A standpoint is an intellectual horizon of radius zero.
> (Albert Einstein)
>
>
>
Jan. 12, 2011
Re: [Pharo-project] SUNit
by Lukas Renggli
TestResource is what you look for.
Lukas
On 12 January 2011 19:13, Benoit St-Jean <bstjean(a)yahoo.com> wrote:
> Is there any way to initialize a TestCase subclass *once* and set up all the
> necessary stuff I need for all test cases in that subclass ?
>
> Let's say I want to test some socket stuff and connect only ONCE (and reuse
> that socket over and over, leaving it open), how should I proceed? I don't
> want to open and close the socket with #setUp and #tearDown each and every
> time so a one-time initialization for the class (and a proper cleanup )
> everytime I run the test suite is what I am looking for. Suggestions? Is
> there any Sunit version/fork/extension that would allow me to do that?
>
> Did I miss something obvious and I have exactly what I need in front on me
> in my class browser right now or we can't do this with what's there now?
>
> If it's not there, does anyone think it would be worth we add such a feature
> ? I volunteer to get it done!
>
> tia!
>
> -----------------
> Benoit St-Jean
> Yahoo! Messenger: bstjean
> A standpoint is an intellectual horizon of radius zero.
> (Albert Einstein)
>
>
--
Lukas Renggli
www.lukas-renggli.ch
Jan. 12, 2011
Re: [Pharo-project] Issue 3224 in pharo: Migrating MethodReference to MethodReferenceWithSource
by pharo@googlecode.com
Comment #15 on issue 3224 by Benjamin.VanRyseghem: Migrating
MethodReference to MethodReferenceWithSource
http://code.google.com/p/pharo/issues/detail?id=3224
In addition of your cs :)
Jan. 12, 2011
Re: [Pharo-project] Socket question (Was Re: Xtreams up to date)
by Schwab,Wilhelm K
Attached is some code I wrote a while ago based on advice that ConnectionQueue and SocketStream are correct starting points. I am a big believer that network code should do what it is told until it told to stop; timeouts should be in the hands of the user, application programmer or server administrator, not decided by the socket layer.
________________________________________
From: pharo-project-bounces(a)lists.gforge.inria.fr [pharo-project-bounces(a)lists.gforge.inria.fr] On Behalf Of mkobetic(a)gmail.com [mkobetic(a)gmail.com]
Sent: Wednesday, January 12, 2011 1:13 PM
To: pharo-project(a)lists.gforge.inria.fr
Subject: [Pharo-project] Socket question (Was Re: Xtreams up to date)
I started looking at the Socket failures that I can reproduce and I can't wrap my head around the SocketReadingWritingTest>>setUp. Based on what I know about TCP sockets it doesn't make sense to me. AFAIK to get both ends of a connected TCP connection (lacking a socketpair call) I need 3 sockets. A listening socket, a client socket (doing connect) and finally the server socket that comes out as a result of accept on the listener. So I'd expect to see something like this in the setUp:
| data input output listener socket1 socket2 process sync |
Socket initializeNetwork.
sync := Semaphore new.
listener := Socket newTCP.
listener listenOn: 9999.
process := [ [ socket1 := listener accept ] ensure: [ listener close ]. sync signal ] fork.
socket2 := Socket newTCP.
socket2 connectTo: (NetNameResolver localHostAddress) port: 9999.
sync wait.
output := socket1 reading.
input := socket2 writing.
Surprisingly, the above doesn't work, while many of the Socket tests seem to pass for me despite my brain telling me that it can't possibly. Can anyone shed some light on this for me ?
Thanks,
Martin
Jan. 12, 2011
Re: [Pharo-project] [BUG]LargePositiveInteger(Object)>>error:
by Eliot Miranda
I'd still appreciate a clear description of how to reproduce (including OS
etc) Fetching the context from a large email with a backtrace in it etc is
not one of my strong points.
On Wed, Jan 12, 2011 at 5:08 AM, Carla F. Griggio
<carla.griggio(a)gmail.com>wrote:
> Yes, it happens after save and quit! And I use Cog VM.
>
> Great that you could reproduce, I didn't know what was causing it.
>
>
>
> On Tue, Jan 11, 2011 at 10:36 PM, Stuart Herring <
> st-lists(a)stuartherring.com> wrote:
>
>> It seems to be related to the VM.
>> To reproduce, just open a browser and save and quit.
>> Then opening the image with Cog r2344 or r2345 will result in this
>> error - it seems to be happening in the startup process.
>> If you debug it, the code that apparently causes the problem actually
>> works fine when manually invoked.
>>
>> Earlier versions of Cog don't have this problem - r2316 works fine.
>> I'm using the standard 1.1.1 image on Linux (Omnibrowser is
>> OB-Standard-lr.479)
>>
>> Regards,
>> Stuart
>>
>> On Wed, Jan 12, 2011 at 3:06 AM, Pat Maddox <patmaddox(a)me.com> wrote:
>> > I used the public 1.1.1 oneclick
>> >
>> >
>> > On Jan 6, 2011, at 1:30 PM, Stéphane Ducasse wrote:
>> >
>> >> Thanks pat for the report.
>> >>
>> >> Now could you let us know if you loaded OB or if you used the public
>> 1.1.1 oneclick?
>> >>
>> >> Stef
>> >>
>> >> On Jan 6, 2011, at 9:18 PM, Pat Maddox wrote:
>> >>
>> >>> I opened up an OmniBrowser and scrolled to the very bottom. Then I
>> clicked on my package name, and then a class name.
>> >>>
>> >>> 6 January 2011 12:12:44 pm
>> >>>
>> >>> VM: Mac OS - intel - 1065 - Croquet Closure Cog VM [CoInterpreter
>> VMMaker-oscog.43] Croquet Cog 3.0.0
>> >>> Image: Pharo-1.1.1-- [Latest update: #11414]
>> >>>
>> >>> SecurityManager state:
>> >>> Restricted: false
>> >>> FileAccess: true
>> >>> SocketAccess: true
>> >>> Working Dir /Users/padillac/code/pharo_image
>> >>> Trusted Dir /foobar/tooBar/forSqueak/bogus/
>> >>> Untrusted Dir
>> /Users/padillac/Library/Preferences/Croquet/Internet/Untrusted
>> >>>
>> >>> LargePositiveInteger(Object)>>error:
>> >>> Receiver: 4287876447
>> >>> Arguments and temporary variables:
>> >>> aString: 'MessageNotUnderstood:
>> LargePositiveInteger>>pixelValueForDepth:'
>> >>> Receiver's instance variables:
>> >>> 4287876447
>> >>>
>> >>> [] in WorldState>>displayWorldSafely:
>> >>> Receiver: a WorldState
>> >>> Arguments and temporary variables:
>> >>> err: 'MessageNotUnderstood:
>> LargePositiveInteger>>pixelValueForDepth:'
>> >>> rcvr: 4287876447
>> >>> errCtx: OBLazyListMorph>>display:atRow:on:
>> >>> errMorph: an OBLazyListMorph(969408512)
>> >>> Receiver's instance variables:
>> >>> hands: an Array(a HandMorph(843055104))
>> >>> viewBox: 0@0 corner: 2552@1374
>> >>> canvas: a FormCanvas on:
>> DisplayScreen(2552x1374x32)
>> >>> damageRecorder: a DamageRecorder
>> >>> stepList: a Heap(StepMessage(#stepAt: -> a
>> SystemWindow(154664960))(a SystemWin...etc...
>> >>> lastStepTime: 805471
>> >>> lastStepMessage: nil
>> >>> lastCycleTime: 805463
>> >>> commandHistory: a CommandHistory
>> >>> alarms: a Heap()
>> >>> lastAlarmTime: 805471
>> >>> menuBuilder: a PragmaMenuBuilder
>> >>>
>> >>> BlockClosure>>valueWithPossibleArgs:
>> >>> Receiver: [:err :rcvr |
>> >>> | errCtx errMorph |
>> >>> errCtx := thisContext.
>> >>> [errCtx := errCtx sender.
>> >>> [err...etc...
>> >>> Arguments and temporary variables:
>> >>> anArray: #('MessageNotUnderstood:
>> LargePositiveInteger>>pixelValueForDepth:' 42...etc...
>> >>> Receiver's instance variables:
>> >>> outerContext: WorldState>>displayWorldSafely:
>> >>> startpc: 73
>> >>> numArgs: 2
>> >>>
>> >>> [] in BlockClosure>>ifError:
>> >>> Receiver: [aWorld displayWorld]
>> >>> Arguments and temporary variables:
>> >>> errorHandlerBlock: MessageNotUnderstood:
>> LargePositiveInteger>>pixelValueForDep...etc...
>> >>> ex: [:err :rcvr |
>> >>> | errCtx errMorph |
>> >>> errCtx := thisContext.
>> >>> [errCtx := errCt...etc...
>> >>> Receiver's instance variables:
>> >>> outerContext: WorldState>>displayWorldSafely:
>> >>> startpc: 66
>> >>> numArgs: 0
>> >>>
>> >>> BlockClosure>>valueWithPossibleArgs:
>> >>> Receiver: [:ex | errorHandlerBlock valueWithPossibleArgs: {ex
>> description. ex receiver}]
>> >>> Arguments and temporary variables:
>> >>> anArray: an Array(MessageNotUnderstood:
>> LargePositiveInteger>>pixelValueForDept...etc...
>> >>> Receiver's instance variables:
>> >>> outerContext: BlockClosure>>ifError:
>> >>> startpc: 40
>> >>> numArgs: 1
>> >>>
>> >>> [] in MethodContext(ContextPart)>>handleSignal:
>> >>> Receiver: BlockClosure>>on:do:
>> >>> Arguments and temporary variables:
>> >>> exception: MessageNotUnderstood:
>> LargePositiveInteger>>pixelValueForDepth:
>> >>> Receiver's instance variables:
>> >>> sender: BlockClosure>>ifError:
>> >>> pc: 17
>> >>> stackp: 3
>> >>> method: (BlockClosure>>#on:do: "a
>> CompiledMethod(280231936)")
>> >>> closureOrNil: nil
>> >>> receiver: [aWorld displayWorld]
>> >>>
>> >>> BlockClosure>>ensure:
>> >>> Receiver: [(self tempAt: 2)
>> >>> valueWithPossibleArgs: {exception}]
>> >>> Arguments and temporary variables:
>> >>> aBlock: [self tempAt: 3 put: true]
>> >>> complete: nil
>> >>> returnValue: nil
>> >>> Receiver's instance variables:
>> >>> outerContext: MethodContext(ContextPart)>>handleSignal:
>> >>> startpc: 90
>> >>> numArgs: 0
>> >>>
>> >>> MethodContext(ContextPart)>>handleSignal:
>> >>> Receiver: BlockClosure>>on:do:
>> >>> Arguments and temporary variables:
>> >>> exception: MessageNotUnderstood:
>> LargePositiveInteger>>pixelValueForDepth:
>> >>> val: nil
>> >>> Receiver's instance variables:
>> >>> sender: BlockClosure>>ifError:
>> >>> pc: 17
>> >>> stackp: 3
>> >>> method: (BlockClosure>>#on:do: "a
>> CompiledMethod(280231936)")
>> >>> closureOrNil: nil
>> >>> receiver: [aWorld displayWorld]
>> >>>
>> >>> MessageNotUnderstood(Exception)>>signal
>> >>> Receiver: MessageNotUnderstood:
>> LargePositiveInteger>>pixelValueForDepth:
>> >>> Arguments and temporary variables:
>> >>>
>> >>> Receiver's instance variables:
>> >>> messageText: nil
>> >>> tag: nil
>> >>> signalContext: MessageNotUnderstood(Exception)>>signal
>> >>> handlerContext: BlockClosure>>on:do:
>> >>> outerContext: nil
>> >>> message: pixelValueForDepth: 32
>> >>> receiver: 4287876447
>> >>> reachedDefaultHandler: false
>> >>>
>> >>> LargePositiveInteger(Object)>>doesNotUnderstand: #pixelValueForDepth:
>> >>> Receiver: 4287876447
>> >>> Arguments and temporary variables:
>> >>> aMessage: pixelValueForDepth: 32
>> >>> exception: MessageNotUnderstood:
>> LargePositiveInteger>>pixelValueForDepth:
>> >>> resumeValue: nil
>> >>> Receiver's instance variables:
>> >>> 4287876447
>> >>>
>> >>> ColorForm>>colormapIfNeededForDepth:
>> >>> Receiver: ColorForm(12x12x8)
>> >>> Arguments and temporary variables:
>> >>> destDepth: 32
>> >>> newMap: a Bitmap of length 256
>> >>> i: 3
>> >>> iLimiT: 256
>> >>> Receiver's instance variables:
>> >>> bits: #[36 29 11 7 11 10 10 11 9 11 95 10 9 9 10 11 11
>> 11 11 11 11 11 10 9 0 8 ...etc...
>> >>> width: 12
>> >>> height: 12
>> >>> depth: 8
>> >>> offset: 0@0
>> >>> colors: a ColorArray((Color r: 0.572 g: 0.804 b:
>> 0.369) (Color r: 0.564 g: 0.76...etc...
>> >>> cachedDepth: nil
>> >>> cachedColormap: nil
>> >>>
>> >>> ColorForm>>colormapIfNeededFor:
>> >>> Receiver: ColorForm(12x12x8)
>> >>> Arguments and temporary variables:
>> >>> destForm: DisplayScreen(2552x1374x32)
>> >>> newMap: nil
>> >>> color: nil
>> >>> pv: nil
>> >>> i: nil
>> >>> iLimiT: nil
>> >>> Receiver's instance variables:
>> >>> bits: #[36 29 11 7 11 10 10 11 9 11 95 10 9 9 10 11 11
>> 11 11 11 11 11 10 9 0 8 ...etc...
>> >>> width: 12
>> >>> height: 12
>> >>> depth: 8
>> >>> offset: 0@0
>> >>> colors: a ColorArray((Color r: 0.572 g: 0.804 b:
>> 0.369) (Color r: 0.564 g: 0.76...etc...
>> >>> cachedDepth: nil
>> >>> cachedColormap: nil
>> >>>
>> >>> FormCanvas>>image:at:sourceRect:rule:
>> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Arguments and temporary variables:
>> >>> aForm: ColorForm(12x12x8)
>> >>> aPoint: 0@15
>> >>> sourceRect: 0@0 corner: 12@12
>> >>> rule: 24
>> >>> Receiver's instance variables:
>> >>> target: nil
>> >>> filterSelector: nil
>> >>> origin: 2367@187
>> >>> clipRect: 2364@187 corner: 2534@400
>> >>> form: DisplayScreen(2552x1374x32)
>> >>> port: a GrafPort
>> >>> shadowColor: nil
>> >>>
>> >>> FormCanvas(Canvas)>>translucentImage:at:sourceRect:
>> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Arguments and temporary variables:
>> >>> aForm: ColorForm(12x12x8)
>> >>> aPoint: 0@15
>> >>> sourceRect: 0@0 corner: 12@12
>> >>> Receiver's instance variables:
>> >>> target: nil
>> >>> filterSelector: nil
>> >>> origin: 2367@187
>> >>> clipRect: 2364@187 corner: 2534@400
>> >>> form: DisplayScreen(2552x1374x32)
>> >>> port: a GrafPort
>> >>> shadowColor: nil
>> >>>
>> >>> FormCanvas(Canvas)>>translucentImage:at:
>> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Arguments and temporary variables:
>> >>> aForm: ColorForm(12x12x8)
>> >>> aPoint: 0@15
>> >>> Receiver's instance variables:
>> >>> target: nil
>> >>> filterSelector: nil
>> >>> origin: 2367@187
>> >>> clipRect: 2364@187 corner: 2534@400
>> >>> form: DisplayScreen(2552x1374x32)
>> >>> port: a GrafPort
>> >>> shadowColor: nil
>> >>>
>> >>> OBLazyListMorph>>display:atRow:on:
>> >>> Receiver: an OBLazyListMorph(969408512)
>> >>> Arguments and temporary variables:
>> >>> item: #renderContentOn:
>> >>> row: 2
>> >>> canvas: a FormCanvas on:
>> DisplayScreen(2552x1374x32)
>> >>> drawBounds: 0@14 corner: 190@28
>> >>> top: 15
>> >>> icon: ColorForm(12x12x8)
>> >>> name: #arrowUp
>> >>> Receiver's instance variables:
>> >>> bounds: 0@0 corner: 190@42
>> >>> owner: a TransformMorph(743702528)
>> >>> submorphs: #()
>> >>> fullBounds: 0@0 corner: 190@42
>> >>> color: Color black
>> >>> extension: a MorphExtension (970981376) [other:
>> (errorOnDraw -> true)]
>> >>> listItems: #(#callbackUrlOn:callback:
>> #renderContentOn: nil)
>> >>> font: a StrikeFont(Bitmap DejaVu Sans 9 14)
>> >>> selectedRow: 0
>> >>> selectedRows: a PluggableSet()
>> >>> listSource: an OBPluggableListMorph(155189248)
>> >>> maxWidth: 136
>> >>>
>> >>> OBLazyListMorph(LazyListMorph)>>drawOn:
>> >>> Receiver: an OBLazyListMorph(969408512)
>> >>> Arguments and temporary variables:
>> >>> aCanvas: a FormCanvas on:
>> DisplayScreen(2552x1374x32)
>> >>> row: 2
>> >>> rowLimiT: 3
>> >>> Receiver's instance variables:
>> >>> bounds: 0@0 corner: 190@42
>> >>> owner: a TransformMorph(743702528)
>> >>> submorphs: #()
>> >>> fullBounds: 0@0 corner: 190@42
>> >>> color: Color black
>> >>> extension: a MorphExtension (970981376) [other:
>> (errorOnDraw -> true)]
>> >>> listItems: #(#callbackUrlOn:callback:
>> #renderContentOn: nil)
>> >>> font: a StrikeFont(Bitmap DejaVu Sans 9 14)
>> >>> selectedRow: 0
>> >>> selectedRows: a PluggableSet()
>> >>> listSource: an OBPluggableListMorph(155189248)
>> >>> maxWidth: 136
>> >>>
>> >>> FormCanvas(Canvas)>>draw:
>> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Arguments and temporary variables:
>> >>> anObject: an OBLazyListMorph(969408512)
>> >>> Receiver's instance variables:
>> >>> target: nil
>> >>> filterSelector: nil
>> >>> origin: 2367@187
>> >>> clipRect: 2364@187 corner: 2534@400
>> >>> form: DisplayScreen(2552x1374x32)
>> >>> port: a GrafPort
>> >>> shadowColor: nil
>> >>>
>> >>> FormCanvas(Canvas)>>drawMorph:
>> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Arguments and temporary variables:
>> >>> aMorph: an OBLazyListMorph(969408512)
>> >>> Receiver's instance variables:
>> >>> target: nil
>> >>> filterSelector: nil
>> >>> origin: 2367@187
>> >>> clipRect: 2364@187 corner: 2534@400
>> >>> form: DisplayScreen(2552x1374x32)
>> >>> port: a GrafPort
>> >>> shadowColor: nil
>> >>>
>> >>> [] in OBLazyListMorph(Morph)>>fullDrawOn:
>> >>> Receiver: an OBLazyListMorph(969408512)
>> >>> Arguments and temporary variables:
>> >>> aCanvas: a FormCanvas on:
>> DisplayScreen(2552x1374x32)
>> >>> Receiver's instance variables:
>> >>> bounds: 0@0 corner: 190@42
>> >>> owner: a TransformMorph(743702528)
>> >>> submorphs: #()
>> >>> fullBounds: 0@0 corner: 190@42
>> >>> color: Color black
>> >>> extension: a MorphExtension (970981376) [other:
>> (errorOnDraw -> true)]
>> >>> listItems: #(#callbackUrlOn:callback:
>> #renderContentOn: nil)
>> >>> font: a StrikeFont(Bitmap DejaVu Sans 9 14)
>> >>> selectedRow: 0
>> >>> selectedRows: a PluggableSet()
>> >>> listSource: an OBPluggableListMorph(155189248)
>> >>> maxWidth: 136
>> >>>
>> >>> FormCanvas>>roundCornersOf:in:during:
>> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Arguments and temporary variables:
>> >>> aMorph: an OBLazyListMorph(969408512)
>> >>> bounds: 0@0 corner: 190@42
>> >>> aBlock: [(aCanvas isVisible: self bounds)
>> >>> ifTrue: [aCanvas drawMorph: self].
>> >>> ...etc...
>> >>> Receiver's instance variables:
>> >>> target: nil
>> >>> filterSelector: nil
>> >>> origin: 2367@187
>> >>> clipRect: 2364@187 corner: 2534@400
>> >>> form: DisplayScreen(2552x1374x32)
>> >>> port: a GrafPort
>> >>> shadowColor: nil
>> >>>
>> >>> FormCanvas(Canvas)>>roundCornersOf:during:
>> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Arguments and temporary variables:
>> >>> aMorph: an OBLazyListMorph(969408512)
>> >>> aBlock: [(aCanvas isVisible: self bounds)
>> >>> ifTrue: [aCanvas drawMorph: self].
>> >>> ...etc...
>> >>> Receiver's instance variables:
>> >>> target: nil
>> >>> filterSelector: nil
>> >>> origin: 2367@187
>> >>> clipRect: 2364@187 corner: 2534@400
>> >>> form: DisplayScreen(2552x1374x32)
>> >>> port: a GrafPort
>> >>> shadowColor: nil
>> >>>
>> >>> OBLazyListMorph(Morph)>>fullDrawOn:
>> >>> Receiver: an OBLazyListMorph(969408512)
>> >>> Arguments and temporary variables:
>> >>> aCanvas: a FormCanvas on:
>> DisplayScreen(2552x1374x32)
>> >>> Receiver's instance variables:
>> >>> bounds: 0@0 corner: 190@42
>> >>> owner: a TransformMorph(743702528)
>> >>> submorphs: #()
>> >>> fullBounds: 0@0 corner: 190@42
>> >>> color: Color black
>> >>> extension: a MorphExtension (970981376) [other:
>> (errorOnDraw -> true)]
>> >>> listItems: #(#callbackUrlOn:callback:
>> #renderContentOn: nil)
>> >>> font: a StrikeFont(Bitmap DejaVu Sans 9 14)
>> >>> selectedRow: 0
>> >>> selectedRows: a PluggableSet()
>> >>> listSource: an OBPluggableListMorph(155189248)
>> >>> maxWidth: 136
>> >>>
>> >>> FormCanvas(Canvas)>>fullDraw:
>> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Arguments and temporary variables:
>> >>> anObject: an OBLazyListMorph(969408512)
>> >>> Receiver's instance variables:
>> >>> target: nil
>> >>> filterSelector: nil
>> >>> origin: 2367@187
>> >>> clipRect: 2364@187 corner: 2534@400
>> >>> form: DisplayScreen(2552x1374x32)
>> >>> port: a GrafPort
>> >>> shadowColor: nil
>> >>>
>> >>> FormCanvas(Canvas)>>fullDrawMorph:
>> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Arguments and temporary variables:
>> >>> aMorph: an OBLazyListMorph(969408512)
>> >>> Receiver's instance variables:
>> >>> target: nil
>> >>> filterSelector: nil
>> >>> origin: 2367@187
>> >>> clipRect: 2364@187 corner: 2534@400
>> >>> form: DisplayScreen(2552x1374x32)
>> >>> port: a GrafPort
>> >>> shadowColor: nil
>> >>>
>> >>> [] in [] in TransformMorph>>drawSubmorphsOn:
>> >>> Receiver: a TransformMorph(743702528)
>> >>> Arguments and temporary variables:
>> >>> myCanvas: an OBLazyListMorph(969408512)
>> >>> m: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Receiver's instance variables:
>> >>> bounds: 520@0 corner: 690@213
>> >>> owner: an OBPluggableListMorph(155189248)
>> >>> submorphs: an Array(an OBLazyListMorph(969408512))
>> >>> fullBounds: 520@0 corner: 690@213
>> >>> color: Color transparent
>> >>> extension: a MorphExtension (745537536)
>> >>> transform: a MorphicTransform(angle = 0.0; scale =
>> 1.0; offset = -523@0)
>> >>> smoothing: 1
>> >>> localBounds: nil
>> >>>
>> >>> Array(SequenceableCollection)>>reverseDo:
>> >>> Receiver: an Array(an OBLazyListMorph(969408512))
>> >>> Arguments and temporary variables:
>> >>> aBlock: [:m | myCanvas fullDrawMorph: m]
>> >>> index: 1
>> >>> Receiver's instance variables:
>> >>> an Array(an OBLazyListMorph(969408512))
>> >>>
>> >>> [] in TransformMorph>>drawSubmorphsOn:
>> >>> Receiver: a TransformMorph(743702528)
>> >>> Arguments and temporary variables:
>> >>> myCanvas: a FormCanvas on:
>> DisplayScreen(2552x1374x32)
>> >>> Receiver's instance variables:
>> >>> bounds: 520@0 corner: 690@213
>> >>> owner: an OBPluggableListMorph(155189248)
>> >>> submorphs: an Array(an OBLazyListMorph(969408512))
>> >>> fullBounds: 520@0 corner: 690@213
>> >>> color: Color transparent
>> >>> extension: a MorphExtension (745537536)
>> >>> transform: a MorphicTransform(angle = 0.0; scale =
>> 1.0; offset = -523@0)
>> >>> smoothing: 1
>> >>> localBounds: nil
>> >>>
>> >>> FormCanvas>>transformBy:clippingTo:during:smoothing:
>> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Arguments and temporary variables:
>> >>> aDisplayTransform: a MorphicTransform(angle = 0.0;
>> scale = 1.0; offset = -523@0...etc...
>> >>> aClipRect: 520@0 corner: 690@213
>> >>> aBlock: [:myCanvas | (self angle ~= 0.0
>> >>> or: [self scale ~= 1.0])
>> >>> ifTrue: [...etc...
>> >>> cellSize: 1
>> >>> innerRect: nil
>> >>> patchRect: nil
>> >>> sourceQuad: nil
>> >>> warp: nil
>> >>> start: nil
>> >>> subCanvas: nil
>> >>> rule: nil
>> >>> i: nil
>> >>> Receiver's instance variables:
>> >>> target: nil
>> >>> filterSelector: nil
>> >>> origin: 1844@187
>> >>> clipRect: 2364@187 corner: 2534@400
>> >>> form: DisplayScreen(2552x1374x32)
>> >>> port: a GrafPort
>> >>> shadowColor: nil
>> >>>
>> >>> TransformMorph>>drawSubmorphsOn:
>> >>> Receiver: a TransformMorph(743702528)
>> >>> Arguments and temporary variables:
>> >>> aCanvas: a FormCanvas on:
>> DisplayScreen(2552x1374x32)
>> >>> Receiver's instance variables:
>> >>> bounds: 520@0 corner: 690@213
>> >>> owner: an OBPluggableListMorph(155189248)
>> >>> submorphs: an Array(an OBLazyListMorph(969408512))
>> >>> fullBounds: 520@0 corner: 690@213
>> >>> color: Color transparent
>> >>> extension: a MorphExtension (745537536)
>> >>> transform: a MorphicTransform(angle = 0.0; scale =
>> 1.0; offset = -523@0)
>> >>> smoothing: 1
>> >>> localBounds: nil
>> >>>
>> >>> [] in TransformMorph(Morph)>>fullDrawOn:
>> >>> Receiver: a TransformMorph(743702528)
>> >>> Arguments and temporary variables:
>> >>> aCanvas: a FormCanvas on:
>> DisplayScreen(2552x1374x32)
>> >>> Receiver's instance variables:
>> >>> bounds: 520@0 corner: 690@213
>> >>> owner: an OBPluggableListMorph(155189248)
>> >>> submorphs: an Array(an OBLazyListMorph(969408512))
>> >>> fullBounds: 520@0 corner: 690@213
>> >>> color: Color transparent
>> >>> extension: a MorphExtension (745537536)
>> >>> transform: a MorphicTransform(angle = 0.0; scale =
>> 1.0; offset = -523@0)
>> >>> smoothing: 1
>> >>> localBounds: nil
>> >>>
>> >>> FormCanvas>>roundCornersOf:in:during:
>> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Arguments and temporary variables:
>> >>> aMorph: a TransformMorph(743702528)
>> >>> bounds: 520@0 corner: 690@213
>> >>> aBlock: [(aCanvas isVisible: self bounds)
>> >>> ifTrue: [aCanvas drawMorph: self].
>> >>> ...etc...
>> >>> Receiver's instance variables:
>> >>> target: nil
>> >>> filterSelector: nil
>> >>> origin: 1844@187
>> >>> clipRect: 2364@187 corner: 2534@400
>> >>> form: DisplayScreen(2552x1374x32)
>> >>> port: a GrafPort
>> >>> shadowColor: nil
>> >>>
>> >>> FormCanvas(Canvas)>>roundCornersOf:during:
>> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Arguments and temporary variables:
>> >>> aMorph: a TransformMorph(743702528)
>> >>> aBlock: [(aCanvas isVisible: self bounds)
>> >>> ifTrue: [aCanvas drawMorph: self].
>> >>> ...etc...
>> >>> Receiver's instance variables:
>> >>> target: nil
>> >>> filterSelector: nil
>> >>> origin: 1844@187
>> >>> clipRect: 2364@187 corner: 2534@400
>> >>> form: DisplayScreen(2552x1374x32)
>> >>> port: a GrafPort
>> >>> shadowColor: nil
>> >>>
>> >>> TransformMorph(Morph)>>fullDrawOn:
>> >>> Receiver: a TransformMorph(743702528)
>> >>> Arguments and temporary variables:
>> >>> aCanvas: a FormCanvas on:
>> DisplayScreen(2552x1374x32)
>> >>> Receiver's instance variables:
>> >>> bounds: 520@0 corner: 690@213
>> >>> owner: an OBPluggableListMorph(155189248)
>> >>> submorphs: an Array(an OBLazyListMorph(969408512))
>> >>> fullBounds: 520@0 corner: 690@213
>> >>> color: Color transparent
>> >>> extension: a MorphExtension (745537536)
>> >>> transform: a MorphicTransform(angle = 0.0; scale =
>> 1.0; offset = -523@0)
>> >>> smoothing: 1
>> >>> localBounds: nil
>> >>>
>> >>> FormCanvas(Canvas)>>fullDraw:
>> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Arguments and temporary variables:
>> >>> anObject: a TransformMorph(743702528)
>> >>> Receiver's instance variables:
>> >>> target: nil
>> >>> filterSelector: nil
>> >>> origin: 1844@187
>> >>> clipRect: 2364@187 corner: 2534@400
>> >>> form: DisplayScreen(2552x1374x32)
>> >>> port: a GrafPort
>> >>> shadowColor: nil
>> >>>
>> >>> FormCanvas(Canvas)>>fullDrawMorph:
>> >>> Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Arguments and temporary variables:
>> >>> aMorph: a TransformMorph(743702528)
>> >>> Receiver's instance variables:
>> >>> target: nil
>> >>> filterSelector: nil
>> >>> origin: 1844@187
>> >>> clipRect: 2364@187 corner: 2534@400
>> >>> form: DisplayScreen(2552x1374x32)
>> >>> port: a GrafPort
>> >>> shadowColor: nil
>> >>>
>> >>> [] in [] in OBPluggableListMorph(Morph)>>drawSubmorphsOn:
>> >>> Receiver: an OBPluggableListMorph(155189248)
>> >>> Arguments and temporary variables:
>> >>> canvas: a TransformMorph(743702528)
>> >>> m: a FormCanvas on: DisplayScreen(2552x1374x32)
>> >>> Receiver's instance variables:
>> >>> bounds: 520@0 corner: 690@213
>> >>> owner: an OBPane(127401984)
>> >>> submorphs: an Array(a TransformMorph(743702528))
>> >>> fullBounds: 520@0 corner: 690@213
>> >>> color: Color white
>> >>> extension: a MorphExtension (132644864) [other:
>> (dragEnabled -> true) (dropEna...etc...
>> >>> borderWidth: 0
>> >>> borderColor: Color black
>> >>> model: an OBColumn()
>> >>> slotName: nil
>> >>> open: false
>> >>> scrollBar: a ScrollBar(161742848)
>> >>> scroller: a TransformMorph(743702528)
>> >>> retractableScrollBar: false
>> >>> scrollBarOnLeft: false
>> >>> getMenuSelector: #menu:
>> >>> getMenuTitleSelector: nil
>> >>> hasFocus: false
>> >>> hScrollBar: a ScrollBar(990642176)
>> >>> list: nil
>> >>> getListSelector: #list
>> >>> getListSizeSelector: #listSize
>> >>> getListElementSelector: #listAt:
>> >>> getIndexSelector: #selection
>> >>> setIndexSelector: #selection:
>> >>> keystrokeActionSelector: #keystroke:from:
>> >>> autoDeselect: false
>> >>> lastKeystrokeTime: 0
>> >>> lastKeystrokes: ''
>> >>> doubleClickSelector: #doubleClick
>> >>> handlesBasicKeys: nil
>> >>> potentialDropRow: nil
>> >>> listMorph: an OBLazyListMorph(969408512)
>> >>> hScrollRangeCache: nil
>> >>>
>> >>> Array(SequenceableCollection)>>reverseDo:
>> >>> Receiver: an Array(a TransformMorph(743702528))
>> >>> Arguments and temporary variables:
>> >>> aBlock: [:m | canvas fullDrawMorph: m]
>> >>> index: 1
>> >>> Receiver's instance variables:
>> >>> an Array(a TransformMorph(743702528))
>> >>>
>> >>> [] in OBPluggableListMorph(Morph)>>drawSubmorphsOn:
>> >>> Receiver: an OBPluggableListMorph(155189248)
>> >>> Arguments and temporary variables:
>> >>> canvas: a FormCanvas on:
>> DisplayScreen(2552x1374x32)
>> >>> Receiver's instance variables:
>> >>> bounds: 520@0 corner: 690@213
>> >>> owner: an OBPane(127401984)
>> >>> submorphs: an Array(a TransformMorph(743702528))
>> >>> fullBounds: 520@0 corner: 690@213
>> >>> color: Color white
>> >>> extension: a MorphExtension (132644864) [other:
>> (dragEnabled -> true) (dropEna...etc...
>> >>> borderWidth: 0
>> >>> borderColor: Color black
>> >>> model: an OBColumn()
>> >>> slotName: nil
>> >>> open: false
>> >>> scrollBar: a ScrollBar(161742848)
>> >>> scroller: a TransformMorph(743702528)
>> >>> retractableScrollBar: false
>> >>> scrollBarOnLeft: false
>> >>> getMenuSelector: #menu:
>> >>> getMenuTitleSelector: nil
>> >>> hasFocus: false
>> >>> hScrollBar: a ScrollBar(990642176)
>> >>> list: nil
>> >>> getListSelector: #list
>> >>> getListSizeSelector: #listSize
>> >>> getListElementSelector: #listAt:
>> >>> getIndexSelector: #selection
>> >>> setIndexSelector: #selection:
>> >>> keystrokeActionSelector: #keystroke:from:
>> >>> autoDeselect: false
>> >>> lastKeystrokeTime: 0
>> >>> lastKeystrokes: ''
>> >>> doubleClickSelector: #doubleClick
>> >>> handlesBasicKeys: nil
>> >>> potentialDropRow: nil
>> >>> listMorph: an OBLazyListMorph(969408512)
>> >>> hScrollRangeCache: nil
>> >>>
>> >>>
>> >>> --- The full stack ---
>> >>> LargePositiveInteger(Object)>>error:
>> >>> [] in WorldState>>displayWorldSafely:
>> >>> BlockClosure>>valueWithPossibleArgs:
>> >>> [] in BlockClosure>>ifError:
>> >>> BlockClosure>>valueWithPossibleArgs:
>> >>> [] in MethodContext(ContextPart)>>handleSignal:
>> >>> BlockClosure>>ensure:
>> >>> MethodContext(ContextPart)>>handleSignal:
>> >>> MessageNotUnderstood(Exception)>>signal
>> >>> LargePositiveInteger(Object)>>doesNotUnderstand: #pixelValueForDepth:
>> >>> ColorForm>>colormapIfNeededForDepth:
>> >>> ColorForm>>colormapIfNeededFor:
>> >>> FormCanvas>>image:at:sourceRect:rule:
>> >>> FormCanvas(Canvas)>>translucentImage:at:sourceRect:
>> >>> FormCanvas(Canvas)>>translucentImage:at:
>> >>> OBLazyListMorph>>display:atRow:on:
>> >>> OBLazyListMorph(LazyListMorph)>>drawOn:
>> >>> FormCanvas(Canvas)>>draw:
>> >>> FormCanvas(Canvas)>>drawMorph:
>> >>> [] in OBLazyListMorph(Morph)>>fullDrawOn:
>> >>> FormCanvas>>roundCornersOf:in:during:
>> >>> FormCanvas(Canvas)>>roundCornersOf:during:
>> >>> OBLazyListMorph(Morph)>>fullDrawOn:
>> >>> FormCanvas(Canvas)>>fullDraw:
>> >>> FormCanvas(Canvas)>>fullDrawMorph:
>> >>> [] in [] in TransformMorph>>drawSubmorphsOn:
>> >>> Array(SequenceableCollection)>>reverseDo:
>> >>> [] in TransformMorph>>drawSubmorphsOn:
>> >>> FormCanvas>>transformBy:clippingTo:during:smoothing:
>> >>> TransformMorph>>drawSubmorphsOn:
>> >>> [] in TransformMorph(Morph)>>fullDrawOn:
>> >>> FormCanvas>>roundCornersOf:in:during:
>> >>> FormCanvas(Canvas)>>roundCornersOf:during:
>> >>> TransformMorph(Morph)>>fullDrawOn:
>> >>> FormCanvas(Canvas)>>fullDraw:
>> >>> FormCanvas(Canvas)>>fullDrawMorph:
>> >>> [] in [] in OBPluggableListMorph(Morph)>>drawSubmorphsOn:
>> >>> Array(SequenceableCollection)>>reverseDo:
>> >>> [] in OBPluggableListMorph(Morph)>>drawSubmorphsOn:
>> >>> - - - - - - - - - - - - - - -
>> >>> - - - - - - - - - - - - - - - - - -
>> >>> OBPluggableListMorph(Morph)>>drawSubmorphsOn:
>> >>> OBPluggableListMorph(PluggableListMorph)>>drawSubmorphsOn:
>> >>> [] in OBPluggableListMorph(Morph)>>fullDrawOn:
>> >>> FormCanvas>>roundCornersOf:in:during:
>> >>> FormCanvas(Canvas)>>roundCornersOf:during:
>> >>> OBPluggableListMorph(Morph)>>fullDrawOn:
>> >>> FormCanvas(Canvas)>>fullDraw:
>> >>> FormCanvas(Canvas)>>fullDrawMorph:
>> >>> [] in [] in OBPane(Morph)>>drawSubmorphsOn:
>> >>> Array(SequenceableCollection)>>reverseDo:
>> >>> [] in OBPane(Morph)>>drawSubmorphsOn:
>> >>> FormCanvas>>clipBy:during:
>> >>> OBPane(Morph)>>drawSubmorphsOn:
>> >>> [] in OBPane(Morph)>>fullDrawOn:
>> >>> FormCanvas>>roundCornersOf:in:during:
>> >>> FormCanvas(Canvas)>>roundCornersOf:during:
>> >>> OBPane(Morph)>>fullDrawOn:
>> >>> FormCanvas(Canvas)>>fullDraw:
>> >>> FormCanvas(Canvas)>>fullDrawMorph:
>> >>> [] in [] in TransformMorph>>drawSubmorphsOn:
>> >>> Array(SequenceableCollection)>>reverseDo:
>> >>> [] in TransformMorph>>drawSubmorphsOn:
>> >>> FormCanvas>>transformBy:clippingTo:during:smoothing:
>> >>> TransformMorph>>drawSubmorphsOn:
>> >>> [] in TransformMorph(Morph)>>fullDrawOn:
>> >>> FormCanvas>>roundCornersOf:in:during:
>> >>> FormCanvas(Canvas)>>roundCornersOf:during:
>> >>> TransformMorph(Morph)>>fullDrawOn:
>> >>> FormCanvas(Canvas)>>fullDraw:
>> >>> FormCanvas(Canvas)>>fullDrawMorph:
>> >>> [] in [] in OBPaneScroller(Morph)>>drawSubmorphsOn:
>> >>> Array(SequenceableCollection)>>reverseDo:
>> >>> [] in OBPaneScroller(Morph)>>drawSubmorphsOn:
>> >>> OBPaneScroller(Morph)>>drawSubmorphsOn:
>> >>> [] in OBPaneScroller(Morph)>>fullDrawOn:
>> >>> FormCanvas>>roundCornersOf:in:during:
>> >>> FormCanvas(Canvas)>>roundCornersOf:during:
>> >>> OBPaneScroller(Morph)>>fullDrawOn:
>> >>> FormCanvas(Canvas)>>fullDraw:
>> >>> FormCanvas(Canvas)>>fullDrawMorph:
>> >>> [] in [] in OBGroupingMorph(Morph)>>drawSubmorphsOn:
>> >>> Array(SequenceableCollection)>>reverseDo:
>> >>> [] in OBGroupingMorph(Morph)>>drawSubmorphsOn:
>> >>> OBGroupingMorph(Morph)>>drawSubmorphsOn:
>> >>> [] in OBGroupingMorph(Morph)>>fullDrawOn:
>> >>> FormCanvas>>roundCornersOf:in:during:
>> >>> FormCanvas(Canvas)>>roundCornersOf:during:
>> >>> OBGroupingMorph(Morph)>>fullDrawOn:
>> >>> FormCanvas(Canvas)>>fullDraw:
>> >>> FormCanvas(Canvas)>>fullDrawMorph:
>> >>> [] in [] in SystemWindow(Morph)>>drawSubmorphsOn:
>> >>> Array(SequenceableCollection)>>reverseDo:
>> >>> [] in SystemWindow(Morph)>>drawSubmorphsOn:
>> >>> FormCanvas>>clipBy:during:
>> >>> SystemWindow(Morph)>>drawSubmorphsOn:
>> >>> [] in SystemWindow(Morph)>>fullDrawOn:
>> >>> FormCanvas>>roundCornersOf:in:during:
>> >>> FormCanvas(Canvas)>>roundCornersOf:during:
>> >>> SystemWindow(Morph)>>fullDrawOn:
>> >>> FormCanvas(Canvas)>>fullDraw:
>> >>> FormCanvas(Canvas)>>fullDrawMorph:
>> >>> [] in [] in WorldState>>drawWorld:submorphs:invalidAreasOn:
>> >>> Rectangle>>allAreasOutsideList:startingAt:do:
>> >>> Rectangle>>allAreasOutsideList:do:
>> >>> [] in WorldState>>drawWorld:submorphs:invalidAreasOn:
>> >>> Array(SequenceableCollection)>>do:
>> >>> WorldState>>drawWorld:submorphs:invalidAreasOn:
>> >>> [] in WorldState>>displayWorld:submorphs:
>> >>> FormCanvas>>roundCornersOf:in:during:
>> >>> FormCanvas(Canvas)>>roundCornersOf:during:
>> >>> WorldState>>displayWorld:submorphs:
>> >>> PasteUpMorph>>privateOuterDisplayWorld
>> >>> PasteUpMorph>>displayWorld
>> >>> [] in WorldState>>displayWorldSafely:
>> >>> BlockClosure>>on:do:
>> >>> BlockClosure>>ifError:
>> >>> WorldState>>displayWorldSafely:
>> >>> WorldState>>doOneCycleNowFor:
>> >>> WorldState>>doOneCycleFor:
>> >>> PasteUpMorph>>doOneCycle
>> >>> [] in Project class>>spawnNewProcess
>> >>> [] in BlockClosure>>newProcess
>> >>>
>> >>
>> >>
>> >
>> >
>> >
>>
>>
>
Jan. 12, 2011
[Pharo-project] Socket question (Was Re: Xtreams up to date)
by mkobetic@gmail.com
I started looking at the Socket failures that I can reproduce and I can't wrap my head around the SocketReadingWritingTest>>setUp. Based on what I know about TCP sockets it doesn't make sense to me. AFAIK to get both ends of a connected TCP connection (lacking a socketpair call) I need 3 sockets. A listening socket, a client socket (doing connect) and finally the server socket that comes out as a result of accept on the listener. So I'd expect to see something like this in the setUp:
| data input output listener socket1 socket2 process sync |
Socket initializeNetwork.
sync := Semaphore new.
listener := Socket newTCP.
listener listenOn: 9999.
process := [ [ socket1 := listener accept ] ensure: [ listener close ]. sync signal ] fork.
socket2 := Socket newTCP.
socket2 connectTo: (NetNameResolver localHostAddress) port: 9999.
sync wait.
output := socket1 reading.
input := socket2 writing.
Surprisingly, the above doesn't work, while many of the Socket tests seem to pass for me despite my brain telling me that it can't possibly. Can anyone shed some light on this for me ?
Thanks,
Martin
Jan. 12, 2011
[Pharo-project] SUNit
by Benoit St-Jean
Is there any way to initialize a TestCase subclass *once* and set up all the
necessary stuff I need for all test cases in that subclass ?
Let's say I want to test some socket stuff and connect only ONCE (and reuse that
socket over and over, leaving it open), how should I proceed? I don't want to
open and close the socket with #setUp and #tearDown each and every time so a
one-time initialization for the class (and a proper cleanup ) everytime I run
the test suite is what I am looking for. Suggestions? Is there any Sunit
version/fork/extension that would allow me to do that?
Did I miss something obvious and I have exactly what I need in front on me in my
class browser right now or we can't do this with what's there now?
If it's not there, does anyone think it would be worth we add such a feature ?
I volunteer to get it done!
tia!
-----------------
Benoit St-Jean
Yahoo! Messenger: bstjean
A standpoint is an intellectual horizon of radius zero.
(Albert Einstein)
Jan. 12, 2011
Re: [Pharo-project] Xtreams up to date
by Schwab,Wilhelm K
Stuff you probably just didn't bother to write in detail: you would either rename the image and changes or edit the shell script to run the desired image. I'm pretty sure I have done both to one-click installations, though it was "long" before Cog. As long as the image has the Cog changes installed (a 1.2 will), it should work.
________________________________________
From: pharo-project-bounces(a)lists.gforge.inria.fr [pharo-project-bounces(a)lists.gforge.inria.fr] On Behalf Of mkobetic(a)gmail.com [mkobetic(a)gmail.com]
Sent: Wednesday, January 12, 2011 11:30 AM
To: mkobetic(a)gmail.com
Cc: Torsten Bergmann; pharo-project(a)lists.gforge.inria.fr
Subject: Re: [Pharo-project] Xtreams up to date
mkobetic(a)gmail.com wrote:
> mkobetic(a)gmail.com wrote:
> > Hm, that is odd. Maybe I need to try a fresh load and see. I normally get a single failure in one of the socket tests which we haven't tracked down yet. Can you give me a bit more about the kind of errors and failures you see. Does it look like stuff is completely missing ? Maybe I messed up the publishing after the various class moves that I did recently.
>
> No, fresh load into one-click 1.1.1 works for me. I guess I need to try different versions.
Hm, I'm getting the same result with PharoCore-1.2beta-12294 running on Cog VM. I simply copied the image into my one-click installation, hope that's correct way to do it. Makes me wonder if this is OS dependent problem. I'm running on Fedora 14 (x86_64).
Jan. 12, 2011
Re: [Pharo-project] senders vs implementors
by Tudor Girba
Thanks, Marcus.
Cheers,
Doru
On 12 Jan 2011, at 15:56, Marcus Denker wrote:
>
> On Jan 12, 2011, at 3:25 PM, Tudor Girba wrote:
>
>> Hi,
>>
>> I think I encountered an error in allImplementorsOf:, but I am not quite sure and I wanted to run it by you first.
>>
>> If you evaluate
>> (self systemNavigation allSendersOf: #browse) anyOne sourceCode.
>>
>> you get the source as expected.
>>
>>
>> However, if you evaluate:
>> (self systemNavigation allImplementorsOf: #browse) anyOne sourceCode.
>>
>> you get an error.
>>
>> The last snippet used to work just fine in Pharo 1.1.1.
>>
>>
>> I consider it a bug. What do you think?
>
>
> Yes, this is a bug.
>
> (the whole MethodReference stuff is right now in the process of being re-designed...)
>
> One workound is to get the real method and ask it for the code:
>
> (self systemNavigation allImplementorsOf: #browse) anyOne compiledMethod getSource.
>
>
> arcus
>
>
> --
> Marcus Denker -- http://www.marcusdenker.de
> INRIA Lille -- Nord Europe. Team RMoD.
>
>
--
www.tudorgirba.com
"Be rather willing to give than demanding to get."
Jan. 12, 2011