During a Piwik software update, there will be instances of old classes
loaded in memory. This is problematic as we will start to instantiate
new classes which may not be backward compatible. This class provides
a clean bridge/transition by forcing a new request.
This class needs to be self-contained, with no external dependencies.
Every time I updated wordpress I noticed they were doing this and thought "we should do it too" :)
Great idea, well done!! This will save a lot of pain in the future.
(in the right ticket this time)
I tested 1.0 to trunk.
I instrumented the errors for testing. (Limited time)
We'll be able to test the other scenarios when I get Selenium running on dev6. (I have it working locally.) I've also done some work with Behat/Mink but will defer that until the switch to phpunit.
Selenium running on dev6. (I have it working locally.)
I've also done some work with Behat/Mink but will defer that until the switch to phpunit.
Sounds fun too!
I have looked quickly and it looks interesting. Do you plan to integrate this to improve our current test coverage, or at first to update existing webtests and make it easier to write new web tests?
Testing the case "Update from trunk to fake next release" is important too (as I assume it triggers different code path)
Reopening until confirmation that trunk -> fake 1.8 update works
Behat/Mink testing won't improve test coverage. Its main benefit is enabling a more natural language for writing acceptance tests.
We've unfortunately lost a lot of web test coverage due to WebTest + jQuery/jQuery-UI incompatibilities. Replacing WebTest with Selenium will be my priority after #3030.
Todo before closing this ticket:
@vipsoft Is there any other pending task? thx
I tested an automatic upgrade from 1.7.1 to 1.8-rc2 but after 1min20, after it unpacked, etc. it redirected to login screen with errors "Login / password not provided"... there was no summary of the auto update. Maybe auto upgrade is partially broken (the UI feedback part) but files seemt o have downloaded and overwrite OK.
Great work on this one Anthon, clean & few code for an elegant solution to a recurrent issue. Now we don't need the ugly is_class() calls? :)
I did a test upgrading from rc4 to rc5 and it worked fine. not sure what hapened in my test before.
It will feel safer with the webtest from 1.0 upgrade ;)