[Seaside] Problems with WANoDuplicateUuidsTest and Magritte image
renggli at gmail.com
Mon Apr 16 07:09:48 UTC 2012
This is the same problem in Seaside 3.0 and 3.1.
I've created http://code.google.com/p/seaside/issues/detail?id=721
On 16 April 2012 09:05, Lukas Renggli <renggli at gmail.com> wrote:
> I believe the following replacement would test the same with much less
> code and without falling into the infinite loop trap:
> | workingCopies versionAncestries uuidsToVersion |
> workingCopies := WADevelopment allPackages
> collect: [ :each | WADevelopment workingCopyFor: each ].
> versionAncestries := workingCopies
> gather: [ :each | each ancestry breadthFirstAncestors ].
> uuidsToVersion := Dictionary new: versionAncestries size.
> versionAncestries do: [ :version |
> (uuidsToVersion includesKey: version id name)
> ifTrue: [ self signalFailure: version name , ' and ' ,
> (uuidsToVersion at: version id name) name , ' have duplicated UUIDs'
> uuidsToVersion at: version id name put: version ]
> On 16 April 2012 08:57, Philippe Marschall <philippe.marschall at gmail.com> wrote:
>> On Mon, Apr 16, 2012 at 8:48 AM, Lukas Renggli <renggli at gmail.com> wrote:
>>> Good catch!
>>> Normally this test is run directly after Seaside is loaded , where
>>> it passes. It seems to loop on 'Magritte-Seaside' though. Looks like
>>> the ancestry there is somehow broken :-(
>>> I wonder why this test duplicates the (complicated) logic to traverse
>>> package ancestries instead of using #topologicalAncestors or
>>> #withBreadthFirstAncestry? These two methods would work, even on the
>>> broken 'Magritte-Seaside'.
>> I'll have a look.
> Lukas Renggli
More information about the seaside