SeasideSt / Parasol

Testing web apps in Smalltalk using Selenium WebDriver.
MIT License
31 stars 16 forks source link

Loading parasol and seasidev3.4.7 loops forever #58

Closed Ducasse closed 1 year ago

Ducasse commented 1 year ago

Hi

When trying to load seaside v3.4.7 and parasol I got an endless loop. I do not really get why in addition the system forces to load Ston and zinc because they are already in the system.

Ducasse commented 1 year ago

IN fact it loops too with Seasidev3.4.8 :( I'm blocked and I do not know what to do :(

Ducasse commented 1 year ago
setUpDependencies: spec

    "spec   
        baseline: 'Seaside3'    
        with: [ spec    
                repository: 'github://SeasideSt/Seaside:v3.4.8/repository' ].
    Material design should certainly load material design"
    "loaded in P10"

    spec
        baseline: 'MaterialDesignLite'
        with: [ spec repository: 'github://DuneSt/MaterialDesignLite:v2.4.1/src' ].

    spec
        baseline: 'DatabaseEsug'
        with: [ spec repository: 'github://ESUG/DatabaseEsug:master/src' ].
    "loaded in P10. Not a single test! Unbelievable"

    spec
        baseline: 'Parasol'
        with: [ spec
                loads: 'default';
                repository: 'github://SeasideSt/Parasol:master/repository' ].

well this loops.

jbrichau commented 1 year ago

Hi @Ducasse

Could you give me a snippet to execute to reproduce the problem? Because the dependency loop between Parasol and Seaside got solved (see https://github.com/SeasideSt/Parasol/pull/53 and https://github.com/SeasideSt/Parasol/pull/52).

Parasol 'default' loads Seaside, but Seaside should not load Parasol by default, so there should be no loop.

Now, looking at your baseline spec, you might want to try loading Parasol 'core' rather than 'default'. This might fix your problem but I am still a little surprised, so even if that fixes your problem, would be great to have a quick way to execute your baseline with a snippet so I can investigate.

jbrichau commented 1 year ago

Maybe MaterialDesign loads Seaside 'tests'? This does include Parasol so then I would expect a loop.

Ducasse commented 1 year ago

Thanks Johan I will check that with Cyril too because he is helping me. I will try to find some time to reproduce with Metacello expression. @jecisc

Ducasse commented 1 year ago
 Metacello new
    baseline: 'MaterialDesignLite';
    repository: 'github://DuneSt/MaterialDesignLite:v2.4.1/src';
    load.

Metacello new
    baseline: 'Parasol';
    repository: 'github://SeasideSt/Parasol:master/repository';
    load: 'default'.

this is working.

Now I will try another script.

Ducasse commented 1 year ago

The following does not loop but does not load.

Metacello new
    baseline: 'Seaside3';
    repository: 'github://SeasideSt/Seaside:v3.4.8/repository';
    load.

Metacello new
    baseline: 'MaterialDesignLite';
    repository: 'github://DuneSt/MaterialDesignLite:v2.4.1/src';
    load.

Metacello new
    baseline: 'Parasol';
    repository: 'github://SeasideSt/Parasol:master/repository';
    load: 'default'.
(Smalltalk at: #ZnZincServerAdaptor) startOn: 8080.
Ducasse commented 1 year ago

github://SeasideSt/Seaside:v3.4.7/repository and master also.

Note that the project I was trying to load is probably too old.

Ducasse commented 1 year ago

So now I'm trying without Material and I do not know why it does not loop anymore :( So this is good but I'm confused.

Ducasse commented 1 year ago

I tried

Metacello new
    baseline: 'Seaside3';
    repository: 'github://SeasideSt/Seaside:v3.4.7/repository';
    load.

Metacello new
    baseline: 'Parasol';
    repository: 'github://SeasideSt/Parasol:master/repository';
    load: 'default'.
(Smalltalk at: #ZnZincServerAdaptor) startOn: 8080.

and it does not loop. So this is good.

Ducasse commented 1 year ago

So I suggest to close the issue. May be the project was loading an old version.