SeasideSt / Parasol

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

Fix "Infinite load loop involving Seaside and Parasol when reloading either project - GemStone only" #44

Closed dalehenrich closed 3 years ago

dalehenrich commented 3 years ago

fix #43 - GemStone-specific changes:

  1. Parasol does not explicitly load Seaside3 (the source of the infinite oop)
  2. Since Parasol tests need to run Seaside web servers to run the tests, the #preload script scripts/preloadSeasideForGemStone.st loads the packages needed to run the Seaside web server gems needed for the tests
dalehenrich commented 3 years ago

Right now, scripts/preloadSeasideForGemStone.st references the issue_1223 branch of dalehenrich/Seaside, so once the checks have completed and we get green tests, I will switch the script to use the master branch of Seaside --- I expect the travis tests to pass, however, an infinite loop might happen for GemStone builds (since we effectively reload a Parasol that will try to reload Seaside), however once both Seaside is using the newer version of Parasol (with the fix for #43) the infinite loop will go away.

I suppose we could also wait until AFTER the merge is complete to remove the reference to dalehenrich/Seaside, as well.

dalehenrich commented 3 years ago

@jbrichau, I've got the infinite load loop taken care of for GemStone ... the infinite loop could interfere with GemStone upgrades, which involve reloading projects so that the proper code for the new version is loaded, so I think that eventually this would have been an issue for Seaside users and having a fix in my pocket is better than scrambling for a fix if and when it actually pops up ... I'm open to other approaches than the Seaside preload script, but it seems that Parasol and Seaside are pretty much linked together and is loaded for free when you load Seaside directly (sort of) ...