lock.release() def testfrequentlockunlock(self): """This tests whether lock acquisition fails as expected, even if (1) lock can't be acquired (makelock fails by EEXIST), and (2) locker info can't be read in (readlock fails by ENOENT) while retrying 5 times. """ d = tempfile.mkdtemp(dir=os.getcwd()) state = teststate(self, d) def emulatefrequentlock(*args): raise OSError(errno.EEXIST, "File exists") def emulatefrequentunlock(*args): raise OSError(errno.ENOENT, "No such file or directory") state.vfs.makelock = emulatefrequentlock state.vfs.readlock = emulatefrequentunlock try: state.makelock(timeout=0) self.fail("unexpected lock acquisition") except error.LockHeld as why: self.assertTrue(why.errno == errno.ETIMEDOUT) self.assertTrue(why.locker == "") state.assertlockexists(False) if __name__ == '__main__': silenttestrunner.main(__name__)
for i in array: self._assertBisect(array, i, i) array = range(0, 11) for i in array: self._assertBisect(array, i, i) def testNotFound(self): array = range(0, 10) self._assertBisect(array, 10, None) array = range(0, 11) self._assertBisect(array, 11, None) array = range(0, 10, 2) self._assertBisect(array, 1, None) def _assertBisect(self, array, value, result): def comp(index, value): if array[index] < value: return -1 elif array[index] == value: return 0 else: return 1 self.assertEqual(bisect(0, len(array) - 1, comp, value), result) if __name__ == '__main__': sys.path.insert(0, os.path.join(os.environ["TESTDIR"], "..", "hgext3rd")) from generic_bisect import bisect silenttestrunner.main(__name__)