Highlights the improvements on marvin I made in these days on pytest branch: 1. Switch test framework from nose to pytest, while also maintain the back-compatibility for existing test cases. pytest is more flexible than nose, more enjoyable to work with. 2. Speed up test speed a LOT: It only takes 250-300 seconds for a single run for all the test cases under test/integration/smoke folder, while it usually takes 40 minutes to run before. The speed up is coming from running test cases in parallel. pytest-xdist is modified to fix the issue: https://bitbucket.org/hpk42/pytest/issue/175/way-to-control-how-pytest-xdist-runs-tests. we have a lot of existing test cases have to run in sequence per test class. 3. Add a new Jenkins job at http://jenkins.buildacloud.org/job/fastsimulatorbuild/, which only takes 22 minutes for a full cycle build&test. A new VM is created on digitalocean: 4G memory, 40G SSD, and added into Jenkins.buildacloud.org. SSD is life saver, it really makes big difference during build/test. A new docker image is created, which has all the tools installed in order to build and test: e.g. java/mysql/python/git/ installed. A new Jenkins job is created to build and test periodically in every 20 minutes.
So far, the Jenkins job works very well, if everybody ok with what I am doing, I want to merge pytest branch into master later. With a quick CI in hand, we then can start to think about how to add gerrit into our system.