cyrusimap / cassandane

Other
6 stars 11 forks source link

desegregate tests for 2.5 #1

Closed elliefm closed 7 years ago

elliefm commented 8 years ago

Now that we've got the ability to test replica/murder interactions between different cyrus installs (and thus different cyrus versions) it would be really nice to get this working when the main instance is 2.5. This currently won't work very well because the master branch is following 3.0 development, and is full of feature tests/expectations that don't match 2.5. It's quite a pain to backport individual tests/cass features for 2.5 because of how far they've diverged generally, which means the for-cyrus-2.5 branch has no idea how to use separate installs.

It'd be nice to get the master branch able to cleanly test both 2.5 and 3.0, and then get rid of the separate "for-cyrus-2.5" branch, but to do that we need:

The skippable-tests aspect looks like being the hardest part of this. Neither Cassandane nor the underlying Test::Unit framework seem to have anything along these lines already present (I've gone looking for this particular feature a few times). If anyone has ideas about how to achieve this aspect I'd love to hear them

elliefm commented 8 years ago

Work in progress here: https://github.com/cyrusimap/cassandane/compare/master...elliefm:skippable-tests

Skippable tests and version detection seem to be working well so far, still work to be done identifying which test are version-dependent and tagging them appropriately.

elliefm commented 8 years ago

The main feature is now on master. Still some work to go on individual test suites/functions.

elliefm commented 8 years ago

Work in progress for updating the remaining tests lives here for now: https://github.com/cyrusimap/cassandane/compare/master...elliefm:make-it-work-for-2.5

These suites still need some attention (number in parens is count of tests that fail or error, asterisk in parens indicates something more complicated that needs attention):

elliefm commented 7 years ago

Probably not going to sink any more effort into this now that 3.0 is released. Will just expect a bunch of tests to fail for 2.5 builds, and do before/after runs to compare results across changes.