def GetBoundingIsolatedTargets(master_name, builder_name, target_name, commit_position): """Determines the IsolatedTarget instances surrounding a commit position. Args: master_name (str): The name of the master to search by. builder_name (str): The name of the builder to search by. target_name (str): The name of the target to search by, e.g. 'browser_tests'. commit_position (int): The desired commit position to find neighboring IsolatedTargets. Returns: (IsolatedTarget, IsolatedTarget): The lower and upper bound IsolatedTargets. """ upper_bound_targets = ( IsolatedTarget.FindIsolateAtOrAfterCommitPositionByMaster( master_name, builder_name, constants.GITILES_HOST, constants.GITILES_PROJECT, constants.GITILES_REF, target_name, commit_position)) lower_bound_targets = ( IsolatedTarget.FindIsolateBeforeCommitPositionByMaster( master_name, builder_name, constants.GITILES_HOST, constants.GITILES_PROJECT, constants.GITILES_REF, target_name, commit_position)) assert upper_bound_targets, (( 'Unable to detect isolated targets at for {}/{} with minimum commit ' 'position {}').format(master_name, builder_name, commit_position)) assert lower_bound_targets, (( 'Unable to detect isolated targets at for {}/{} below commit position' ' {}').format(master_name, builder_name, commit_position)) return lower_bound_targets[0], upper_bound_targets[0]
def testFindIsolateByMaster(self): before = IsolatedTarget.FindIsolateBeforeCommitPositionByMaster( 'chromium.linux', 'Linux Builder', 'chromium.googlesource.com', 'chromium/src', 'refs/heads/master', 'browser_tests', 55650) self.assertEqual(before[0], IsolatedTarget.get_by_id('843400990909049/browser_tests')) at = IsolatedTarget.FindIsolateAtOrAfterCommitPositionByMaster( 'chromium.linux', 'Linux Builder', 'chromium.googlesource.com', 'chromium/src', 'refs/heads/master', 'browser_tests', 55650) self.assertEqual(at[0], IsolatedTarget.get_by_id('843400990909050/browser_tests')) after = IsolatedTarget.FindIsolateAtOrAfterCommitPositionByMaster( 'chromium.linux', 'Linux Builder', 'chromium.googlesource.com', 'chromium/src', 'refs/heads/master', 'browser_tests', 55655) self.assertEqual(after[0], IsolatedTarget.get_by_id('843400990909051/browser_tests')) latest = IsolatedTarget.FindLatestIsolateByMaster( 'chromium.linux', 'Linux Builder', 'chromium.googlesource.com', 'chromium/src', 'refs/heads/master', 'browser_tests') self.assertEqual(latest[0], IsolatedTarget.get_by_id('843400990909099/browser_tests'))