diff --git a/erp5/tests/testERP5TestNode.py b/erp5/tests/testERP5TestNode.py index 42d1a7c58aca7f50d69ce2999e5198e7f8b0ba2e..ceb30116feb9878b9b8372dbc4c960e4427f2199 100644 --- a/erp5/tests/testERP5TestNode.py +++ b/erp5/tests/testERP5TestNode.py @@ -331,6 +331,15 @@ develop = false rev_list = test_node.getAndUpdateFullRevisionList(node_test_suite) output = call("git branch".split()).strip() self.assertTrue("* bar" in output.split('\n')) + # Add a fourth branch on remote, make sure we could switch to it + # this time the branch name is a substring of previous one (we had + # failure is such case at some point) + remote_call = self.getCaller(cwd=self.remote_repository2) + output = remote_call('git checkout master -b ba'.split()) + vcs_repository_info['branch'] = 'ba' + rev_list = self.getAndUpdateFullRevisionList(test_node, node_test_suite) + output = call("git branch".split()).strip() + self.assertTrue("* ba" in output.split('\n')) def test_05c_changeRepositoryUrl(self): """ diff --git a/erp5/util/testnode/Updater.py b/erp5/util/testnode/Updater.py index 3943f86afd94db7350c64f39c65b41656d7a9732..d7b62a61757126084ec27667806a9ccfec25744a 100644 --- a/erp5/util/testnode/Updater.py +++ b/erp5/util/testnode/Updater.py @@ -202,7 +202,7 @@ class Updater(object): if self.branch and \ not ("* %s" % self.branch in self._git('branch').split("\n")): # Delete branch if already exists - if self.branch in self._git('branch'): + if self.branch in [x.strip() for x in self._git('branch').split("\n")]: self._git('branch', '-D', self.branch) self._git('checkout', 'origin/%s' % self.branch, '-b', self.branch)