Right now, we have a bunch of very cool tests that break every time i do something stupid. Then jenkins tell me I'm stupid and I fix it and I am happy. It's great!
The thing is, it's only in jenkins. If I would have it on my side, maybe I could test this by myself without having to go through jenkins... *and* I wouldn't make so much noise and then my friends would stop laughing at me. ;)
Therefore, I think we should work on a provision-test command, a bit like the drush testing framework, maybe based on php unit or better yet drush's unit testing?
The tests are:
def run_platform_tests():
fab_install_platform('drupal5')
fab_install_platform('drupal6')
fab_install_platform('drupal7')
fab_install_platform('openatrium')
def run_site_tests():
print "===> Installing some sites"
fab_install_site('drupal5', 'default')
fab_install_site('drupal6', 'default')
fab_install_site('drupal7', 'standard')
fab_install_site('openatrium', 'openatrium')
Each of those does a provision-save, a provision-install (or verify) then hosting-import to pull it in the frontend. We also do fancy hosting-task stuff to verify a platform instead of importing the created site.
This is a good start for #1080590: Testing [meta] too, and a followup to #1183926: debian package testing on jenkins.
Comments
Comment #1
steven jones commentedComment #2
steven jones commentedFor reference these are the other functions that are called by the above:
Comment #3
steven jones commentedOkay, so I've factored these tests out, and added them to provision, though they require a full Aegir stack (including hostmaster) to run.
So you can do something like:
And it'll test installing drupal5, 6, 7 and openatrium at the moment. (Drupal 5 is only tested on PHP 5.2)
I still need to push this into the other dev branches.
Comment #4
steven jones commentedPushed into the other branches too.