I added an entry to http://www.pharo-project.org/documentation/faq

Cheers,
Adrian

On Aug 22, 2009, at 20:08 , Mariano Martinez Peck wrote:

> 2009/8/22 François Tanguy <[email protected]>
>
>> Thank you Mariano for your answer.
>> I think this information deserves to be in "Pharo FAQ".
>>
>
> Thanks François for you comment and suggestion, I really appreciate  
> it.
> However, I am sorry but I am not completely agree. SqueakDBX has  
> nothing to
> do with Pharo. SqueakDBX is an external package that loads not only  
> in Pharo
> but also in Squeak, Cuis or whatever. The problem you had is SqueakDBX
> related, not Pharo. In addition, if you see our website:
> http://wiki.squeak.org/squeak/6052  in the FAQ you will see that your
> problem was already there.
>
> In summary, it is not Pharo, but SqueakDBX. And in order to use it,  
> you must
> read the wiki :)
>
> Perhaps what we can do is to add a link in the Pharo FAQ that says  
> "if you
> want to use SqueakDBX or GlorpDBX read the following link
> http://wiki.squeak.org/squeak/6052";
>
> What do you think?
>
> François: let me know if it worked for you or how can I help you  
> with it ;)
>
> Best,
>
> Mariano
>
>
>> Bye
>>
>> François
>>
>> Le Aug 21, 2009 à 3:23 PM, Mariano Martinez Peck a écrit :
>>
>>
>>
>> On Fri, Aug 21, 2009 at 8:16 AM, François Tanguy <
>> [email protected]> wrote:
>>
>>> Hello,
>>>
>>> it may be a noobie question but I tried to execute the GlorpTest and
>>> it failed in one case.
>>>
>>> If the DBXDriver is used, the tests failed. (See the stacktrace  
>>> below)
>>> | tr |
>>> SqueakDatabaseAccessor DefaultDriver: SqueakDBXDriver.
>>> tr := TestRunner new.
>>> ToolBuilder open: tr.
>>> tr categoryAt: (tr categoryList indexOf: 'GlorpTest') put: true;
>>> selectAllClasses; runAll.
>>>
>>> But the native driver is used, the tests passed.
>>> | tr |
>>> SqueakDatabaseAccessor DefaultDriver: NativePostgresDriver.
>>> tr := TestRunner new.
>>> ToolBuilder open: tr.
>>> tr categoryAt: (tr categoryList indexOf: 'GlorpTest') put: true;
>>> selectAllClasses; runAll.
>>>
>>> I thought the DBXDriver could be used to manage postgresql database,
>>> no ?
>>
>>
>> Yes, SqueakDBX supports PostgreSQL but also many others backends.  
>> But in
>> contrary to the native postgresql driver which is all in smalltalk,
>> SqueakDBX delegates to an external library written in C called  
>> OpenDBX.
>>
>> So, when using SqueakDBX you must install OpenDBX and the client  
>> library of
>> your database (the error you had is because SqueakDBX doesn't find  
>> OpenDBX
>> in your system). Unfortunately this solution requires a bit more  
>> time of
>> configuring than using the native driver but we can use a lot of  
>> databases
>> and have better performance.
>>
>> I suggest you read the link: http://wiki.squeak.org/squeak/6052
>> And more in deep this link: http://wiki.squeak.org/squeak/6129
>>
>> For Linux and Windows there are also binaries, but in the case of  
>> Mac you
>> must compile.
>>
>> Finally there is a blog someone write to use PostgreSQL with  
>> SqueakDBX in
>> Mac OS:
>>
>> http://dreamsofascorpion.blogspot.com/2008/05/using-opendbx-with-squeak.html
>>
>> To avoid noise in Pharo mailing list remember there is our own  
>> mailing list
>> here:
>> http://wiki.squeak.org/squeak/6052
>>
>> If you have more questions, just ask :)
>>
>> Best,
>>
>> Mariano
>>
>>
>>
>>>
>>>
>>> François
>>>
>>> ps : I am using pharo1.0-10418-BETAweb09.08.2 and I changed the  
>>> login
>>> information in the correct methods (defaultPostgreSQLLocalLogin and
>>> buildDefaultConnectionArgs).
>>> 21 August 2009 11:13:22 am
>>>
>>> VM: Mac OS - intel - 1058 - Squeak3.8.1 of '28 Aug 2006' [latest
>>> update: #6747] Squeak VM 4.1.1b2
>>> Image: Pharo1.0beta [Latest update: #10418]
>>>
>>> SecurityManager state:
>>> Restricted: false
>>> FileAccess: true
>>> SocketAccess: true
>>> Working Dir /Users/paco/Desktop/pharo1.0-10418-BETAweb09.08.2
>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>>> Untrusted Dir /Users/paco/Library/Preferences/Squeak/Internet/My  
>>> Squeak
>>>
>>> OpenDBXMacOSX(Object)>>error:
>>>       Receiver: an OpenDBXMacOSX
>>>       Arguments and temporary variables:
>>>               aString:        'Unable to find function address'
>>>       Receiver's instance variables:
>>> an OpenDBXMacOSX
>>>
>>> OpenDBXMacOSX(Object)>>externalCallFailed
>>>       Receiver: an OpenDBXMacOSX
>>>       Arguments and temporary variables:
>>>               errCode:        13
>>>       Receiver's instance variables:
>>> an OpenDBXMacOSX
>>>
>>> OpenDBXMacOSX(OpenDBXUnix)>>apiInitialize:backend:host:port:
>>>       Receiver: an OpenDBXMacOSX
>>>       Arguments and temporary variables:
>>>               handle:         a WordArray(0)
>>>               backend:        'pgsql'
>>>               host:   '127.0.0.1'
>>>               port:   '5432'
>>>       Receiver's instance variables:
>>> an OpenDBXMacOSX
>>>
>>> DBXPostgresPlatform(DBXPlatform)>>createConnection:
>>>       Receiver: a DBXPostgresPlatform
>>>       Arguments and temporary variables:
>>>               aConnection:    a DBXConnection
>>>               err:    nil
>>>               handleArray:    a WordArray(0)
>>>               handle:         nil
>>>       Receiver's instance variables:
>>> a DBXPostgresPlatform
>>>
>>> DBXConnection>>connect
>>>       Receiver: a DBXConnection
>>>       Arguments and temporary variables:
>>>
>>>       Receiver's instance variables:
>>>               platform:       a DBXPostgresPlatform
>>>               settings:       a DBXConnectionSettings
>>>               handle:         nil
>>>               open:   a ValueHolder
>>>               connected:      a ValueHolder
>>>               result:         nil
>>>
>>> SqueakDBXDriver>>connect:
>>>       Receiver: a SqueakDBXDriver
>>>       Arguments and temporary variables:
>>>               aLogin:         a Login(a PostgreSQLPlatform,  
>>> 'postgres',
>>> 'vorevoca',
>>> '127.0.0.1_glorp'...etc...
>>>       Receiver's instance variables:
>>>               connection:     a DBXConnection
>>>               database:       nil
>>>
>>> [] in SqueakDatabaseAccessor>>loginIfError:
>>>       Receiver: a SqueakDatabaseAccessor
>>>       Arguments and temporary variables:
>>> <<error during printing>
>>>       Receiver's instance variables:
>>>               connection:     nil
>>>               currentLogin:   a Login(a PostgreSQLPlatform,  
>>> 'postgres',
>>> 'vorevoca',
>>> '127.0.0.1_...etc...
>>>               logging:        nil
>>>               reusePreparedStatements:        nil
>>>               deniedCommands:         nil
>>>               mutex:  a Semaphore()
>>>               dependents:     nil
>>>               isInTransaction:        false
>>>               databaseDriver:         a SqueakDBXDriver
>>>
>>> BlockClosure>>on:do:
>>>       Receiver: [closure] in SqueakDatabaseAccessor>>loginIfError:
>>>       Arguments and temporary variables:
>>>               exception:      Error
>>>               handlerAction:  [closure] in
>>> SqueakDatabaseAccessor(DatabaseAccessor)>>login
>>>               handlerActive:  false
>>>       Receiver's instance variables:
>>>               outerContext:   SqueakDatabaseAccessor>>loginIfError:
>>>               startpc:        60
>>>               numArgs:        0
>>>
>>> SqueakDatabaseAccessor(DatabaseAccessor)>>execute:ifError:
>>>       Receiver: a SqueakDatabaseAccessor
>>>       Arguments and temporary variables:
>>>               aBlock:         [closure] in
>>> SqueakDatabaseAccessor>>loginIfError:
>>>               errorBlock:     [closure] in
>>> SqueakDatabaseAccessor(DatabaseAccessor)>>login
>>>       Receiver's instance variables:
>>>               connection:     nil
>>>               currentLogin:   a Login(a PostgreSQLPlatform,  
>>> 'postgres',
>>> 'vorevoca',
>>> '127.0.0.1_...etc...
>>>               logging:        nil
>>>               reusePreparedStatements:        nil
>>>               deniedCommands:         nil
>>>               mutex:  a Semaphore()
>>>               dependents:     nil
>>>               isInTransaction:        false
>>>               databaseDriver:         a SqueakDBXDriver
>>>
>>> SqueakDatabaseAccessor>>loginIfError:
>>>       Receiver: a SqueakDatabaseAccessor
>>>       Arguments and temporary variables:
>>>               aBlock:         [closure] in
>>> SqueakDatabaseAccessor(DatabaseAccessor)>>login
>>>       Receiver's instance variables:
>>>               connection:     nil
>>>               currentLogin:   a Login(a PostgreSQLPlatform,  
>>> 'postgres',
>>> 'vorevoca',
>>> '127.0.0.1_...etc...
>>>               logging:        nil
>>>               reusePreparedStatements:        nil
>>>               deniedCommands:         nil
>>>               mutex:  a Semaphore()
>>>               dependents:     nil
>>>               isInTransaction:        false
>>>               databaseDriver:         a SqueakDBXDriver
>>>
>>> SqueakDatabaseAccessor(DatabaseAccessor)>>login
>>>       Receiver: a SqueakDatabaseAccessor
>>>       Arguments and temporary variables:
>>>
>>>       Receiver's instance variables:
>>>               connection:     nil
>>>               currentLogin:   a Login(a PostgreSQLPlatform,  
>>> 'postgres',
>>> 'vorevoca',
>>> '127.0.0.1_...etc...
>>>               logging:        nil
>>>               reusePreparedStatements:        nil
>>>               deniedCommands:         nil
>>>               mutex:  a Semaphore()
>>>               dependents:     nil
>>>               isInTransaction:        false
>>>               databaseDriver:         a SqueakDBXDriver
>>>
>>> GlorpDatabaseLoginResource>>setUp
>>>       Receiver: GlorpDatabaseLoginResource
>>>       Arguments and temporary variables:
>>>
>>>       Receiver's instance variables:
>>>               name:   nil
>>>               description:    nil
>>>               accessor:       a SqueakDatabaseAccessor
>>>               login:  a Login(a PostgreSQLPlatform, 'postgres',
>>> 'vorevoca',
>>> '127.0.0.1_glorp')...etc...
>>>
>>> GlorpDatabaseLoginResource(TestResource)>>initialize
>>>       Receiver: GlorpDatabaseLoginResource
>>>       Arguments and temporary variables:
>>>
>>>       Receiver's instance variables:
>>>               name:   nil
>>>               description:    nil
>>>               accessor:       a SqueakDatabaseAccessor
>>>               login:  a Login(a PostgreSQLPlatform, 'postgres',
>>> 'vorevoca',
>>> '127.0.0.1_glorp')...etc...
>>>
>>> GlorpDatabaseLoginResource class(Behavior)>>new
>>>       Receiver: GlorpDatabaseLoginResource
>>>       Arguments and temporary variables:
>>>
>>>       Receiver's instance variables:
>>>               superclass:     TestResource
>>>               methodDict:     a MethodDictionary(#accessor->a
>>> CompiledMethod (1052)
>>> #accessor:->a...etc...
>>>               format:         138
>>>               instanceVariables:      #('accessor' 'login')
>>>               organization:   ('accessing' accessor accessor: login
>>> login: platform)
>>> ('initiali...etc...
>>>               subclasses:     nil
>>>               name:   #GlorpDatabaseLoginResource
>>>               classPool:      a Dictionary(#DefaultLogin->a Login(a
>>> PostgreSQLPlatform, 'postgres'...etc...
>>>               sharedPools:    nil
>>>               environment:    Smalltalk
>>>               category:       #'OpenDBX-Glorp-Core-Test'
>>>               traitComposition:       nil
>>>               localSelectors:         nil
>>>               current:        nil
>>>
>>> GlorpDatabaseLoginResource class(TestResource class)>>current
>>>       Receiver: GlorpDatabaseLoginResource
>>>       Arguments and temporary variables:
>>>
>>>       Receiver's instance variables:
>>>               superclass:     TestResource
>>>               methodDict:     a MethodDictionary(#accessor->a
>>> CompiledMethod (1052)
>>> #accessor:->a...etc...
>>>               format:         138
>>>               instanceVariables:      #('accessor' 'login')
>>>               organization:   ('accessing' accessor accessor: login
>>> login: platform)
>>> ('initiali...etc...
>>>               subclasses:     nil
>>>               name:   #GlorpDatabaseLoginResource
>>>               classPool:      a Dictionary(#DefaultLogin->a Login(a
>>> PostgreSQLPlatform, 'postgres'...etc...
>>>               sharedPools:    nil
>>>               environment:    Smalltalk
>>>               category:       #'OpenDBX-Glorp-Core-Test'
>>>               traitComposition:       nil
>>>               localSelectors:         nil
>>>               current:        nil
>>>
>>> GlorpDemoTablePopulatorResource>>setUp
>>>       Receiver: GlorpDemoTablePopulatorResource
>>>       Arguments and temporary variables:
>>>
>>>       Receiver's instance variables:
>>>               name:   nil
>>>               description:    nil
>>>               login:  nil
>>>
>>> GlorpDemoTablePopulatorResource(TestResource)>>initialize
>>>       Receiver: GlorpDemoTablePopulatorResource
>>>       Arguments and temporary variables:
>>>
>>>       Receiver's instance variables:
>>>               name:   nil
>>>               description:    nil
>>>               login:  nil
>>>
>>> GlorpDemoTablePopulatorResource class(Behavior)>>new
>>>       Receiver: GlorpDemoTablePopulatorResource
>>>       Arguments and temporary variables:
>>>
>>>       Receiver's instance variables:
>>>               superclass:     TestResource
>>>               methodDict:     a  
>>> MethodDictionary(#populateStuffTable->a
>>> CompiledMethod (555) #set...etc...
>>>               format:         136
>>>               instanceVariables:      #('login')
>>>               organization:   ('setup' populateStuffTable setUp)
>>> ('*glorpTestPostload-override'...etc...
>>>               subclasses:     nil
>>>               name:   #GlorpDemoTablePopulatorResource
>>>               classPool:      a Dictionary(#NeedsSetup->false )
>>>               sharedPools:    nil
>>>               environment:    Smalltalk
>>>               category:       #GlorpTest
>>>               traitComposition:       nil
>>>               localSelectors:         nil
>>>               current:        nil
>>>
>>> GlorpDemoTablePopulatorResource class(TestResource class)>>current
>>>       Receiver: GlorpDemoTablePopulatorResource
>>>       Arguments and temporary variables:
>>>
>>>       Receiver's instance variables:
>>>               superclass:     TestResource
>>>               methodDict:     a  
>>> MethodDictionary(#populateStuffTable->a
>>> CompiledMethod (555) #set...etc...
>>>               format:         136
>>>               instanceVariables:      #('login')
>>>               organization:   ('setup' populateStuffTable setUp)
>>> ('*glorpTestPostload-override'...etc...
>>>               subclasses:     nil
>>>               name:   #GlorpDemoTablePopulatorResource
>>>               classPool:      a Dictionary(#NeedsSetup->false )
>>>               sharedPools:    nil
>>>               environment:    Smalltalk
>>>               category:       #GlorpTest
>>>               traitComposition:       nil
>>>               localSelectors:         nil
>>>               current:        nil
>>>
>>> GlorpSessionResource>>glorpTestsSystem
>>>       Receiver: GlorpSessionResource
>>>       Arguments and temporary variables:
>>>
>>>       Receiver's instance variables:
>>>               name:   nil
>>>               description:    nil
>>>               session:        nil
>>>
>>> GlorpSessionResource>>setUp
>>>       Receiver: GlorpSessionResource
>>>       Arguments and temporary variables:
>>>
>>>       Receiver's instance variables:
>>>               name:   nil
>>>               description:    nil
>>>               session:        nil
>>>
>>> GlorpSessionResource(TestResource)>>initialize
>>>       Receiver: GlorpSessionResource
>>>       Arguments and temporary variables:
>>>
>>>       Receiver's instance variables:
>>>               name:   nil
>>>               description:    nil
>>>               session:        nil
>>>
>>> GlorpSessionResource class(Behavior)>>new
>>>       Receiver: GlorpSessionResource
>>>       Arguments and temporary variables:
>>>
>>>       Receiver's instance variables:
>>>               superclass:     TestResource
>>>               methodDict:     a MethodDictionary(#glorpTestsSystem- 
>>> >a
>>> CompiledMethod
>>> (1814) #newS...etc...
>>>               format:         136
>>>               instanceVariables:      #('session')
>>>               organization:   ('setup' glorpTestsSystem setUp)
>>> ('accessing' newSession session)...etc...
>>>               subclasses:     nil
>>>               name:   #GlorpSessionResource
>>>               classPool:      nil
>>>               sharedPools:    nil
>>>               environment:    Smalltalk
>>>               category:       #GlorpTest
>>>               traitComposition:       nil
>>>               localSelectors:         nil
>>>               current:        nil
>>>
>>> GlorpSessionResource class(TestResource class)>>current
>>>       Receiver: GlorpSessionResource
>>>       Arguments and temporary variables:
>>>
>>>       Receiver's instance variables:
>>>               superclass:     TestResource
>>>               methodDict:     a MethodDictionary(#glorpTestsSystem- 
>>> >a
>>> CompiledMethod
>>> (1814) #newS...etc...
>>>               format:         136
>>>               instanceVariables:      #('session')
>>>               organization:   ('setup' glorpTestsSystem setUp)
>>> ('accessing' newSession session)...etc...
>>>               subclasses:     nil
>>>               name:   #GlorpSessionResource
>>>               classPool:      nil
>>>               sharedPools:    nil
>>>               environment:    Smalltalk
>>>               category:       #GlorpTest
>>>               traitComposition:       nil
>>>               localSelectors:         nil
>>>               current:        nil
>>>
>>> GlorpSessionResource class(TestResource class)>>isAvailable
>>>       Receiver: GlorpSessionResource
>>>       Arguments and temporary variables:
>>>
>>>       Receiver's instance variables:
>>>               superclass:     TestResource
>>>               methodDict:     a MethodDictionary(#glorpTestsSystem- 
>>> >a
>>> CompiledMethod
>>> (1814) #newS...etc...
>>>               format:         136
>>>               instanceVariables:      #('session')
>>>               organization:   ('setup' glorpTestsSystem setUp)
>>> ('accessing' newSession session)...etc...
>>>               subclasses:     nil
>>>               name:   #GlorpSessionResource
>>>               classPool:      nil
>>>               sharedPools:    nil
>>>               environment:    Smalltalk
>>>               category:       #GlorpTest
>>>               traitComposition:       nil
>>>               localSelectors:         nil
>>>               current:        nil
>>>
>>> [] in TestRunner>>basicSetUpSuite:
>>>       Receiver: a TestRunner
>>>       Arguments and temporary variables:
>>> <<error during printing>
>>>       Receiver's instance variables:
>>>               categories:     #(#'AST-Tests'
>>> #'AutomaticMethodCategorizer-Tests'
>>> #'AutomaticMetho...etc...
>>>               categoriesSelected:     a Set(#GlorpTest)
>>>               classes:         
>>> {GlorpBreadthFirstTopologicalSortTest .
>>> GlorpCommandTest .
>>> GlorpCursor...etc...
>>>               classIndex:     0
>>>               classesSelected:        a Set(GlorpSQLPrintingTest
>>> GlorpDatabaseBasedTest
>>> GlorpManyToM...etc...
>>>               failedList:     #()
>>>               failedSelected:         nil
>>>               errorList:      #()
>>>               errorSelected:  nil
>>>               lastUpdate:     3428305867
>>>               result:         0 run, 0 passes, 0 expected  
>>> failures, 0
>>> failures, 0 errors,
>>> 0 unexpecte...etc...
>>>               previousRun:    nil
>>>
>>> Set>>do:
>>>       Receiver: a Set(GlorpSessionResource  
>>> GlorpDatabaseLoginResource
>>> GlorpDemoTablePopulatorResource)
>>>       Arguments and temporary variables:
>>>               aBlock:         [closure] in  
>>> TestRunner>>basicSetUpSuite:
>>>               index:  2
>>>               each:   GlorpSessionResource
>>>               indexLimiT:     5
>>>       Receiver's instance variables:
>>>               tally:  3
>>>               array:  {nil . GlorpSessionResource .
>>> GlorpDatabaseLoginResource .
>>> GlorpDemoTabl...etc...
>>>
>>> TestRunner>>basicSetUpSuite:
>>>       Receiver: a TestRunner
>>>       Arguments and temporary variables:
>>>               aTestSuite:     a TestSuite
>>>       Receiver's instance variables:
>>>               categories:     #(#'AST-Tests'
>>> #'AutomaticMethodCategorizer-Tests'
>>> #'AutomaticMetho...etc...
>>>               categoriesSelected:     a Set(#GlorpTest)
>>>               classes:         
>>> {GlorpBreadthFirstTopologicalSortTest .
>>> GlorpCommandTest .
>>> GlorpCursor...etc...
>>>               classIndex:     0
>>>               classesSelected:        a Set(GlorpSQLPrintingTest
>>> GlorpDatabaseBasedTest
>>> GlorpManyToM...etc...
>>>               failedList:     #()
>>>               failedSelected:         nil
>>>               errorList:      #()
>>>               errorSelected:  nil
>>>               lastUpdate:     3428305867
>>>               result:         0 run, 0 passes, 0 expected  
>>> failures, 0
>>> failures, 0 errors,
>>> 0 unexpecte...etc...
>>>               previousRun:    nil
>>>
>>> TestRunner>>basicRunSuite:do:
>>>       Receiver: a TestRunner
>>>       Arguments and temporary variables:
>>>               aTestSuite:     a TestSuite
>>>               aBlock:         [closure] in TestRunner>>runSuite:
>>>       Receiver's instance variables:
>>>               categories:     #(#'AST-Tests'
>>> #'AutomaticMethodCategorizer-Tests'
>>> #'AutomaticMetho...etc...
>>>               categoriesSelected:     a Set(#GlorpTest)
>>>               classes:         
>>> {GlorpBreadthFirstTopologicalSortTest .
>>> GlorpCommandTest .
>>> GlorpCursor...etc...
>>>               classIndex:     0
>>>               classesSelected:        a Set(GlorpSQLPrintingTest
>>> GlorpDatabaseBasedTest
>>> GlorpManyToM...etc...
>>>               failedList:     #()
>>>               failedSelected:         nil
>>>               errorList:      #()
>>>               errorSelected:  nil
>>>               lastUpdate:     3428305867
>>>               result:         0 run, 0 passes, 0 expected  
>>> failures, 0
>>> failures, 0 errors,
>>> 0 unexpecte...etc...
>>>               previousRun:    nil
>>>
>>> TestRunner>>runSuite:
>>>       Receiver: a TestRunner
>>>       Arguments and temporary variables:
>>>               aTestSuite:     a TestSuite
>>>       Receiver's instance variables:
>>>               categories:     #(#'AST-Tests'
>>> #'AutomaticMethodCategorizer-Tests'
>>> #'AutomaticMetho...etc...
>>>               categoriesSelected:     a Set(#GlorpTest)
>>>               classes:         
>>> {GlorpBreadthFirstTopologicalSortTest .
>>> GlorpCommandTest .
>>> GlorpCursor...etc...
>>>               classIndex:     0
>>>               classesSelected:        a Set(GlorpSQLPrintingTest
>>> GlorpDatabaseBasedTest
>>> GlorpManyToM...etc...
>>>               failedList:     #()
>>>               failedSelected:         nil
>>>               errorList:      #()
>>>               errorSelected:  nil
>>>               lastUpdate:     3428305867
>>>               result:         0 run, 0 passes, 0 expected  
>>> failures, 0
>>> failures, 0 errors,
>>> 0 unexpecte...etc...
>>>               previousRun:    nil
>>>
>>> TestRunner>>runAll
>>>       Receiver: a TestRunner
>>>       Arguments and temporary variables:
>>>
>>>       Receiver's instance variables:
>>>               categories:     #(#'AST-Tests'
>>> #'AutomaticMethodCategorizer-Tests'
>>> #'AutomaticMetho...etc...
>>>               categoriesSelected:     a Set(#GlorpTest)
>>>               classes:         
>>> {GlorpBreadthFirstTopologicalSortTest .
>>> GlorpCommandTest .
>>> GlorpCursor...etc...
>>>               classIndex:     0
>>>               classesSelected:        a Set(GlorpSQLPrintingTest
>>> GlorpDatabaseBasedTest
>>> GlorpManyToM...etc...
>>>               failedList:     #()
>>>               failedSelected:         nil
>>>               errorList:      #()
>>>               errorSelected:  nil
>>>               lastUpdate:     3428305867
>>>               result:         0 run, 0 passes, 0 expected  
>>> failures, 0
>>> failures, 0 errors,
>>> 0 unexpecte...etc...
>>>               previousRun:    nil
>>>
>>> UndefinedObject>>DoIt
>>>       Receiver: nil
>>>       Arguments and temporary variables:
>>>               tr:     a TestRunner
>>>       Receiver's instance variables:
>>> nil
>>>
>>> Compiler>>evaluate:in:to:notifying:ifFail:logged:
>>>       Receiver: a Compiler
>>>       Arguments and temporary variables:
>>> <<error during printing>
>>>       Receiver's instance variables:
>>>               sourceStream:   a ReadWriteStream '
>>> |tr |
>>> SqueakDatabaseAccessor DefaultDriver: S...etc...
>>>               requestor:      a TextMorphForShoutEditor
>>>               class:  UndefinedObject
>>>               category:       nil
>>>               context:        nil
>>>               parser:         a Parser
>>>
>>> [] in TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
>>>       Receiver: a TextMorphForShoutEditor
>>>       Arguments and temporary variables:
>>> <<error during printing>
>>>       Receiver's instance variables:
>>>               model:  a SHWorkspace
>>>               paragraph:      a MultiNewParagraph
>>>               startBlock:     a CharacterBlock with index 201 and
>>> character Character
>>> cr and rect...etc...
>>>               stopBlock:      a CharacterBlock with index 201 and
>>> character Character
>>> cr and recta...etc...
>>>               beginTypeInBlock:       nil
>>>               emphasisHere:   an Array(a TextColor code: Color red)
>>>               initialText:    a Text for '
>>> |tr |
>>> tr := TestRunner new.
>>> ToolBuilder open: tr.
>>> tr
>>> ...etc...
>>>               selectionShowing:       false
>>>               otherInterval:  (403 to: 402)
>>>               lastParentLocation:     nil
>>>               morph:  a TextMorphForShout(168)
>>>               oldInterval:    (106 to: 105)
>>>               pivotBlock:     a CharacterBlock with index 200 and
>>> character Character
>>> cr and rect...etc...
>>>               inBackTo:       false
>>>
>>> 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 201 and
>>> character Character
>>> cr and rect...etc...
>>>               stopBlock:      a CharacterBlock with index 201 and
>>> character Character
>>> cr and recta...etc...
>>>               beginTypeInBlock:       nil
>>>               emphasisHere:   an Array(a TextColor code: Color red)
>>>               initialText:    a Text for '
>>> |tr |
>>> tr := TestRunner new.
>>> ToolBuilder open: tr.
>>> tr
>>> ...etc...
>>>               selectionShowing:       false
>>>               otherInterval:  (403 to: 402)
>>>               lastParentLocation:     nil
>>>               morph:  a TextMorphForShout(168)
>>>               oldInterval:    (106 to: 105)
>>>               pivotBlock:     a CharacterBlock with index 200 and
>>> character Character
>>> cr and rect...etc...
>>>               inBackTo:       false
>>>
>>> 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 201 and
>>> character Character
>>> cr and rect...etc...
>>>               stopBlock:      a CharacterBlock with index 201 and
>>> character Character
>>> cr and recta...etc...
>>>               beginTypeInBlock:       nil
>>>               emphasisHere:   an Array(a TextColor code: Color red)
>>>               initialText:    a Text for '
>>> |tr |
>>> tr := TestRunner new.
>>> ToolBuilder open: tr.
>>> tr
>>> ...etc...
>>>               selectionShowing:       false
>>>               otherInterval:  (403 to: 402)
>>>               lastParentLocation:     nil
>>>               morph:  a TextMorphForShout(168)
>>>               oldInterval:    (106 to: 105)
>>>               pivotBlock:     a CharacterBlock with index 200 and
>>> character Character
>>> cr and rect...etc...
>>>               inBackTo:       false
>>>
>>> [] in TextMorphForShoutEditor(ParagraphEditor)>>doIt:
>>>       Receiver: a TextMorphForShoutEditor
>>>       Arguments and temporary variables:
>>> <<error during printing>
>>>       Receiver's instance variables:
>>>               model:  a SHWorkspace
>>>               paragraph:      a MultiNewParagraph
>>>               startBlock:     a CharacterBlock with index 201 and
>>> character Character
>>> cr and rect...etc...
>>>               stopBlock:      a CharacterBlock with index 201 and
>>> character Character
>>> cr and recta...etc...
>>>               beginTypeInBlock:       nil
>>>               emphasisHere:   an Array(a TextColor code: Color red)
>>>               initialText:    a Text for '
>>> |tr |
>>> tr := TestRunner new.
>>> ToolBuilder open: tr.
>>> tr
>>> ...etc...
>>>               selectionShowing:       false
>>>               otherInterval:  (403 to: 402)
>>>               lastParentLocation:     nil
>>>               morph:  a TextMorphForShout(168)
>>>               oldInterval:    (106 to: 105)
>>>               pivotBlock:     a CharacterBlock with index 200 and
>>> character Character
>>> cr and rect...etc...
>>>               inBackTo:       false
>>>
>>> TextMorphForShoutEditor 
>>> (ParagraphEditor)>>terminateAndInitializeAround:
>>>       Receiver: a TextMorphForShoutEditor
>>>       Arguments and temporary variables:
>>>               aBlock:         [closure] in
>>> TextMorphForShoutEditor(ParagraphEditor)>>doIt:
>>>       Receiver's instance variables:
>>>               model:  a SHWorkspace
>>>               paragraph:      a MultiNewParagraph
>>>               startBlock:     a CharacterBlock with index 201 and
>>> character Character
>>> cr and rect...etc...
>>>               stopBlock:      a CharacterBlock with index 201 and
>>> character Character
>>> cr and recta...etc...
>>>               beginTypeInBlock:       nil
>>>               emphasisHere:   an Array(a TextColor code: Color red)
>>>               initialText:    a Text for '
>>> |tr |
>>> tr := TestRunner new.
>>> ToolBuilder open: tr.
>>> tr
>>> ...etc...
>>>               selectionShowing:       false
>>>               otherInterval:  (403 to: 402)
>>>               lastParentLocation:     nil
>>>               morph:  a TextMorphForShout(168)
>>>               oldInterval:    (106 to: 105)
>>>               pivotBlock:     a CharacterBlock with index 200 and
>>> character Character
>>> cr and rect...etc...
>>>               inBackTo:       false
>>>
>>>
>>> --- The full stack ---
>>> OpenDBXMacOSX(Object)>>error:
>>> OpenDBXMacOSX(Object)>>externalCallFailed
>>> OpenDBXMacOSX(OpenDBXUnix)>>apiInitialize:backend:host:port:
>>> DBXPostgresPlatform(DBXPlatform)>>createConnection:
>>> DBXConnection>>connect
>>> SqueakDBXDriver>>connect:
>>> [] in SqueakDatabaseAccessor>>loginIfError:
>>> BlockClosure>>on:do:
>>> SqueakDatabaseAccessor(DatabaseAccessor)>>execute:ifError:
>>> SqueakDatabaseAccessor>>loginIfError:
>>> SqueakDatabaseAccessor(DatabaseAccessor)>>login
>>> GlorpDatabaseLoginResource>>setUp
>>> GlorpDatabaseLoginResource(TestResource)>>initialize
>>> GlorpDatabaseLoginResource class(Behavior)>>new
>>> GlorpDatabaseLoginResource class(TestResource class)>>current
>>> GlorpDemoTablePopulatorResource>>setUp
>>> GlorpDemoTablePopulatorResource(TestResource)>>initialize
>>> GlorpDemoTablePopulatorResource class(Behavior)>>new
>>> GlorpDemoTablePopulatorResource class(TestResource class)>>current
>>> GlorpSessionResource>>glorpTestsSystem
>>> GlorpSessionResource>>setUp
>>> GlorpSessionResource(TestResource)>>initialize
>>> GlorpSessionResource class(Behavior)>>new
>>> GlorpSessionResource class(TestResource class)>>current
>>> GlorpSessionResource class(TestResource class)>>isAvailable
>>> [] in TestRunner>>basicSetUpSuite:
>>> Set>>do:
>>> TestRunner>>basicSetUpSuite:
>>> TestRunner>>basicRunSuite:do:
>>> TestRunner>>runSuite:
>>> TestRunner>>runAll
>>> 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
>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [email protected]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [email protected]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [email protected]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to