def test_SingleBuildWithCrossVerify(self): helper = TestHelper(self, env={ 'GERRIT_CHANGE_URL': 'http://gerrit', 'GERRIT_PATCHSET_NUMBER': '3', }) factory = helper.factory helper.add_input_json_file('actions.json', { 'builds': [ { 'url': 'http://my_build', 'desc': None, 'result': 'SUCCESS' } ], 'gerrit_info': { 'change': 1234, 'patchset': 5 } }) result = do_post_build(factory, 'actions.json') self.assertEqual(result, { 'url': 'http://my_build', 'message': None }) helper.assertCommandInvoked(['ssh', '-p', '29418', '*****@*****.**', 'gerrit', 'review', '1234,5', '-m', '"Cross-verify with http://gerrit (patch set 3) finished\n\nhttp://my_build: SUCCESS"'])
def test_CrossVerifyRequest(self): commits = RepositoryTestState() commits.set_commit(Project.GROMACS, change_number=3456, patch_number=3) commits.set_commit(Project.REGRESSIONTESTS, change_number=1234, patch_number=5) commits.set_commit(Project.RELENG) helper = TestHelper(self, commits=commits, workspace='/ws', env={ 'BUILD_URL': 'http://build', 'GERRIT_PROJECT': 'gromacs', 'GERRIT_REFSPEC': commits.gromacs.refspec, 'GERRIT_CHANGE_URL': 'http://gerrit', 'GERRIT_PATCHSET_NUMBER': commits.gromacs.patch_number, 'GERRIT_EVENT_COMMENT_TEXT': base64.b64encode('[JENKINS] Cross-verify 1234'), 'GROMACS_REFSPEC': 'refs/heads/master', 'REGRESSIONTESTS_REFSPEC': 'refs/heads/master' }) helper.add_input_file('/ws/gromacs/admin/builds/pre-submit-matrix.txt', '\n'.join(self._MATRIX_INPUT_LINES) + '\n') factory = helper.factory result = get_actions_from_triggering_comment(factory) self.assertEqual(result, { 'builds': [ { 'type': 'matrix', 'desc': 'cross-verify', 'matrix': self._MATRIX_EXPECTED_RESULT } ], 'revisions': commits.expected_build_revisions, 'gerrit_info': { 'change': commits.regressiontests.change_number, 'patchset': commits.regressiontests.patch_number } }) helper.assertCommandInvoked(['ssh', '-p', '29418', '*****@*****.**', 'gerrit', 'review', '1234,5', '-m', '"Cross-verify with http://gerrit (patch set 3) running at http://build"'])
def test_SingleBuildWithCrossVerify(self): helper = TestHelper(self, env={ 'GERRIT_CHANGE_URL': 'http://gerrit', 'GERRIT_PATCHSET_NUMBER': '3', }) factory = helper.factory helper.add_input_json_file( 'actions.json', { 'builds': [{ 'url': 'http://my_build', 'desc': None, 'result': 'SUCCESS' }], 'gerrit_info': { 'change': 1234, 'patchset': 5 } }) result = do_post_build(factory, 'actions.json') self.assertEqual(result, {'url': 'http://my_build', 'message': None}) helper.assertCommandInvoked([ 'ssh', '-p', '29418', '*****@*****.**', 'gerrit', 'review', '1234,5', '-m', '"Cross-verify with http://gerrit (patch set 3) finished\n\nhttp://my_build: SUCCESS"' ])
def test_CrossVerifyRequest(self): helper = TestHelper(self, workspace='ws', env={ 'BUILD_URL': 'http://build', 'GERRIT_PROJECT': 'gromacs', 'GERRIT_CHANGE_URL': 'http://gerrit', 'GERRIT_PATCHSET_NUMBER': '3', 'GERRIT_EVENT_COMMENT_TEXT': base64.b64encode('[JENKINS] Cross-verify 1234') }) input_lines = [ 'gcc-4.6 gpu cuda-5.0', 'msvc-2013' ] helper.add_input_file('ws/gromacs/admin/builds/pre-submit-matrix.txt', '\n'.join(input_lines) + '\n') factory = helper.factory executor = helper.executor get_actions_from_triggering_comment(factory, 'actions.json') helper.assertOutputJsonFile('ws/build/actions.json', { 'builds': [ { 'type': 'matrix', 'desc': 'cross-verify', 'options': '"{0} host=bs_nix1310" "{1} host=bs-win2012r2"'.format(*[x.strip() for x in input_lines]) } ], 'env': { 'REGRESSIONTESTS_REFSPEC': 'refs/changes/34/1234/5', 'REGRESSIONTESTS_HASH': '1234567890abcdef0123456789abcdef01234567' }, 'gerrit_info': { 'change': 1234, 'patchset': 5 } }) helper.assertCommandInvoked(['ssh', '-p', '29418', '*****@*****.**', 'gerrit', 'review', '1234,5', '-m', '"Cross-verify with http://gerrit (patch set 3) running at http://build"'])
def test_CrossVerifyRequest(self): commits = RepositoryTestState() commits.set_commit(Project.GROMACS, change_number=3456, patch_number=3) commits.set_commit(Project.REGRESSIONTESTS, change_number=1234, patch_number=5) commits.set_commit(Project.RELENG) helper = TestHelper( self, commits=commits, workspace='/ws', env={ 'BUILD_URL': 'http://build', 'GERRIT_PROJECT': 'gromacs', 'GERRIT_REFSPEC': commits.gromacs.refspec, 'GERRIT_CHANGE_URL': 'http://gerrit', 'GERRIT_PATCHSET_NUMBER': commits.gromacs.patch_number, 'GERRIT_EVENT_COMMENT_TEXT': base64.b64encode('[JENKINS] Cross-verify 1234'), 'GROMACS_REFSPEC': 'refs/heads/master', 'REGRESSIONTESTS_REFSPEC': 'refs/heads/master' }) helper.add_input_file('/ws/gromacs/admin/builds/pre-submit-matrix.txt', '\n'.join(self._MATRIX_INPUT_LINES) + '\n') factory = helper.factory result = get_actions_from_triggering_comment(factory) self.assertEqual( result, { 'builds': [{ 'type': 'matrix', 'desc': 'cross-verify', 'matrix': self._MATRIX_EXPECTED_RESULT }], 'revisions': commits.expected_build_revisions, 'gerrit_info': { 'change': commits.regressiontests.change_number, 'patchset': commits.regressiontests.patch_number } }) helper.assertCommandInvoked([ 'ssh', '-p', '29418', '*****@*****.**', 'gerrit', 'review', '1234,5', '-m', '"Cross-verify with http://gerrit (patch set 3) running at http://build"' ])