[Chandler-dev] Functional test failures

John Anderson john at osafoundation.org
Tue Sep 26 10:45:43 PDT 2006


One possible you should check for is the following:

When wxWidgets (or perhaps other C++) calls Python, if the Python raises 
an exception it will not propagate across the C++ call boundary to the 
Python layer above it. However, it should print the exception (probably 
to stderr), so as long as writing to stderr causes a test to fail you 
should be catching it.

John

Dan Steinicke wrote:
> John,
>
> As Heikki says we already have bugs on this.  I have been looking at 
> the problem of the test not failing when an exception is being 
> thrown.  When --catch=test as it does on the tinderboxes the entire 
> test is wrapped in a try/ except block.  Yet some exceptions are still 
> not getting caught.  I am unsure what else to do.   I would welcome 
> ideas on how to better catch exceptions during testing.
> Mikeal is looking into this as well but since he is away at CalConnect 
> this week he may not be able to do much on it.
>
> Dan
>
> John Anderson wrote:
>> I'm currently not able to successfully run the functional tests on 
>> Windows with no added changes, even though they seem to be passing on 
>> the tinderbox. See the failure below
>>
>> Has anyone else seen this?
>>
>> John
>>
>> +++ TestSharing:TestSharing +++
>> <DBRepositoryView: MainThread (42)> committed 14 items (13 kbytes) in 
>> 0:00:00.094000, 149 items/s (138 kbytes/s)
>> <DBRepositoryView: MainThread (43)> committed 293 items (210 kbytes) 
>> in 0:00:00.594000, 493 items/s (354 kbytes/s)
>> <DBRepositoryView: viewpool-0 (44)> committed 21 items (31 kbytes) in 
>> 0:00:00.562000, 37 items/s (55 kbytes/s)
>> <DBRepositoryView: viewpool-0 (45)> committed 1 items (0 kbytes) in 
>> 0:00:00.031000, 32 items/s (0 kbytes/s)
>> <DBRepositoryView: MainThread (46)> committed 96 items (42 kbytes) in 
>> 0:00:00.156000, 615 items/s (269 kbytes/s)
>> <DBRepositoryView: MainThread (47)> committed 248 items (133 kbytes) 
>> in 0:00:00.438000, 566 items/s (304 kbytes/s)
>> <DBRepositoryView: Lucene (16)> indexed 8 items in 0:00:00.313000
>> <DBRepositoryView: Lucene (17)> indexed 8 items in 0:00:00.250000
>> <DBRepositoryView: Lucene (18)> indexed 15 items in 0:00:00.328000
>> <DBRepositoryView: Lucene (19)> indexed 7 items in 0:00:00.219000
>> <DBRepositoryView: viewpool-0 (48)> committed 42 items (94 kbytes) in 
>> 0:00:00.765000, 55 items/s (123 kbytes/s)
>> <DBRepositoryView: Lucene (20)> indexed 6 items in 0:00:00.797000
>> <DBRepositoryView: viewpool-0 (49)> committed 2 items (1 kbytes) in 
>> 0:00:00.188000, 11 items/s (5 kbytes/s)
>> <DBRepositoryView: Lucene (21)> indexed 6 items in 0:00:00.266000
>> <DBRepositoryView: viewpool-0 (50)> committed 2 items (1 kbytes) in 
>> 0:00:00.235000, 9 items/s (4 kbytes/s)
>> <DBRepositoryView: Lucene (22)> indexed 18 items in 0:00:00.422000
>> <DBRepositoryView: Lucene (23)> indexed 11 items in 0:00:00.500000
>> <DBRepositoryView: Lucene (24)> indexed 9 items in 0:00:00.140000
>> <DBRepositoryView: Lucene (25)> indexed 9 items in 0:00:00.204000
>> <DBRepositoryView: Lucene (26)> indexed 9 items in 0:00:00.156000
>> Traceback (most recent call last):
>>  File "d:\John\osaf\chandler\parcels\osaf\framework\blocks\Block.py", 
>> line 62, in with_sync
>>    method(*args, **kwds)
>>  File "d:\John\osaf\chandler\parcels\osaf\framework\blocks\Table.py", 
>> line 292, in OnRangeSelect
>>    blockItem.PostSelectItems()
>>  File "d:\John\osaf\chandler\parcels\osaf\framework\blocks\Table.py", 
>> line 786, in PostSelectItems
>>    {'items': items,
>>  File "d:\John\osaf\chandler\parcels\osaf\framework\blocks\Block.py", 
>> line 216, in postEventByName
>>    return self.postEventByNameWithSender (eventName, args, sender=self)
>>  File "d:\John\osaf\chandler\parcels\osaf\framework\blocks\Block.py", 
>> line 210, in postEventByNameWithSender
>>    return theClass.post (event, args, sender)
>>  File "d:\John\osaf\chandler\parcels\osaf\framework\blocks\Block.py", 
>> line 190, in post
>>    hookItem.dispatchEvent (event, Block.depth)
>>  File "d:\John\osaf\chandler\parcels\osaf\framework\blocks\Block.py", 
>> line 1035, in dispatchEvent
>>    lambda child: (child is not None and
>>  File "d:\John\osaf\chandler\parcels\osaf\framework\blocks\Block.py", 
>> line 979, in broadcast
>>    broadcast (child, methodName, event, childTest)
>>  File "d:\John\osaf\chandler\parcels\osaf\framework\blocks\Block.py", 
>> line 979, in broadcast
>>    broadcast (child, methodName, event, childTest)
>>  File "d:\John\osaf\chandler\parcels\osaf\framework\blocks\Block.py", 
>> line 979, in broadcast
>>    broadcast (child, methodName, event, childTest)
>>  File "d:\John\osaf\chandler\parcels\osaf\framework\blocks\Block.py", 
>> line 976, in broadcast
>>    callMethod (block, methodName, event)
>>  File "d:\John\osaf\chandler\parcels\osaf\framework\blocks\Block.py", 
>> line 939, in callNamedMethod
>>    event.arguments ['results'] = member (blockOrWidget, event)
>>  File 
>> "d:\John\osaf\chandler\parcels\osaf\framework\blocks\BranchPoint.py", 
>> line 123, in onSelectItemsEvent
>>    widget.wxSynchronizeWidget ()
>>  File 
>> "d:\John\osaf\chandler\parcels\osaf\framework\blocks\BranchPoint.py", 
>> line 66, in wxSynchronizeWidget
>>    self.blockItem.installTreeOfBlocks()
>>  File 
>> "d:\John\osaf\chandler\parcels\osaf\framework\blocks\BranchPoint.py", 
>> line 213, in installTreeOfBlocks
>>    IgnoreSynchronizeWidget(False, Rerender)
>>  File "d:\John\osaf\chandler\parcels\osaf\framework\blocks\Block.py", 
>> line 80, in IgnoreSynchronizeWidget
>>    result = method(*args, **kwds)
>>  File 
>> "d:\John\osaf\chandler\parcels\osaf\framework\blocks\BranchPoint.py", 
>> line 199, in Rerender
>>    newView.postEventByName("SetContents", {
>>  File "d:\John\osaf\chandler\parcels\osaf\framework\blocks\Block.py", 
>> line 216, in postEventByName
>>    return self.postEventByNameWithSender (eventName, args, sender=self)
>>  File "d:\John\osaf\chandler\parcels\osaf\framework\blocks\Block.py", 
>> line 210, in postEventByNameWithSender
>>    return theClass.post (event, args, sender)
>>  File "d:\John\osaf\chandler\parcels\osaf\framework\blocks\Block.py", 
>> line 190, in post
>>    hookItem.dispatchEvent (event, Block.depth)
>>  File "d:\John\osaf\chandler\parcels\osaf\framework\blocks\Block.py", 
>> line 1035, in dispatchEvent
>>    lambda child: (child is not None and
>>  File "d:\John\osaf\chandler\parcels\osaf\framework\blocks\Block.py", 
>> line 979, in broadcast
>>    broadcast (child, methodName, event, childTest)
>>  File "d:\John\osaf\chandler\parcels\osaf\framework\blocks\Block.py", 
>> line 976, in broadcast
>>    callMethod (block, methodName, event)
>>  File "d:\John\osaf\chandler\parcels\osaf\framework\blocks\Block.py", 
>> line 939, in callNamedMethod
>>    event.arguments ['results'] = member (blockOrWidget, event)
>>  File "d:\John\osaf\chandler\parcels\osaf\framework\blocks\Table.py", 
>> line 767, in onSetContentsEvent
>>    self.PostSelectItems()
>>  File "d:\John\osaf\chandler\parcels\osaf\framework\blocks\Table.py", 
>> line 783, in PostSelectItems
>>    items = list(self.contents.iterSelection())
>>  File "d:\John\osaf\chandler\parcels\osaf\pim\collections.py", line 
>> 819, in iterSelection
>>    ranges = self.getSelectionRanges()
>>  File "d:\John\osaf\chandler\parcels\osaf\pim\collections.py", line 
>> 752, in getSelectionRanges
>>    return self.getCollectionIndex().getRanges()
>>  File "d:\John\osaf\chandler\parcels\osaf\pim\collections.py", line 
>> 674, in getCollectionIndex
>>    self.addIndex(indexName, 'attribute', attributes=attributes)
>>  File "d:\John\osaf\chandler\repository\item\Indexed.py", line 122, 
>> in addIndex
>>    index = self._createIndex(indexType, **kwds)
>>  File "d:\John\osaf\chandler\repository\item\Indexed.py", line 254, 
>> in _createIndex
>>    return AttributeIndex(self, self._createIndex('numeric', **kwds),
>>  File "d:\John\osaf\chandler\repository\item\Indexed.py", line 251, 
>> in _createIndex
>>    return self._getView()._createNumericIndex(**kwds)
>> AttributeError: 'NoneType' object has no attribute '_createNumericIndex'
>> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>>
>> Open Source Applications Foundation "chandler-dev" mailing list
>> http://lists.osafoundation.org/mailman/listinfo/chandler-dev
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> Open Source Applications Foundation "chandler-dev" mailing list
> http://lists.osafoundation.org/mailman/listinfo/chandler-dev


More information about the chandler-dev mailing list