Good catch!
Normally this test is run directly after Seaside is loaded [1], where it passes. It seems to loop on 'Magritte-Seaside' though. Looks like the ancestry there is somehow broken :-( +philippe.marschall 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'. Lukas [1]: http://jenkins.lukas-renggli.ch/view/Pipeline/job/Seaside%203.0/lastCompletedBuild/testReport/Seaside.Tests.Pharo.Development/WANoDuplicateUuidsTest/ On 16 April 2012 01:41, Martin Sandiford <[hidden email]> wrote: > Hi Folks, > > If I download the latest Magritte 2 image from here: > http://jenkins.lukas-renggli.ch/view/Pipeline/job/Magritte%202/ and > run the WANoDuplicateUuidsTest, it runs forever. > > Well at least for an hour on my Mac before I gave up :) > > This doesn't happen with the Seaside 3.0.7 one-click or image, so it > seems like something is happening while loading Magritte. > > Is this a known issue? > > Cheers, > Martin > > P.S. Thanks for the awesome framework that Seaside is! > _______________________________________________ > seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside -- Lukas Renggli www.lukas-renggli.ch _______________________________________________ seaside-dev mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev |
On Mon, Apr 16, 2012 at 8:48 AM, Lukas Renggli <[hidden email]> wrote:
> Good catch! > > Normally this test is run directly after Seaside is loaded [1], where > it passes. It seems to loop on 'Magritte-Seaside' though. Looks like > the ancestry there is somehow broken :-( > > +philippe.marschall > > 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. Cheers Philippe _______________________________________________ seaside-dev mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev |
I believe the following replacement would test the same with much less
code and without falling into the infinite loop trap: testNoDuplicateUuids | 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 ] Lukas On 16 April 2012 08:57, Philippe Marschall <[hidden email]> wrote: > On Mon, Apr 16, 2012 at 8:48 AM, Lukas Renggli <[hidden email]> wrote: >> Good catch! >> >> Normally this test is run directly after Seaside is loaded [1], where >> it passes. It seems to loop on 'Magritte-Seaside' though. Looks like >> the ancestry there is somehow broken :-( >> >> +philippe.marschall >> >> 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. > > Cheers > Philippe -- Lukas Renggli www.lukas-renggli.ch _______________________________________________ seaside-dev mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev |
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 Lukas On 16 April 2012 09:05, Lukas Renggli <[hidden email]> wrote: > I believe the following replacement would test the same with much less > code and without falling into the infinite loop trap: > > testNoDuplicateUuids > | 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 ] > > Lukas > > On 16 April 2012 08:57, Philippe Marschall <[hidden email]> wrote: >> On Mon, Apr 16, 2012 at 8:48 AM, Lukas Renggli <[hidden email]> wrote: >>> Good catch! >>> >>> Normally this test is run directly after Seaside is loaded [1], where >>> it passes. It seems to loop on 'Magritte-Seaside' though. Looks like >>> the ancestry there is somehow broken :-( >>> >>> +philippe.marschall >>> >>> 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. >> >> Cheers >> Philippe > > > > -- > Lukas Renggli > www.lukas-renggli.ch -- Lukas Renggli www.lukas-renggli.ch _______________________________________________ seaside-dev mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev |
Free forum by Nabble | Edit this page |