Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- 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
February 2010
- 92 participants
- 1270 messages
Re: [Pharo-project] [Seaside-dev] GROrderedCollectionTest>>#testSort
by Marcus Denker
On Feb 17, 2010, at 9:15 PM, Julian Fitzell wrote:
> On Wed, Feb 17, 2010 at 5:13 AM, Lukas Renggli <renggli(a)gmail.com> wrote:
>>> #sort you mean? Not yet... we either need to add it in Pharo, fix it
>>> in the one click, or add it to the Grease package.
>>
>> OrderedCollection>>#sort and OrderedCollection>>#sort: is already part
>> of Pharo 1.1. The Seaside tests pass in Pharo 1.1.
>>
>> I understand and I agree with Pharo not to implement #sort and #sort:
>> in SequenceableCollection, because it does not make sense for most
>> subclasses. SortedCollection, Heap and Interval are already sorted;
>> and for LinkedList sorting does not really make sense.
>
> As Paolo points out, they are not necessarily sorted by the desired
> block. For SortedCollection, I agree the correct behaviour is to set
> the sortBlock.
This is done already in 1.1
> VW handles subclasses (like Interval) that cannot be
> sorted in place very simply: the sorter is implemented in terms of
> #at: and #at:put: and classes that cannot be modified with #at:put:
> just return an error saying that they can't be stored into. This also
> covers, for example, Arrays that are marked as immutable. There are
> many many subclasses of SequenceableCollection that do implement
> #at:put: and can be sorted properly...
Yes, and Niko therefore suggested to factor out the sorting method in a Trait and
then import the Trait in all classes that have at: and at:put: (even LinkedList and Stack)
http://code.google.com/p/pharo/issues/detail?id=1346
Marcus
--
Marcus Denker -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.
Feb. 17, 2010
Re: [Pharo-project] [Seaside-dev] GROrderedCollectionTest>>#testSort
by Julian Fitzell
On Wed, Feb 17, 2010 at 5:13 AM, Lukas Renggli <renggli(a)gmail.com> wrote:
>> #sort you mean? Not yet... we either need to add it in Pharo, fix it
>> in the one click, or add it to the Grease package.
>
> OrderedCollection>>#sort and OrderedCollection>>#sort: is already part
> of Pharo 1.1. The Seaside tests pass in Pharo 1.1.
>
> I understand and I agree with Pharo not to implement #sort and #sort:
> in SequenceableCollection, because it does not make sense for most
> subclasses. SortedCollection, Heap and Interval are already sorted;
> and for LinkedList sorting does not really make sense.
As Paolo points out, they are not necessarily sorted by the desired
block. For SortedCollection, I agree the correct behaviour is to set
the sortBlock. VW handles subclasses (like Interval) that cannot be
sorted in place very simply: the sorter is implemented in terms of
#at: and #at:put: and classes that cannot be modified with #at:put:
just return an error saying that they can't be stored into. This also
covers, for example, Arrays that are marked as immutable. There are
many many subclasses of SequenceableCollection that do implement
#at:put: and can be sorted properly...
Julian
Feb. 17, 2010
Re: [Pharo-project] databases
by Matthias Berth
On Wed, Feb 17, 2010 at 9:08 PM, Matthias Berth
<matthias.berth(a)googlemail.com> wrote:
> Laurent,
>
> you might want to have a look at SqueakSave
>
> Â http://www.hpi.uni-potsdam.de/hirschfeld/projects/squeaksave/index.html
>
> an object-relational (O/R) mapping framework. It looks similar to the
> rails ActiveRecord framework (from what I have seen so far) so it
> might be fine in scenarios where you absolutely want a relational
> database.
>
> A bit older:
>
> http://video.google.com/videoplay?docid=-5024583807516452190&hl=en#
this is a video of
Seaside Persistence Options
Randal Schwartz' keynote address from Smalltalk Solutions 2008 on
Seaside, and Seaside persistence options
I remember I saw the slides online somewhere.
HTH
Matthias
> 2010/2/17 laurent laffont <laurent.laffont(a)gmail.com>:
>> Hi,
>> I would like to learn on Pharo + databases. I've seen there's several
>> solutions in both object and relational databases.
>> - Which (open source) object database should I start with (most used) ?
>> - Which object database can be accessed from Smalltalk AND Â Ruby or Python ?
>> How ?
>> - I want to try MySQL too.
>> Is there up to date small applications on squeaksource which show this stuff
>> quite well ?
>> Thanks for help !
>> Laurent Laffont
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project(a)lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
Feb. 17, 2010
Re: [Pharo-project] databases
by laurent laffont
Gofer new
squeaksource: 'MetacelloRepository';
package: 'ConfigurationOfMagma';
load.
(Smalltalk at:#ConfigurationOfMagma) project latestVersion load
Fantastic !
and there's also:
ConfigurationOfGlorpDBX
ConfigurationOfSQLite3
ConfigurationOfSqueakDBX
Laurent Laffont
2010/2/17 Germán Arduino <garduino(a)gmail.com>
>
>
> 2010/2/17 Dave Woodward <davewoodward(a)promedmedical.net>
>
> On 2/17/10 6:46 AM, Germán Arduino wrote:
>>
>>
>>
>> 2010/2/17 laurent laffont <laurent.laffont(a)gmail.com>
>>
>>> Hi,
>>>
>>> I would like to learn on Pharo + databases. I've seen there's several
>>> solutions in both object and relational databases.
>>> - Which (open source) object database should I start with (most used) ?
>>>
>>
>>
>> Magma is the option I select, but not tried yet on Pharo.
>>
>>
>> Magma 1.0v43 works on Pharo,
>>
>
>
> Good to know.
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
Feb. 17, 2010
Re: [Pharo-project] databases
by Matthias Berth
Laurent,
you might want to have a look at SqueakSave
http://www.hpi.uni-potsdam.de/hirschfeld/projects/squeaksave/index.html
an object-relational (O/R) mapping framework. It looks similar to the
rails ActiveRecord framework (from what I have seen so far) so it
might be fine in scenarios where you absolutely want a relational
database.
A bit older:
http://video.google.com/videoplay?docid=-5024583807516452190&hl=en#
2010/2/17 laurent laffont <laurent.laffont(a)gmail.com>:
> Hi,
> I would like to learn on Pharo + databases. I've seen there's several
> solutions in both object and relational databases.
> - Which (open source) object database should I start with (most used) ?
> - Which object database can be accessed from Smalltalk AND Â Ruby or Python ?
> How ?
> - I want to try MySQL too.
> Is there up to date small applications on squeaksource which show this stuff
> quite well ?
> Thanks for help !
> Laurent Laffont
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
Feb. 17, 2010
Re: [Pharo-project] ConfigurationOfXMLSupport...
by Alexandre Bergel
I am not sure to understand. Running XML-Testing in my image results
in 835 run, 789 errors. These tests rely on external files that I have
no clue where to find them.
Cheers,
Alexandre
On 17 Feb 2010, at 08:12, Tudor Girba wrote:
> I also used it for several projects without problems.
>
> Cheers,
> Doru
>
>
> On 17 Feb 2010, at 12:09, George Herolyants wrote:
>
>> 2010/2/17 Stéphane Ducasse <stephane.ducasse(a)inria.fr>:
>>> I would be good to make the test of mike running.
>>
>> It runs without much problems. I did it. But a lot of the tests fail
>> or execute with errors. I don't know if it's supposed to be so or
>> not.
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project(a)lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
> --
> www.tudorgirba.com
>
> "Speaking louder won't make the point worthier."
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Feb. 17, 2010
Re: [Pharo-project] ConfigurationOfXMLSupport...
by Alexandre Bergel
Hi George,
I included your change found on http://bugs.squeak.org/view.php?
id=7441 in XML-Parser-Alexandre_Bergel.27
The test of CAnalyzer and Adore (which intensively use XMLParser) are
ok.
Thanks for your improvement.
Cheers,
Alexandre
On 17 Feb 2010, at 08:18, George Herolyants wrote:
> Btw, how can I contribute to XML-Support? Is there some process?
> Because I've created two issues on bugs.squeak.org a month ago and
> still don't know if they were noticed or not?
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Feb. 17, 2010
Re: [Pharo-project] [Moose-dev] Re: New version of XMLParser
by Alexandre Bergel
Before Jaayer improvement, the sequence "<" present in the .xml
were read as "<". Clearly it should not. In CAnalyzer, I had to adapt
many < into <, > into > and so on.
No big deal however.
Cheers,
Alexandre
On 17 Feb 2010, at 15:21, Tudor Girba wrote:
> Hi Alex,
>
> Could you give us a hint of where the problems can appear?
>
> Cheers,
> Doru
>
>
> On 17 Feb 2010, at 19:14, Alexandre Bergel wrote:
>
>> Dear List,
>>
>> I incorporated some changes of XMLParser proposed by jaayer(a)zoho.com
>> These changes may break some existing applications. For example, I
>> had to adapt CAnalyzer.
>> ConfigurationOfXMLSupport has now #version102:
>>
>> Cheers,
>> Alexandre
>> --
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>>
>>
>> _______________________________________________
>> Moose-dev mailing list
>> Moose-dev(a)iam.unibe.ch
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
> --
> www.tudorgirba.com
>
> "Obvious things are difficult to teach."
>
>
>
> _______________________________________________
> Moose-dev mailing list
> Moose-dev(a)iam.unibe.ch
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Feb. 17, 2010
[Pharo-project] [update] #10511
by Marcus Denker
10511
-----
Issue 1984: add sort: for Seaside
--
Marcus Denker -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.
Feb. 17, 2010
Re: [Pharo-project] Issue 1884: NetNameResolver doesn't work in PharoCore
by Chris Muller
The stable Magma production version cannot get out of the starting
gate on a fresh Pharo RC2 (Pharo1.0-10508-rc2dev10.01.2) due to some
sort of networking issue. I ensured useOldNetwork was set true, and
tried your printOn: method, but getting primitive failure.
The same exact version of Magma runs fine on Pharo1.0-10502-rc1dev09.12.2.
The stack trace below. Thanks.
- Chris
THERE_BE_DRAGONS_HERE
Error: a primitive has failed
17 February 2010 12:33:18 pm
VM: unix - i686 - linux-gnu - Pharo0.1 of 16 May 2008 [latest update: #10074]
Image: Pharo-1.0-10508-rc2 [Latest update: #10508]
SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
NetNameResolver class(Object)>>error:
Receiver: NetNameResolver
Arguments and temporary variables:
aString: 'a primitive has failed'
Receiver's instance variables:
superclass: Object
methodDict: a MethodDictionary()
format: 2
instanceVariables: nil
organization: ('as yet unclassified')
subclasses: nil
name: #NetNameResolver
classPool: a Dictionary(#DefaultHostName->'' #HaveNetwork->true
#ResolverBusy->...etc...
sharedPools: nil
environment: Smalltalk
category: #'Network-Kernel'
traitComposition: nil
localSelectors: nil
NetNameResolver class(Object)>>primitiveFailed
Receiver: NetNameResolver
Arguments and temporary variables:
Receiver's instance variables:
superclass: Object
methodDict: a MethodDictionary()
format: 2
instanceVariables: nil
organization: ('as yet unclassified')
subclasses: nil
name: #NetNameResolver
classPool: a Dictionary(#DefaultHostName->'' #HaveNetwork->true
#ResolverBusy->...etc...
sharedPools: nil
environment: Smalltalk
category: #'Network-Kernel'
traitComposition: nil
localSelectors: nil
NetNameResolver class>>primGetNameInfo:flags:
Receiver: NetNameResolver
Arguments and temporary variables:
socketAddress: #[127 0 1 1]
flags: 1
Receiver's instance variables:
superclass: Object
methodDict: a MethodDictionary()
format: 2
instanceVariables: nil
organization: ('as yet unclassified')
subclasses: nil
name: #NetNameResolver
classPool: a Dictionary(#DefaultHostName->'' #HaveNetwork->true
#ResolverBusy->...etc...
sharedPools: nil
environment: Smalltalk
category: #'Network-Kernel'
traitComposition: nil
localSelectors: nil
SocketAddress>>hostNumber
Receiver: #[127 0 1 1]
Arguments and temporary variables:
size: nil
name: nil
Receiver's instance variables:
#[127 0 1 1]
[] in Socket>>connectTo:port:waitForConnectionFor:
Receiver: a Socket[unconnected]
Arguments and temporary variables:
hostAddress: #[127 0 1 1]
port: 1316
Receiver's instance variables:
semaphore: a Semaphore()
socketHandle: #[59 33 134 75 0 0 0 0 200 212 50 9]
readSemaphore: a Semaphore()
writeSemaphore: a Semaphore()
primitiveOnlySupportsOneSemaphore: false
Socket>>waitForConnectionFor:ifTimedOut:
Receiver: a Socket[unconnected]
Arguments and temporary variables:
timeout: 5
timeoutBlock: [closure] in Socket>>connectTo:port:waitForConnectionFor:
startTime: 66537
msecsDelta: 5000
msecsEllapsed: nil
status: 0
Receiver's instance variables:
semaphore: a Semaphore()
socketHandle: #[59 33 134 75 0 0 0 0 200 212 50 9]
readSemaphore: a Semaphore()
writeSemaphore: a Semaphore()
primitiveOnlySupportsOneSemaphore: false
Socket>>connectTo:port:waitForConnectionFor:
Receiver: a Socket[unconnected]
Arguments and temporary variables:
hostAddress: #[127 0 1 1]
port: 1316
timeout: 5
Receiver's instance variables:
semaphore: a Semaphore()
socketHandle: #[59 33 134 75 0 0 0 0 200 212 50 9]
readSemaphore: a Semaphore()
writeSemaphore: a Semaphore()
primitiveOnlySupportsOneSemaphore: false
[] in MaNetworkTestPlayerFacade>>isReady
Receiver: a MaNetworkTestPlayerFacade
Arguments and temporary variables:
socket: #(nil)
Receiver's instance variables:
link: a MaNetworkServerLink chrisT60p:1316
name: 'server'
testCaseClass: MagmaTestCase
BlockClosure>>on:do:
Receiver: [closure] in MaNetworkTestPlayerFacade>>isReady
Arguments and temporary variables:
exception: ConnectionTimedOut
handlerAction: [closure] in MaNetworkTestPlayerFacade>>isReady
handlerActive: true
Receiver's instance variables:
outerContext: MaNetworkTestPlayerFacade>>isReady
startpc: 85
numArgs: 0
MaNetworkTestPlayerFacade>>isReady
Receiver: a MaNetworkTestPlayerFacade
Arguments and temporary variables:
socket: #(nil)
Receiver's instance variables:
link: a MaNetworkServerLink chrisT60p:1316
name: 'server'
testCaseClass: MagmaTestCase
[] in MagmaTestCase class(MaNetworkTestCase class)>>waitForPlayerImages
Receiver: MagmaTestCase
Arguments and temporary variables:
each: a MaNetworkTestPlayerFacade
Receiver's instance variables:
superclass: MaNetworkTestCase
methodDict: a MethodDictionary(size 184)
format: 162
instanceVariables: #('magmaConsole' 'peerConsole' 'clientSession'
'localRoot' '...etc...
organization: ('initialize-release' abort abortClients
assertForwardRecoverySig...etc...
subclasses: {MagmaCollectionTester}
name: #MagmaTestCase
classPool: a Dictionary(#InitiateBackupPrereqsCompleted->a Set()
#MagmaServerAd...etc...
sharedPools: nil
environment: Smalltalk
category: #'Magma tester-SUnit tests'
traitComposition: {}
localSelectors: nil
history: a Dictionary(#errors->a Set() #failures->a Set()
#passed->a Set() #tim...etc...
[] in Dictionary(Collection)>>allSatisfy:
Receiver: a Dictionary('client1'->a MaNetworkTestPlayerFacade
'client2'->a MaNetworkTestPlayerFacad...etc...
Arguments and temporary variables:
aBlock: a MaNetworkTestPlayerFacade
each: [closure] in MagmaTestCase class(MaNetworkTestCase
class)>>waitForPlayerI...etc...
Receiver's instance variables:
tally: 4
array: {nil. 'client1'->a MaNetworkTestPlayerFacade . 'client2'->a
MaNetworkTes...etc...
[] in Dictionary>>do:
Receiver: a Dictionary('client1'->a MaNetworkTestPlayerFacade
'client2'->a MaNetworkTestPlayerFacad...etc...
Arguments and temporary variables:
aBlock: 'server'->a MaNetworkTestPlayerFacade
assoc: [closure] in Dictionary(Collection)>>allSatisfy:
Receiver's instance variables:
tally: 4
array: {nil. 'client1'->a MaNetworkTestPlayerFacade . 'client2'->a
MaNetworkTes...etc...
Dictionary(Set)>>do:
Receiver: a Dictionary('client1'->a MaNetworkTestPlayerFacade
'client2'->a MaNetworkTestPlayerFacad...etc...
Arguments and temporary variables:
aBlock: [closure] in Dictionary>>do:
index: 4
each: 'server'->a MaNetworkTestPlayerFacade
indexLimiT: 5
Receiver's instance variables:
tally: 4
array: {nil. 'client1'->a MaNetworkTestPlayerFacade . 'client2'->a
MaNetworkTes...etc...
Dictionary>>do:
Receiver: a Dictionary('client1'->a MaNetworkTestPlayerFacade
'client2'->a MaNetworkTestPlayerFacad...etc...
Arguments and temporary variables:
aBlock: [closure] in Dictionary(Collection)>>allSatisfy:
Receiver's instance variables:
tally: 4
array: {nil. 'client1'->a MaNetworkTestPlayerFacade . 'client2'->a
MaNetworkTes...etc...
Dictionary(Collection)>>allSatisfy:
Receiver: a Dictionary('client1'->a MaNetworkTestPlayerFacade
'client2'->a MaNetworkTestPlayerFacad...etc...
Arguments and temporary variables:
aBlock: [closure] in MagmaTestCase class(MaNetworkTestCase
class)>>waitForPlaye...etc...
Receiver's instance variables:
tally: 4
array: {nil. 'client1'->a MaNetworkTestPlayerFacade . 'client2'->a
MaNetworkTes...etc...
MagmaTestCase class(MaNetworkTestCase class)>>waitForPlayerImages
Receiver: MagmaTestCase
Arguments and temporary variables:
Receiver's instance variables:
superclass: MaNetworkTestCase
methodDict: a MethodDictionary(size 184)
format: 162
instanceVariables: #('magmaConsole' 'peerConsole' 'clientSession'
'localRoot' '...etc...
organization: ('initialize-release' abort abortClients
assertForwardRecoverySig...etc...
subclasses: {MagmaCollectionTester}
name: #MagmaTestCase
classPool: a Dictionary(#InitiateBackupPrereqsCompleted->a Set()
#MagmaServerAd...etc...
sharedPools: nil
environment: Smalltalk
category: #'Magma tester-SUnit tests'
traitComposition: {}
localSelectors: nil
history: a Dictionary(#errors->a Set() #failures->a Set()
#passed->a Set() #tim...etc...
MagmaTestCase class(MaNetworkTestCase class)>>launchPlayerImages
Receiver: MagmaTestCase
Arguments and temporary variables:
Receiver's instance variables:
superclass: MaNetworkTestCase
methodDict: a MethodDictionary(size 184)
format: 162
instanceVariables: #('magmaConsole' 'peerConsole' 'clientSession'
'localRoot' '...etc...
organization: ('initialize-release' abort abortClients
assertForwardRecoverySig...etc...
subclasses: {MagmaCollectionTester}
name: #MagmaTestCase
classPool: a Dictionary(#InitiateBackupPrereqsCompleted->a Set()
#MagmaServerAd...etc...
sharedPools: nil
environment: Smalltalk
category: #'Magma tester-SUnit tests'
traitComposition: {}
localSelectors: nil
history: a Dictionary(#errors->a Set() #failures->a Set()
#passed->a Set() #tim...etc...
MagmaTestCase class>>launchPlayerImages
Receiver: MagmaTestCase
Arguments and temporary variables:
Receiver's instance variables:
superclass: MaNetworkTestCase
methodDict: a MethodDictionary(size 184)
format: 162
instanceVariables: #('magmaConsole' 'peerConsole' 'clientSession'
'localRoot' '...etc...
organization: ('initialize-release' abort abortClients
assertForwardRecoverySig...etc...
subclasses: {MagmaCollectionTester}
name: #MagmaTestCase
classPool: a Dictionary(#InitiateBackupPrereqsCompleted->a Set()
#MagmaServerAd...etc...
sharedPools: nil
environment: Smalltalk
category: #'Magma tester-SUnit tests'
traitComposition: {}
localSelectors: nil
history: a Dictionary(#errors->a Set() #failures->a Set()
#passed->a Set() #tim...etc...
MagmaTestCase class(MaNetworkTestCase class)>>setUpSuite
Receiver: MagmaTestCase
Arguments and temporary variables:
Receiver's instance variables:
superclass: MaNetworkTestCase
methodDict: a MethodDictionary(size 184)
format: 162
instanceVariables: #('magmaConsole' 'peerConsole' 'clientSession'
'localRoot' '...etc...
organization: ('initialize-release' abort abortClients
assertForwardRecoverySig...etc...
subclasses: {MagmaCollectionTester}
name: #MagmaTestCase
classPool: a Dictionary(#InitiateBackupPrereqsCompleted->a Set()
#MagmaServerAd...etc...
sharedPools: nil
environment: Smalltalk
category: #'Magma tester-SUnit tests'
traitComposition: {}
localSelectors: nil
history: a Dictionary(#errors->a Set() #failures->a Set()
#passed->a Set() #tim...etc...
MagmaTestCase class>>setUpSuite
Receiver: MagmaTestCase
Arguments and temporary variables:
Receiver's instance variables:
superclass: MaNetworkTestCase
methodDict: a MethodDictionary(size 184)
format: 162
instanceVariables: #('magmaConsole' 'peerConsole' 'clientSession'
'localRoot' '...etc...
organization: ('initialize-release' abort abortClients
assertForwardRecoverySig...etc...
subclasses: {MagmaCollectionTester}
name: #MagmaTestCase
classPool: a Dictionary(#InitiateBackupPrereqsCompleted->a Set()
#MagmaServerAd...etc...
sharedPools: nil
environment: Smalltalk
category: #'Magma tester-SUnit tests'
traitComposition: {}
localSelectors: nil
history: a Dictionary(#errors->a Set() #failures->a Set()
#passed->a Set() #tim...etc...
MagmaTestCase(MaTestCase)>>setUpSuite
Receiver: MagmaTestCase>>#testAdvance
Arguments and temporary variables:
Receiver's instance variables:
testSelector: #testAdvance
magmaConsole: nil
peerConsole: nil
clientSession: nil
localRoot: a Dictionary()
proxy: nil
original34990: nil
forwardRecoverySignaled: false
timeToVerifyRestore: false
shouldStopGeneratingSequenceNumbers: nil
sequenceNumbers: nil
dormantObject: nil
objectToAdvance: nil
forwardRecoveryRequirement: nil
shouldStopFlooding: false
refreshTestFixture: nil
[] in [] in TestSuite>>maExecuteTestsUsing:result:
Receiver: a TestSuite
Arguments and temporary variables:
Receiver's instance variables:
tests: an OrderedCollection(MagmaTestCase>>#testAdvance
MagmaTestCase>>#testBlo...etc...
resources: nil
name: nil
BlockClosure>>on:do:
Receiver: [closure] in [] in TestSuite>>maExecuteTestsUsing:result:
Arguments and temporary variables:
exception: MaNotification
handlerAction: [closure] in [] in TestSuite>>maExecuteTestsUsing:result:
handlerActive: true
Receiver's instance variables:
outerContext: [] in TestSuite>>maExecuteTestsUsing:result:
startpc: 110
numArgs: 0
[] in TestSuite>>maExecuteTestsUsing:result:
Receiver: a TestSuite
Arguments and temporary variables:
aSymbol: #maDebug:
aResult: 0 run, 0 passes, 0 expected failures, 0 failures, 0
errors, 0 unexpect...etc...
shouldRunTests: nil
durationToRun: nil
Receiver's instance variables:
tests: an OrderedCollection(MagmaTestCase>>#testAdvance
MagmaTestCase>>#testBlo...etc...
resources: nil
name: nil
BlockClosure>>ensure:
Receiver: [closure] in TestSuite>>maExecuteTestsUsing:result:
Arguments and temporary variables:
aBlock: [closure] in TestSuite>>maExecuteTestsUsing:result:
returnValue: nil
b: nil
Receiver's instance variables:
outerContext: TestSuite>>maExecuteTestsUsing:result:
startpc: 104
numArgs: 0
TestSuite>>maExecuteTestsUsing:result:
Receiver: a TestSuite
Arguments and temporary variables:
aSymbol: #maDebug:
aResult: 0 run, 0 passes, 0 expected failures, 0 failures, 0
errors, 0 unexpect...etc...
Receiver's instance variables:
tests: an OrderedCollection(MagmaTestCase>>#testAdvance
MagmaTestCase>>#testBlo...etc...
resources: nil
name: nil
TestSuite>>maDebug:
Receiver: a TestSuite
Arguments and temporary variables:
aResult: 0 run, 0 passes, 0 expected failures, 0 failures, 0
errors, 0 unexpect...etc...
Receiver's instance variables:
tests: an OrderedCollection(MagmaTestCase>>#testAdvance
MagmaTestCase>>#testBlo...etc...
resources: nil
name: nil
[] in TestSuite>>maRunUsing:
Receiver: a TestSuite
Arguments and temporary variables:
aSymbol: #maDebug:
result: 0 run, 0 passes, 0 expected failures, 0 failures, 0 errors,
0 unexpecte...etc...
Receiver's instance variables:
tests: an OrderedCollection(MagmaTestCase>>#testAdvance
MagmaTestCase>>#testBlo...etc...
resources: nil
name: nil
BlockClosure>>ensure:
Receiver: [closure] in TestSuite>>maRunUsing:
Arguments and temporary variables:
aBlock: [closure] in TestSuite>>maRunUsing:
returnValue: nil
b: nil
Receiver's instance variables:
outerContext: TestSuite>>maRunUsing:
startpc: 42
numArgs: 0
TestSuite>>maRunUsing:
Receiver: a TestSuite
Arguments and temporary variables:
aSymbol: #maDebug:
result: 0 run, 0 passes, 0 expected failures, 0 failures, 0 errors,
0 unexpecte...etc...
Receiver's instance variables:
tests: an OrderedCollection(MagmaTestCase>>#testAdvance
MagmaTestCase>>#testBlo...etc...
resources: nil
name: nil
TestSuite>>maDebug
Receiver: a TestSuite
Arguments and temporary variables:
Receiver's instance variables:
tests: an OrderedCollection(MagmaTestCase>>#testAdvance
MagmaTestCase>>#testBlo...etc...
resources: nil
name: nil
UndefinedObject>>DoIt
Receiver: nil
Arguments and temporary variables:
Receiver's instance variables:
nil
Compiler>>evaluate:in:to:notifying:ifFail:logged:
Receiver: a Compiler
Arguments and temporary variables:
textOrStream: a ReadWriteStream 'MaObjectSerializerTestCase suite
OSProcess
...etc...
aContext: nil
receiver: nil
aRequestor: a TextMorphForShoutEditor
failBlock: [closure] in [] in
TextMorphForShoutEditor(ParagraphEditor)>>evaluat...etc...
logFlag: true
methodNode: DoIt
^ MagmaTestCase fullSuite maDebug
method: a CompiledMethod(1314: UndefinedObject>>DoIt)
value: nil
toLog: nil
itsSelection: nil
itsSelectionString: nil
Receiver's instance variables:
sourceStream: a ReadWriteStream 'MaObjectSerializerTestCase suite
OSProcess
...etc...
requestor: a TextMorphForShoutEditor
class: UndefinedObject
category: nil
context: nil
parser: a Parser
[] in TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
Receiver: a TextMorphForShoutEditor
Arguments and temporary variables:
rcvr: nil
ctxt: nil
Receiver's instance variables:
model: a SHWorkspace
paragraph: a MultiNewParagraph
startBlock: a CharacterBlock with index 78 and character Character
cr and recta...etc...
stopBlock: a CharacterBlock with index 47 and character $M and
rectangle 0@56 c...etc...
beginTypeInBlock: nil
emphasisHere: an Array(a TextColor code: (Color r: 0.0 g: 0.0 b: 0.5))
initialText: a Text for 'MaObjectSerializerTestCase suite
OSProcess
MagmaTes...etc...
selectionShowing: false
otherInterval: (75 to: 74)
lastParentLocation: nil
morph: a TextMorphForShout(1009)
oldInterval: (75 to: 74)
pivotBlock: a CharacterBlock with index 66 and character $u and
rectangle 119@5...etc...
inBackTo: nil
BlockClosure>>on:do:
Receiver: [closure] in
TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
Arguments and temporary variables:
exception: OutOfScopeNotification
handlerAction: [closure] in
TextMorphForShoutEditor(ParagraphEditor)>>evaluateS...etc...
handlerActive: true
Receiver's instance variables:
outerContext: TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
startpc: 116
numArgs: 0
TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
Receiver: a TextMorphForShoutEditor
Arguments and temporary variables:
result: nil
rcvr: nil
ctxt: nil
Receiver's instance variables:
model: a SHWorkspace
paragraph: a MultiNewParagraph
startBlock: a CharacterBlock with index 78 and character Character
cr and recta...etc...
stopBlock: a CharacterBlock with index 47 and character $M and
rectangle 0@56 c...etc...
beginTypeInBlock: nil
emphasisHere: an Array(a TextColor code: (Color r: 0.0 g: 0.0 b: 0.5))
initialText: a Text for 'MaObjectSerializerTestCase suite
OSProcess
MagmaTes...etc...
selectionShowing: false
otherInterval: (75 to: 74)
lastParentLocation: nil
morph: a TextMorphForShout(1009)
oldInterval: (75 to: 74)
pivotBlock: a CharacterBlock with index 66 and character $u and
rectangle 119@5...etc...
inBackTo: nil
TextMorphForShoutEditor(ParagraphEditor)>>doIt
Receiver: a TextMorphForShoutEditor
Arguments and temporary variables:
Receiver's instance variables:
model: a SHWorkspace
paragraph: a MultiNewParagraph
startBlock: a CharacterBlock with index 78 and character Character
cr and recta...etc...
stopBlock: a CharacterBlock with index 47 and character $M and
rectangle 0@56 c...etc...
beginTypeInBlock: nil
emphasisHere: an Array(a TextColor code: (Color r: 0.0 g: 0.0 b: 0.5))
initialText: a Text for 'MaObjectSerializerTestCase suite
OSProcess
MagmaTes...etc...
selectionShowing: false
otherInterval: (75 to: 74)
lastParentLocation: nil
morph: a TextMorphForShout(1009)
oldInterval: (75 to: 74)
pivotBlock: a CharacterBlock with index 66 and character $u and
rectangle 119@5...etc...
inBackTo: nil
[] in TextMorphForShoutEditor(ParagraphEditor)>>doIt:
Receiver: a TextMorphForShoutEditor
Arguments and temporary variables:
Receiver's instance variables:
model: a SHWorkspace
paragraph: a MultiNewParagraph
startBlock: a CharacterBlock with index 78 and character Character
cr and recta...etc...
stopBlock: a CharacterBlock with index 47 and character $M and
rectangle 0@56 c...etc...
beginTypeInBlock: nil
emphasisHere: an Array(a TextColor code: (Color r: 0.0 g: 0.0 b: 0.5))
initialText: a Text for 'MaObjectSerializerTestCase suite
OSProcess
MagmaTes...etc...
selectionShowing: false
otherInterval: (75 to: 74)
lastParentLocation: nil
morph: a TextMorphForShout(1009)
oldInterval: (75 to: 74)
pivotBlock: a CharacterBlock with index 66 and character $u and
rectangle 119@5...etc...
inBackTo: nil
--- The full stack ---
NetNameResolver class(Object)>>error:
NetNameResolver class(Object)>>primitiveFailed
NetNameResolver class>>primGetNameInfo:flags:
SocketAddress>>hostNumber
[] in Socket>>connectTo:port:waitForConnectionFor:
Socket>>waitForConnectionFor:ifTimedOut:
Socket>>connectTo:port:waitForConnectionFor:
[] in MaNetworkTestPlayerFacade>>isReady
BlockClosure>>on:do:
MaNetworkTestPlayerFacade>>isReady
[] in MagmaTestCase class(MaNetworkTestCase class)>>waitForPlayerImages
[] in Dictionary(Collection)>>allSatisfy:
[] in Dictionary>>do:
Dictionary(Set)>>do:
Dictionary>>do:
Dictionary(Collection)>>allSatisfy:
MagmaTestCase class(MaNetworkTestCase class)>>waitForPlayerImages
MagmaTestCase class(MaNetworkTestCase class)>>launchPlayerImages
MagmaTestCase class>>launchPlayerImages
MagmaTestCase class(MaNetworkTestCase class)>>setUpSuite
MagmaTestCase class>>setUpSuite
MagmaTestCase(MaTestCase)>>setUpSuite
[] in [] in TestSuite>>maExecuteTestsUsing:result:
BlockClosure>>on:do:
[] in TestSuite>>maExecuteTestsUsing:result:
BlockClosure>>ensure:
TestSuite>>maExecuteTestsUsing:result:
TestSuite>>maDebug:
[] in TestSuite>>maRunUsing:
BlockClosure>>ensure:
TestSuite>>maRunUsing:
TestSuite>>maDebug
UndefinedObject>>DoIt
Compiler>>evaluate:in:to:notifying:ifFail:logged:
[] in TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
BlockClosure>>on:do:
TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
TextMorphForShoutEditor(ParagraphEditor)>>doIt
[] in TextMorphForShoutEditor(ParagraphEditor)>>doIt:
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - -
TextMorphForShoutEditor(ParagraphEditor)>>terminateAndInitializeAround:
TextMorphForShoutEditor(ParagraphEditor)>>doIt:
TextMorphForShoutEditor(ParagraphEditor)>>dispatchOnKeyEvent:with:
TextMorphForShoutEditor(TextMorphEditor)>>dispatchOnKeyEvent:with:
TextMorphForShoutEditor(ParagraphEditor)>>keystroke:
TextMorphForShoutEditor(TextMorphEditor)>>keystroke:
[] in [] in TextMorphForShout(TextMorph)>>keyStroke:
TextMorphForShout(TextMorph)>>handleInteraction:
TextMorphForShout(TextMorphForEditView)>>handleInteraction:
[] in TextMorphForShout(TextMorph)>>keyStroke:
ECToolSet class>>codeCompletionAround:textMorph:keyStroke:
DEVToolSet class>>codeCompletionAround:textMorph:keyStroke:
ToolSet class>>codeCompletionAround:textMorph:keyStroke:
TextMorphForShout(TextMorph)>>keyStroke:
TextMorphForShout(TextMorphForEditView)>>keyStroke:
TextMorphForShout(TextMorph)>>handleKeystroke:
KeyboardEvent>>sentTo:
TextMorphForShout(Morph)>>handleEvent:
TextMorphForShout(Morph)>>handleFocusEvent:
[] in HandMorph>>sendFocusEvent:to:clear:
[] in PasteUpMorph>>becomeActiveDuring:
BlockClosure>>on:do:
PasteUpMorph>>becomeActiveDuring:
HandMorph>>sendFocusEvent:to:clear:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendKeyboardEvent:
HandMorph>>handleEvent:
HandMorph>>processEvents
[] in WorldState>>doOneCycleNowFor:
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[] in Project class>>spawnNewProcess
[] in BlockClosure>>newProcess
------------------------------------------------------------
On Sun, Feb 14, 2010 at 2:14 PM, Adrian Lienhard <adi(a)netstyle.ch> wrote:
> http://code.google.com/p/pharo/issues/detail?id=1884
>
> This issue probably is the last obstacle for the 1.0 release. I've added the following comment:
>
> ---------
>
> The preference proposed by Miguel does not solve the problem but puts the burden on the user that needs to change the preference depending on which implementation works for him. This will lead to many questions and frustrated users. If possible, I'd prefer to make the legacy IPv4 implementation work again until we have a proper IPv6 implementation.
>
> The problem with printing "NetNameResolver addressForName: 'www.yahoo.com'" is not that the resolution does not work correctly but that the printOn: implementation of SocketAddress assumes an IPv6 address. I suggest to change the SocketAddress>>printOn: as follows. Maybe it's just this simple change to makes IPv4 work again -- maybe more such backward compatibility code is needed.
>
> SocketAddress >>printOn: aStream
> Â Â Â Â NetNameResolver useOldNetwork ifTrue: [ ^ super printOn: aStream ].
>
> Â Â Â Â aStream
> Â Â Â Â Â Â Â Â nextPutAll: self hostNumber;
> Â Â Â Â Â Â Â Â nextPut: $(; nextPutAll: self hostName; nextPut: $);
> Â Â Â Â Â Â Â Â nextPut: $,;
> Â Â Â Â Â Â Â Â nextPutAll: self serviceNumber;
> Â Â Â Â Â Â Â Â nextPut: $(; nextPutAll: self serviceName; nextPut: $)
>
> ---------
>
> This change makes #addressForName: work again with useOldNetwork set to true (as it is in recent PharoCore 1.0 images).
>
> Could people that experience problems with the network code update this method and check out if other parts break?
>
> Cheers,
> Adrian
>
> ___________________
> http://www.adrian-lienhard.ch/
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
Feb. 17, 2010