Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(18)

Unified Diff: commit-queue/tests/presubmit_check_test.py

Issue 135363007: Delete public commit queue to avoid confusion after move to internal repo (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/
Patch Set: Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « commit-queue/tests/pending_manager_test.py ('k') | commit-queue/tests/project_base_test.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: commit-queue/tests/presubmit_check_test.py
===================================================================
--- commit-queue/tests/presubmit_check_test.py (revision 249146)
+++ commit-queue/tests/presubmit_check_test.py (working copy)
@@ -1,169 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2012 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""Unit tests for verification/presubmit_check.py."""
-
-import logging
-import os
-import sys
-import unittest
-
-ROOT_DIR = os.path.dirname(os.path.abspath(__file__))
-sys.path.insert(0, os.path.join(ROOT_DIR, '..'))
-
-from verification import base
-from verification import presubmit_check
-
-import find_depot_tools # pylint: disable=W0611
-from testing_support import trial_dir
-
-# From tests/
-import mocks
-
-
-class PresubmitTest(mocks.TestCase, trial_dir.TrialDirMixIn):
- def setUp(self):
- mocks.TestCase.setUp(self)
- trial_dir.TrialDirMixIn.setUp(self)
-
- # The presubmit check assumes PWD is set accordingly.
- self._old_cwd = os.getcwd()
- os.chdir(self.root_dir)
- with open(os.path.join(self.root_dir, 'hello.txt'), 'wb') as f:
- f.write('allo')
- self.pending.files = ['hello.txt']
-
- def tearDown(self):
- try:
- os.chdir(self._old_cwd)
- trial_dir.TrialDirMixIn.tearDown(self)
- finally:
- mocks.TestCase.tearDown(self)
-
- def _presubmit(self, content):
- # Creates the presubmit check.
- with open(os.path.join(self.root_dir, 'PRESUBMIT.py'), 'wb') as f:
- f.write(content)
-
- def testPresubmitBuggy(self):
- self._presubmit('symbol_not_defined\n')
- self._check(error_message='symbol_not_defined')
-
- def testPresubmitHangs(self):
- self._presubmit('import time\ntime.sleep(5)')
- self._check(error_message='The presubmit check was hung.', expiration=0.2)
-
- def testSuccess(self):
- self._presubmit('')
- self._check()
-
- def testSuccessNotify(self):
- self._presubmit(
- 'def CheckChangeOnCommit(input_api, output_api):\n'
- ' return [output_api.PresubmitNotifyResult("There is no problem")]\n')
- self._check()
-
- def testFailWarning(self):
- self._presubmit(
- 'def CheckChangeOnCommit(input_api, output_api):\n'
- ' return [output_api.PresubmitPromptWarning(\n'
- ' "There is some problems")]\n')
- self._check(error_message='There is some problems\n')
-
- def testFailError(self):
- self._presubmit(
- 'def CheckChangeOnCommit(input_api, output_api):\n'
- ' return [output_api.PresubmitError("Die die please die")]\n')
- self._check(error_message='Die die please die')
-
- def _check(self, error_message=None, expiration=None):
- # checkout is not used yet. To be used to get the list of modified files.
- ver = presubmit_check.PresubmitCheckVerifier(self.context)
- if expiration:
- ver.execution_timeout = expiration
- ver.verify(self.pending)
- ver.update_status(None)
- name = presubmit_check.PresubmitCheckVerifier.name
- self.assertEqual(self.pending.verifications.keys(), [name])
- if error_message:
- self.assertIn(
- error_message, self.pending.verifications[name].error_message)
- self.assertEqual(
- self.pending.verifications[name].get_state(), base.FAILED)
- self.assertIn(error_message, self.pending.error_message())
- else:
- self.assertEqual(None, self.pending.verifications[name].error_message)
- self.assertEqual(
- self.pending.verifications[name].get_state(), base.SUCCEEDED)
- self.assertEqual('', self.pending.error_message())
- self.context.status.check_names(['presubmit'] * 2)
-
- def testPresubmitTryJob(self):
- self._presubmit(
- 'def CheckChangeOnCommit(input_api, output_api):\n'
- ' out = input_api.canned_checks.CheckRietveldTryJobExecution(\n'
- ' 1, 2, 3, 4, 5, 6, absurd=True)\n'
- ' assert [] == out\n'
- ' return out\n')
- self._check()
-
- def testPresubmitTreeOpen(self):
- self._presubmit(
- 'def CheckChangeOnCommit(input_api, output_api):\n'
- ' out = input_api.canned_checks.CheckTreeIsOpen(\n'
- ' 1, 2, 3, 4, 5, 6, absurd=True)\n'
- ' assert [] == out\n'
- ' return out\n')
- self._check()
-
- def testPresubmitPendingBuilds(self):
- self._presubmit(
- 'def CheckChangeOnCommit(input_api, output_api):\n'
- ' out = input_api.canned_checks.CheckBuildbotPendingBuilds(\n'
- ' 1, 2, 3, 4, 5, 6, absurd=True)\n'
- ' assert [] == out\n'
- ' return out\n')
- self._check()
-
- def testPresubmitRietveld(self):
- self._presubmit(
- ('def CheckChangeOnCommit(input_api, output_api):\n'
- ' out = []\n'
- ' if input_api.rietveld.email != %r:\n'
- ' out.append(output_api.PresubmitError(\n'
- ' "email: %%r" %% input_api.rietveld.email))\n'
- # TODO(maruel): Bad! Remove me.
- ' if input_api.rietveld.password != %r:\n'
- ' out.append(output_api.PresubmitError(\n'
- ' "password: %%r" %% input_api.rietveld.password))\n'
- ' if input_api.rietveld.url != %r:\n'
- ' out.append(output_api.PresubmitError(\n'
- ' "url: %%r" %% input_api.rietveld.url))\n'
- ' return out\n') % (
- self.context.rietveld.email,
- self.context.rietveld.password,
- self.context.rietveld.url))
-
- self._check()
-
- def testPresubmitNoFiles(self):
- self.pending.files = []
- self._presubmit(
- 'def CheckChangeOnCommit(input_api, output_api):\n'
- ' return []\n')
- # TODO(maruel): Would make sense to have a more helpful error message.
- self._check(
- 'Presubmit check for 42-23 failed and returned exit status 2.\n\n'
- 'Usage: presubmit_shim.py [options] <files...>\n\n'
- 'presubmit_shim.py: error: For unversioned directory, <files> is not '
- 'optional.\n')
-
-
-if __name__ == '__main__':
- if '-v' in sys.argv:
- logging.basicConfig(level=logging.DEBUG)
- else:
- logging.basicConfig(level=logging.ERROR)
- unittest.main()
« no previous file with comments | « commit-queue/tests/pending_manager_test.py ('k') | commit-queue/tests/project_base_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698