Test suite

Same as #4 but for master branch.