示例#1
0
 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"'])
示例#2
0
 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"'])
示例#3
0
 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"'
     ])
示例#4
0
 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"'])
示例#5
0
 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"'
     ])