Changeset 59
- Timestamp:
- Feb 23, 2010 8:54:50 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
mergebot/trunk/utils/test.py
r58 r59 125 125 126 126 def merge(self, ticket_id, component, timeout=5): 127 self._merge(ticket_id, component, 'Merged .* to .* for', timeout) 128 129 def merge_conflict(self, ticket_id, component, timeout=5): 130 self._merge(ticket_id, component, 'Found [0-9]+ conflicts? in attempt to merge ', timeout) 131 132 def _merge(self, ticket_id, component, search, timeout=5): 127 133 """timeout is in seconds.""" 128 134 self.go_to_mergebot() … … 132 138 tc.find('Branch') 133 139 self.go_to_ticket(ticket_id) 134 tc.find( 'Merged .* to .* for')140 tc.find(search) 135 141 # TODO: We may want to change this to remove the "dead" branch 136 142 retval = call(['svn', 'ls', self.repo_url + '/' + component + '/branches/ticket-%s' % ticket_id], … … 294 300 295 301 296 class MergeBotTestCheckMerge(FunctionalTwillTestCaseSetup): 297 def runTest(self): 298 """Verify that the 'checkmerge' button works""" 299 ticket_id = self._tester.create_ticket(summary=self.__class__.__name__, 300 info={'component':'stuff', 'version':'trunk'}) 301 self._tester.branch(ticket_id, 'stuff') 302 self._tester.checkmerge(ticket_id, 'stuff') 303 304 305 class MergeBotTestRebranchWithChange(FunctionalSvnTestCaseSetup): 306 def runTest(self): 307 """Verify that the 'rebranch' button works with changes on the branch""" 302 class MergeBotTestMergeWithChange(FunctionalSvnTestCaseSetup): 303 def runTest(self): 304 """Verify that the 'merge' button works with changes on the branch""" 308 305 ticket_id = self._tester.create_ticket(summary=self.__class__.__name__, 309 306 info={'component':'stuff', 'version':'trunk'}) … … 316 313 self.commit('Add a new file') 317 314 318 self._tester. rebranch(ticket_id, 'stuff')319 320 321 class MergeBotTest RebranchWithChangeAndTrunkChange(FunctionalSvnTestCaseSetup):322 def runTest(self): 323 """Verify that the ' rebranch' button works with changes on the branch and trunk"""315 self._tester.merge(ticket_id, 'stuff') 316 317 318 class MergeBotTestMergeWithChangeAndTrunkChange(FunctionalSvnTestCaseSetup): 319 def runTest(self): 320 """Verify that the 'merge' button works with changes on the branch and trunk""" 324 321 ticket_id = self._tester.create_ticket(summary=self.__class__.__name__, 325 322 info={'component':'stuff', 'version':'trunk'}) … … 336 333 self.commit('Add a new file on trunk') 337 334 338 self._tester. rebranch(ticket_id, 'stuff')339 340 341 class MergeBotTest RebranchWithConflict(FunctionalSvnTestCaseSetup):342 def runTest(self): 343 """Verify that the ' rebranch' button works with conflicts on the branch and trunk"""335 self._tester.merge(ticket_id, 'stuff') 336 337 338 class MergeBotTestMergeWithConflict(FunctionalSvnTestCaseSetup): 339 def runTest(self): 340 """Verify that the 'merge' button detects conflicts between the branch and trunk""" 344 341 ticket_id = self._tester.create_ticket(summary=self.__class__.__name__, 345 342 info={'component':'stuff', 'version':'trunk'}) … … 363 360 self.commit('Modify the file on branch') 364 361 365 # rebranch, make sure it shows a conflict366 self._tester. rebranch_conflict(ticket_id, 'stuff')367 368 369 class MergeBotTest RebranchWithBranchRenameConflict(FunctionalSvnTestCaseSetup):370 def runTest(self): 371 """Verify that the ' rebranch' button workswhen a file renamed on the branch was modified on trunk"""362 # merge, make sure it shows a conflict 363 self._tester.merge_conflict(ticket_id, 'stuff') 364 365 366 class MergeBotTestMergeWithBranchRenameConflict(FunctionalSvnTestCaseSetup): 367 def runTest(self): 368 """Verify that the 'merge' button detects a conflict when a file renamed on the branch was modified on trunk""" 372 369 ticket_id = self._tester.create_ticket(summary=self.__class__.__name__, 373 370 info={'component':'stuff', 'version':'trunk'}) … … 391 388 self.commit('Rename the file on the branch') 392 389 390 self._tester.merge_conflict(ticket_id, 'stuff') 391 392 393 class MergeBotTestMergeWithTrunkRenameConflict(FunctionalSvnTestCaseSetup): 394 def runTest(self): 395 """Verify that the 'merge' button detects conflicts when a file renamed on trunk was modified on the branch""" 396 ticket_id = self._tester.create_ticket(summary=self.__class__.__name__, 397 info={'component':'stuff', 'version':'trunk'}) 398 basename = self.__class__.__name__ 399 400 # create a file in which to have conflicts 401 self.checkout() 402 self.add_new_file(basename) 403 self.commit('Add a new file on trunk') 404 405 # create the branch 406 self._tester.branch(ticket_id, 'stuff') 407 408 # rename the file on trunk 409 self.mv(basename, basename + '-renamed') 410 self.commit('Rename the file on trunk') 411 412 # rename the file on the branch 413 self.switch(ticket_id) 414 open(os.path.join(self.get_workdir(), basename), 'a').write(random_sentence()) 415 self.commit('Modify the file on the branch') 416 417 # make sure it finds the conflict 418 self._tester.merge_conflict(ticket_id, 'stuff') 419 420 421 class MergeBotTestCheckMerge(FunctionalTwillTestCaseSetup): 422 def runTest(self): 423 """Verify that the 'checkmerge' button works""" 424 ticket_id = self._tester.create_ticket(summary=self.__class__.__name__, 425 info={'component':'stuff', 'version':'trunk'}) 426 self._tester.branch(ticket_id, 'stuff') 427 self._tester.checkmerge(ticket_id, 'stuff') 428 429 430 class MergeBotTestRebranchWithChange(FunctionalSvnTestCaseSetup): 431 def runTest(self): 432 """Verify that the 'rebranch' button works with changes on the branch""" 433 ticket_id = self._tester.create_ticket(summary=self.__class__.__name__, 434 info={'component':'stuff', 'version':'trunk'}) 435 self._tester.branch(ticket_id, 'stuff') 436 437 # checkout a working copy & make a change 438 self.checkout(ticket_id) 439 # Create & add a new file 440 self.add_new_file() 441 self.commit('Add a new file') 442 443 self._tester.rebranch(ticket_id, 'stuff') 444 445 446 class MergeBotTestRebranchWithChangeAndTrunkChange(FunctionalSvnTestCaseSetup): 447 def runTest(self): 448 """Verify that the 'rebranch' button works with changes on the branch and trunk""" 449 ticket_id = self._tester.create_ticket(summary=self.__class__.__name__, 450 info={'component':'stuff', 'version':'trunk'}) 451 self._tester.branch(ticket_id, 'stuff') 452 453 # checkout a working copy & make a change 454 self.checkout(ticket_id) 455 # Create & add a new file 456 basename = self.__class__.__name__ 457 self.add_new_file(basename + '-ticket') 458 self.commit('Add a new file on ticket') 459 self.switch() 460 self.add_new_file(basename + '-trunk') 461 self.commit('Add a new file on trunk') 462 463 self._tester.rebranch(ticket_id, 'stuff') 464 465 466 class MergeBotTestRebranchWithConflict(FunctionalSvnTestCaseSetup): 467 def runTest(self): 468 """Verify that the 'rebranch' button detects conflicts between the branch and trunk""" 469 ticket_id = self._tester.create_ticket(summary=self.__class__.__name__, 470 info={'component':'stuff', 'version':'trunk'}) 471 basename = self.__class__.__name__ 472 473 # create a file in which to have conflicts 474 self.checkout() 475 self.add_new_file(basename) 476 self.commit('Add a new file on trunk') 477 478 # create the branch 479 self._tester.branch(ticket_id, 'stuff') 480 481 # modify the file on trunk 482 open(os.path.join(self.get_workdir(), basename), 'a').write(random_sentence()) 483 self.commit('Modify the file on trunk') 484 485 # modify the file on the branch 486 self.switch(ticket_id) 487 open(os.path.join(self.get_workdir(), basename), 'a').write(random_sentence()) 488 self.commit('Modify the file on branch') 489 490 # rebranch, make sure it shows a conflict 393 491 self._tester.rebranch_conflict(ticket_id, 'stuff') 394 492 395 493 494 class MergeBotTestRebranchWithBranchRenameConflict(FunctionalSvnTestCaseSetup): 495 def runTest(self): 496 """Verify that the 'rebranch' button detects a conflict when a file renamed on the branch was modified on trunk""" 497 ticket_id = self._tester.create_ticket(summary=self.__class__.__name__, 498 info={'component':'stuff', 'version':'trunk'}) 499 basename = self.__class__.__name__ 500 501 # create a file in which to have conflicts 502 self.checkout() 503 self.add_new_file(basename) 504 self.commit('Add a new file on trunk') 505 506 # create the branch 507 self._tester.branch(ticket_id, 'stuff') 508 509 # modify the file on trunk 510 open(os.path.join(self.get_workdir(), basename), 'a').write(random_sentence()) 511 self.commit('Modify the file on trunk') 512 513 # rename the file on the branch 514 self.switch(ticket_id) 515 self.mv(basename, basename + '-renamed') 516 self.commit('Rename the file on the branch') 517 518 self._tester.rebranch_conflict(ticket_id, 'stuff') 519 520 396 521 class MergeBotTestRebranchWithTrunkRenameConflict(FunctionalSvnTestCaseSetup): 397 522 def runTest(self): 398 """Verify that the 'rebranch' button works when a file renamed on trunk was modified on the branch"""523 """Verify that the 'rebranch' button detects conflicts when a file renamed on trunk was modified on the branch""" 399 524 ticket_id = self._tester.create_ticket(summary=self.__class__.__name__, 400 525 info={'component':'stuff', 'version':'trunk'}) … … 465 590 suite.addTest(MergeBotTestRebranchWithBranchRenameConflict()) 466 591 suite.addTest(MergeBotTestRebranchWithTrunkRenameConflict()) 592 suite.addTest(MergeBotTestMergeWithChange()) 593 suite.addTest(MergeBotTestMergeWithChangeAndTrunkChange()) 594 suite.addTest(MergeBotTestMergeWithConflict()) 595 suite.addTest(MergeBotTestMergeWithBranchRenameConflict()) 596 suite.addTest(MergeBotTestMergeWithTrunkRenameConflict()) 467 597 suite.addTest(MergeBotTestSingleUseCase()) 468 598 return suite
Note: See TracChangeset
for help on using the changeset viewer.