OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright 2013 the V8 project authors. All rights reserved. | 2 # Copyright 2013 the V8 project authors. All rights reserved. |
3 # Redistribution and use in source and binary forms, with or without | 3 # Redistribution and use in source and binary forms, with or without |
4 # modification, are permitted provided that the following conditions are | 4 # modification, are permitted provided that the following conditions are |
5 # met: | 5 # met: |
6 # | 6 # |
7 # * Redistributions of source code must retain the above copyright | 7 # * Redistributions of source code must retain the above copyright |
8 # notice, this list of conditions and the following disclaimer. | 8 # notice, this list of conditions and the following disclaimer. |
9 # * Redistributions in binary form must reproduce the above | 9 # * Redistributions in binary form must reproduce the above |
10 # copyright notice, this list of conditions and the following | 10 # copyright notice, this list of conditions and the following |
(...skipping 27 matching lines...) Expand all Loading... |
38 import common_includes | 38 import common_includes |
39 from common_includes import * | 39 from common_includes import * |
40 import merge_to_branch | 40 import merge_to_branch |
41 from merge_to_branch import * | 41 from merge_to_branch import * |
42 import push_to_trunk | 42 import push_to_trunk |
43 from push_to_trunk import * | 43 from push_to_trunk import * |
44 import chromium_roll | 44 import chromium_roll |
45 from chromium_roll import ChromiumRoll | 45 from chromium_roll import ChromiumRoll |
46 import releases | 46 import releases |
47 from releases import Releases | 47 from releases import Releases |
48 import bump_up_version | |
49 from bump_up_version import BumpUpVersion | |
50 from bump_up_version import LastChangeBailout | |
51 from bump_up_version import LKGRVersionUpToDateBailout | |
52 from auto_tag import AutoTag | 48 from auto_tag import AutoTag |
53 | 49 |
54 | 50 |
55 TEST_CONFIG = { | 51 TEST_CONFIG = { |
56 "DEFAULT_CWD": None, | 52 "DEFAULT_CWD": None, |
57 "BRANCHNAME": "test-prepare-push", | 53 "BRANCHNAME": "test-prepare-push", |
58 "TRUNKBRANCH": "test-trunk-push", | 54 "CANDIDATESBRANCH": "test-candidates-push", |
59 "PERSISTFILE_BASENAME": "/tmp/test-v8-push-to-trunk-tempfile", | 55 "PERSISTFILE_BASENAME": "/tmp/test-v8-push-to-candidates-tempfile", |
60 "CHANGELOG_ENTRY_FILE": "/tmp/test-v8-push-to-trunk-tempfile-changelog-entry", | 56 "CHANGELOG_ENTRY_FILE": |
61 "PATCH_FILE": "/tmp/test-v8-push-to-trunk-tempfile-patch", | 57 "/tmp/test-v8-push-to-candidates-tempfile-changelog-entry", |
62 "COMMITMSG_FILE": "/tmp/test-v8-push-to-trunk-tempfile-commitmsg", | 58 "PATCH_FILE": "/tmp/test-v8-push-to-candidates-tempfile-patch", |
63 "CHROMIUM": "/tmp/test-v8-push-to-trunk-tempfile-chromium", | 59 "COMMITMSG_FILE": "/tmp/test-v8-push-to-candidates-tempfile-commitmsg", |
| 60 "CHROMIUM": "/tmp/test-v8-push-to-candidates-tempfile-chromium", |
64 "SETTINGS_LOCATION": None, | 61 "SETTINGS_LOCATION": None, |
65 "ALREADY_MERGING_SENTINEL_FILE": | 62 "ALREADY_MERGING_SENTINEL_FILE": |
66 "/tmp/test-merge-to-branch-tempfile-already-merging", | 63 "/tmp/test-merge-to-branch-tempfile-already-merging", |
67 "TEMPORARY_PATCH_FILE": "/tmp/test-merge-to-branch-tempfile-temporary-patch", | 64 "TEMPORARY_PATCH_FILE": "/tmp/test-merge-to-branch-tempfile-temporary-patch", |
68 "CLUSTERFUZZ_API_KEY_FILE": "/tmp/test-fake-cf-api-key", | 65 "CLUSTERFUZZ_API_KEY_FILE": "/tmp/test-fake-cf-api-key", |
69 } | 66 } |
70 | 67 |
71 | 68 |
72 AUTO_PUSH_ARGS = [ | 69 AUTO_PUSH_ARGS = [ |
73 "-a", "author@chromium.org", | 70 "-a", "author@chromium.org", |
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
369 f.write(" // Some line...\n") | 366 f.write(" // Some line...\n") |
370 f.write("#define IS_CANDIDATE_VERSION 0\n") | 367 f.write("#define IS_CANDIDATE_VERSION 0\n") |
371 | 368 |
372 def MakeStep(self): | 369 def MakeStep(self): |
373 """Convenience wrapper.""" | 370 """Convenience wrapper.""" |
374 options = ScriptsBase(TEST_CONFIG, self, self._state).MakeOptions([]) | 371 options = ScriptsBase(TEST_CONFIG, self, self._state).MakeOptions([]) |
375 return MakeStep(step_class=Step, state=self._state, | 372 return MakeStep(step_class=Step, state=self._state, |
376 config=TEST_CONFIG, side_effect_handler=self, | 373 config=TEST_CONFIG, side_effect_handler=self, |
377 options=options) | 374 options=options) |
378 | 375 |
379 def RunStep(self, script=PushToTrunk, step_class=Step, args=None): | 376 def RunStep(self, script=PushToCandidates, step_class=Step, args=None): |
380 """Convenience wrapper.""" | 377 """Convenience wrapper.""" |
381 args = args if args is not None else ["-m"] | 378 args = args if args is not None else ["-m"] |
382 return script(TEST_CONFIG, self, self._state).RunSteps([step_class], args) | 379 return script(TEST_CONFIG, self, self._state).RunSteps([step_class], args) |
383 | 380 |
384 def Call(self, fun, *args, **kwargs): | 381 def Call(self, fun, *args, **kwargs): |
385 print "Calling %s with %s and %s" % (str(fun), str(args), str(kwargs)) | 382 print "Calling %s with %s and %s" % (str(fun), str(args), str(kwargs)) |
386 | 383 |
387 def Command(self, cmd, args="", prefix="", pipe=True, cwd=None): | 384 def Command(self, cmd, args="", prefix="", pipe=True, cwd=None): |
388 print "%s %s" % (cmd, args) | 385 print "%s %s" % (cmd, args) |
389 print "in %s" % cwd | 386 print "in %s" % cwd |
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
533 MSub(r"(?<=#define BUILD_NUMBER)(?P<space>\s+)\d*$", | 530 MSub(r"(?<=#define BUILD_NUMBER)(?P<space>\s+)\d*$", |
534 r"\g<space>3", | 531 r"\g<space>3", |
535 "//\n#define BUILD_NUMBER 321\n")) | 532 "//\n#define BUILD_NUMBER 321\n")) |
536 | 533 |
537 def testPreparePushRevision(self): | 534 def testPreparePushRevision(self): |
538 # Tests the default push hash used when the --revision option is not set. | 535 # Tests the default push hash used when the --revision option is not set. |
539 self.Expect([ | 536 self.Expect([ |
540 Cmd("git log -1 --format=%H HEAD", "push_hash") | 537 Cmd("git log -1 --format=%H HEAD", "push_hash") |
541 ]) | 538 ]) |
542 | 539 |
543 self.RunStep(PushToTrunk, PreparePushRevision) | 540 self.RunStep(PushToCandidates, PreparePushRevision) |
544 self.assertEquals("push_hash", self._state["push_hash"]) | 541 self.assertEquals("push_hash", self._state["push_hash"]) |
545 | 542 |
546 def testPrepareChangeLog(self): | 543 def testPrepareChangeLog(self): |
547 self.WriteFakeVersionFile() | 544 self.WriteFakeVersionFile() |
548 TEST_CONFIG["CHANGELOG_ENTRY_FILE"] = self.MakeEmptyTempFile() | 545 TEST_CONFIG["CHANGELOG_ENTRY_FILE"] = self.MakeEmptyTempFile() |
549 | 546 |
550 self.Expect([ | 547 self.Expect([ |
551 Cmd("git log --format=%H 1234..push_hash", "rev1\nrev2\nrev3\nrev4"), | 548 Cmd("git log --format=%H 1234..push_hash", "rev1\nrev2\nrev3\nrev4"), |
552 Cmd("git log -1 --format=%s rev1", "Title text 1"), | 549 Cmd("git log -1 --format=%s rev1", "Title text 1"), |
553 Cmd("git log -1 --format=%B rev1", "Title\n\nBUG=\nLOG=y\n"), | 550 Cmd("git log -1 --format=%B rev1", "Title\n\nBUG=\nLOG=y\n"), |
554 Cmd("git log -1 --format=%an rev1", "author1@chromium.org"), | 551 Cmd("git log -1 --format=%an rev1", "author1@chromium.org"), |
555 Cmd("git log -1 --format=%s rev2", "Title text 2."), | 552 Cmd("git log -1 --format=%s rev2", "Title text 2."), |
556 Cmd("git log -1 --format=%B rev2", "Title\n\nBUG=123\nLOG= \n"), | 553 Cmd("git log -1 --format=%B rev2", "Title\n\nBUG=123\nLOG= \n"), |
557 Cmd("git log -1 --format=%an rev2", "author2@chromium.org"), | 554 Cmd("git log -1 --format=%an rev2", "author2@chromium.org"), |
558 Cmd("git log -1 --format=%s rev3", "Title text 3"), | 555 Cmd("git log -1 --format=%s rev3", "Title text 3"), |
559 Cmd("git log -1 --format=%B rev3", "Title\n\nBUG=321\nLOG=true\n"), | 556 Cmd("git log -1 --format=%B rev3", "Title\n\nBUG=321\nLOG=true\n"), |
560 Cmd("git log -1 --format=%an rev3", "author3@chromium.org"), | 557 Cmd("git log -1 --format=%an rev3", "author3@chromium.org"), |
561 Cmd("git log -1 --format=%s rev4", "Title text 4"), | 558 Cmd("git log -1 --format=%s rev4", "Title text 4"), |
562 Cmd("git log -1 --format=%B rev4", | 559 Cmd("git log -1 --format=%B rev4", |
563 ("Title\n\nBUG=456\nLOG=Y\n\n" | 560 ("Title\n\nBUG=456\nLOG=Y\n\n" |
564 "Review URL: https://codereview.chromium.org/9876543210\n")), | 561 "Review URL: https://codereview.chromium.org/9876543210\n")), |
565 URL("https://codereview.chromium.org/9876543210/description", | 562 URL("https://codereview.chromium.org/9876543210/description", |
566 "Title\n\nBUG=456\nLOG=N\n\n"), | 563 "Title\n\nBUG=456\nLOG=N\n\n"), |
567 Cmd("git log -1 --format=%an rev4", "author4@chromium.org"), | 564 Cmd("git log -1 --format=%an rev4", "author4@chromium.org"), |
568 ]) | 565 ]) |
569 | 566 |
570 self._state["last_push_bleeding_edge"] = "1234" | 567 self._state["last_push_master"] = "1234" |
571 self._state["push_hash"] = "push_hash" | 568 self._state["push_hash"] = "push_hash" |
572 self._state["version"] = "3.22.5" | 569 self._state["version"] = "3.22.5" |
573 self.RunStep(PushToTrunk, PrepareChangeLog) | 570 self.RunStep(PushToCandidates, PrepareChangeLog) |
574 | 571 |
575 actual_cl = FileToText(TEST_CONFIG["CHANGELOG_ENTRY_FILE"]) | 572 actual_cl = FileToText(TEST_CONFIG["CHANGELOG_ENTRY_FILE"]) |
576 | 573 |
577 expected_cl = """1999-07-31: Version 3.22.5 | 574 expected_cl = """1999-07-31: Version 3.22.5 |
578 | 575 |
579 Title text 1. | 576 Title text 1. |
580 | 577 |
581 Title text 3 (Chromium issue 321). | 578 Title text 3 (Chromium issue 321). |
582 | 579 |
583 Performance and stability improvements on all platforms. | 580 Performance and stability improvements on all platforms. |
(...skipping 20 matching lines...) Expand all Loading... |
604 | 601 |
605 def testEditChangeLog(self): | 602 def testEditChangeLog(self): |
606 TEST_CONFIG["CHANGELOG_ENTRY_FILE"] = self.MakeEmptyTempFile() | 603 TEST_CONFIG["CHANGELOG_ENTRY_FILE"] = self.MakeEmptyTempFile() |
607 TextToFile(" New \n\tLines \n", TEST_CONFIG["CHANGELOG_ENTRY_FILE"]) | 604 TextToFile(" New \n\tLines \n", TEST_CONFIG["CHANGELOG_ENTRY_FILE"]) |
608 os.environ["EDITOR"] = "vi" | 605 os.environ["EDITOR"] = "vi" |
609 self.Expect([ | 606 self.Expect([ |
610 RL(""), # Open editor. | 607 RL(""), # Open editor. |
611 Cmd("vi %s" % TEST_CONFIG["CHANGELOG_ENTRY_FILE"], ""), | 608 Cmd("vi %s" % TEST_CONFIG["CHANGELOG_ENTRY_FILE"], ""), |
612 ]) | 609 ]) |
613 | 610 |
614 self.RunStep(PushToTrunk, EditChangeLog) | 611 self.RunStep(PushToCandidates, EditChangeLog) |
615 | 612 |
616 self.assertEquals("New\n Lines", | 613 self.assertEquals("New\n Lines", |
617 FileToText(TEST_CONFIG["CHANGELOG_ENTRY_FILE"])) | 614 FileToText(TEST_CONFIG["CHANGELOG_ENTRY_FILE"])) |
618 | 615 |
619 TAGS = """ | 616 TAGS = """ |
620 4425.0 | 617 4425.0 |
621 0.0.0.0 | 618 0.0.0.0 |
622 3.9.6 | 619 3.9.6 |
623 3.22.4 | 620 3.22.4 |
624 test_tag | 621 test_tag |
625 """ | 622 """ |
626 | 623 |
627 # Version as tag: 3.22.4.0. Version on master: 3.22.6. | 624 # Version as tag: 3.22.4.0. Version on master: 3.22.6. |
628 # Make sure that the latest version is 3.22.6.0. | 625 # Make sure that the latest version is 3.22.6.0. |
629 def testGetLatestVersion(self): | 626 def testGetLatestVersion(self): |
630 self.Expect([ | 627 self.Expect([ |
631 Cmd("git tag", self.TAGS), | 628 Cmd("git tag", self.TAGS), |
632 Cmd("git checkout -f origin/master -- src/version.cc", | 629 Cmd("git checkout -f origin/master -- src/version.cc", |
633 "", cb=lambda: self.WriteFakeVersionFile(22, 6)), | 630 "", cb=lambda: self.WriteFakeVersionFile(22, 6)), |
634 ]) | 631 ]) |
635 | 632 |
636 self.RunStep(PushToTrunk, GetLatestVersion) | 633 self.RunStep(PushToCandidates, GetLatestVersion) |
637 | 634 |
638 self.assertEquals("3", self._state["latest_major"]) | 635 self.assertEquals("3", self._state["latest_major"]) |
639 self.assertEquals("22", self._state["latest_minor"]) | 636 self.assertEquals("22", self._state["latest_minor"]) |
640 self.assertEquals("6", self._state["latest_build"]) | 637 self.assertEquals("6", self._state["latest_build"]) |
641 self.assertEquals("0", self._state["latest_patch"]) | 638 self.assertEquals("0", self._state["latest_patch"]) |
642 | 639 |
643 def _TestSquashCommits(self, change_log, expected_msg): | 640 def _TestSquashCommits(self, change_log, expected_msg): |
644 TEST_CONFIG["CHANGELOG_ENTRY_FILE"] = self.MakeEmptyTempFile() | 641 TEST_CONFIG["CHANGELOG_ENTRY_FILE"] = self.MakeEmptyTempFile() |
645 with open(TEST_CONFIG["CHANGELOG_ENTRY_FILE"], "w") as f: | 642 with open(TEST_CONFIG["CHANGELOG_ENTRY_FILE"], "w") as f: |
646 f.write(change_log) | 643 f.write(change_log) |
647 | 644 |
648 self.Expect([ | 645 self.Expect([ |
649 Cmd("git diff origin/candidates hash1", "patch content"), | 646 Cmd("git diff origin/candidates hash1", "patch content"), |
650 ]) | 647 ]) |
651 | 648 |
652 self._state["push_hash"] = "hash1" | 649 self._state["push_hash"] = "hash1" |
653 self._state["date"] = "1999-11-11" | 650 self._state["date"] = "1999-11-11" |
654 | 651 |
655 self.RunStep(PushToTrunk, SquashCommits) | 652 self.RunStep(PushToCandidates, SquashCommits) |
656 self.assertEquals(FileToText(TEST_CONFIG["COMMITMSG_FILE"]), expected_msg) | 653 self.assertEquals(FileToText(TEST_CONFIG["COMMITMSG_FILE"]), expected_msg) |
657 | 654 |
658 patch = FileToText(TEST_CONFIG["PATCH_FILE"]) | 655 patch = FileToText(TEST_CONFIG["PATCH_FILE"]) |
659 self.assertTrue(re.search(r"patch content", patch)) | 656 self.assertTrue(re.search(r"patch content", patch)) |
660 | 657 |
661 def testSquashCommitsUnformatted(self): | 658 def testSquashCommitsUnformatted(self): |
662 change_log = """1999-11-11: Version 3.22.5 | 659 change_log = """1999-11-11: Version 3.22.5 |
663 | 660 |
664 Log text 1. | 661 Log text 1. |
665 Chromium issue 12345 | 662 Chromium issue 12345 |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
699 | 696 |
700 # Use the test configuration without the fake testing default work dir. | 697 # Use the test configuration without the fake testing default work dir. |
701 fake_config = dict(TEST_CONFIG) | 698 fake_config = dict(TEST_CONFIG) |
702 del(fake_config["DEFAULT_CWD"]) | 699 del(fake_config["DEFAULT_CWD"]) |
703 | 700 |
704 self.Expect([ | 701 self.Expect([ |
705 Cmd("fetch v8", "", cwd=work_dir), | 702 Cmd("fetch v8", "", cwd=work_dir), |
706 ]) | 703 ]) |
707 FakeScript(fake_config, self).Run(["--work-dir", work_dir]) | 704 FakeScript(fake_config, self).Run(["--work-dir", work_dir]) |
708 | 705 |
709 def _PushToTrunk(self, force=False, manual=False): | 706 def _PushToCandidates(self, force=False, manual=False): |
710 TextToFile("", os.path.join(TEST_CONFIG["DEFAULT_CWD"], ".git")) | 707 TextToFile("", os.path.join(TEST_CONFIG["DEFAULT_CWD"], ".git")) |
711 | 708 |
712 # The version file on bleeding edge has build level 5, while the version | 709 # The version file on master has build level 5, while the version |
713 # file from trunk has build level 4. | 710 # file from candidates has build level 4. |
714 self.WriteFakeVersionFile(build=5) | 711 self.WriteFakeVersionFile(build=5) |
715 | 712 |
716 TEST_CONFIG["CHANGELOG_ENTRY_FILE"] = self.MakeEmptyTempFile() | 713 TEST_CONFIG["CHANGELOG_ENTRY_FILE"] = self.MakeEmptyTempFile() |
717 bleeding_edge_change_log = "2014-03-17: Sentinel\n" | 714 master_change_log = "2014-03-17: Sentinel\n" |
718 TextToFile(bleeding_edge_change_log, | 715 TextToFile(master_change_log, |
719 os.path.join(TEST_CONFIG["DEFAULT_CWD"], CHANGELOG_FILE)) | 716 os.path.join(TEST_CONFIG["DEFAULT_CWD"], CHANGELOG_FILE)) |
720 os.environ["EDITOR"] = "vi" | 717 os.environ["EDITOR"] = "vi" |
721 | 718 |
722 commit_msg_squashed = """Version 3.22.5 (squashed - based on push_hash) | 719 commit_msg_squashed = """Version 3.22.5 (squashed - based on push_hash) |
723 | 720 |
724 Log text 1 (issue 321). | 721 Log text 1 (issue 321). |
725 | 722 |
726 Performance and stability improvements on all platforms.""" | 723 Performance and stability improvements on all platforms.""" |
727 | 724 |
728 commit_msg = """Version 3.22.5 (based on push_hash) | 725 commit_msg = """Version 3.22.5 (based on push_hash) |
729 | 726 |
730 Log text 1 (issue 321). | 727 Log text 1 (issue 321). |
731 | 728 |
732 Performance and stability improvements on all platforms.""" | 729 Performance and stability improvements on all platforms.""" |
733 | 730 |
734 def ResetChangeLog(): | 731 def ResetChangeLog(): |
735 """On 'git co -b new_branch svn/trunk', and 'git checkout -- ChangeLog', | 732 """On 'git co -b new_branch origin/candidates', |
736 the ChangLog will be reset to its content on trunk.""" | 733 and 'git checkout -- ChangeLog', |
737 trunk_change_log = """1999-04-05: Version 3.22.4 | 734 the ChangLog will be reset to its content on candidates.""" |
| 735 candidates_change_log = """1999-04-05: Version 3.22.4 |
738 | 736 |
739 Performance and stability improvements on all platforms.\n""" | 737 Performance and stability improvements on all platforms.\n""" |
740 TextToFile(trunk_change_log, | 738 TextToFile(candidates_change_log, |
741 os.path.join(TEST_CONFIG["DEFAULT_CWD"], CHANGELOG_FILE)) | 739 os.path.join(TEST_CONFIG["DEFAULT_CWD"], CHANGELOG_FILE)) |
742 | 740 |
743 def ResetToTrunk(): | 741 def ResetToCandidates(): |
744 ResetChangeLog() | 742 ResetChangeLog() |
745 self.WriteFakeVersionFile() | 743 self.WriteFakeVersionFile() |
746 | 744 |
747 def CheckVersionCommit(): | 745 def CheckVersionCommit(): |
748 commit = FileToText(TEST_CONFIG["COMMITMSG_FILE"]) | 746 commit = FileToText(TEST_CONFIG["COMMITMSG_FILE"]) |
749 self.assertEquals(commit_msg, commit) | 747 self.assertEquals(commit_msg, commit) |
750 version = FileToText( | 748 version = FileToText( |
751 os.path.join(TEST_CONFIG["DEFAULT_CWD"], VERSION_FILE)) | 749 os.path.join(TEST_CONFIG["DEFAULT_CWD"], VERSION_FILE)) |
752 self.assertTrue(re.search(r"#define MINOR_VERSION\s+22", version)) | 750 self.assertTrue(re.search(r"#define MINOR_VERSION\s+22", version)) |
753 self.assertTrue(re.search(r"#define BUILD_NUMBER\s+5", version)) | 751 self.assertTrue(re.search(r"#define BUILD_NUMBER\s+5", version)) |
754 self.assertFalse(re.search(r"#define BUILD_NUMBER\s+6", version)) | 752 self.assertFalse(re.search(r"#define BUILD_NUMBER\s+6", version)) |
755 self.assertTrue(re.search(r"#define PATCH_LEVEL\s+0", version)) | 753 self.assertTrue(re.search(r"#define PATCH_LEVEL\s+0", version)) |
756 self.assertTrue(re.search(r"#define IS_CANDIDATE_VERSION\s+0", version)) | 754 self.assertTrue(re.search(r"#define IS_CANDIDATE_VERSION\s+0", version)) |
757 | 755 |
758 # Check that the change log on the trunk branch got correctly modified. | 756 # Check that the change log on the candidates branch got correctly |
| 757 # modified. |
759 change_log = FileToText( | 758 change_log = FileToText( |
760 os.path.join(TEST_CONFIG["DEFAULT_CWD"], CHANGELOG_FILE)) | 759 os.path.join(TEST_CONFIG["DEFAULT_CWD"], CHANGELOG_FILE)) |
761 self.assertEquals( | 760 self.assertEquals( |
762 """1999-07-31: Version 3.22.5 | 761 """1999-07-31: Version 3.22.5 |
763 | 762 |
764 Log text 1 (issue 321). | 763 Log text 1 (issue 321). |
765 | 764 |
766 Performance and stability improvements on all platforms. | 765 Performance and stability improvements on all platforms. |
767 | 766 |
768 | 767 |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
806 if manual: | 805 if manual: |
807 expectations.append(RL("")) # Open editor. | 806 expectations.append(RL("")) # Open editor. |
808 if not force: | 807 if not force: |
809 expectations.append( | 808 expectations.append( |
810 Cmd("vi %s" % TEST_CONFIG["CHANGELOG_ENTRY_FILE"], "")) | 809 Cmd("vi %s" % TEST_CONFIG["CHANGELOG_ENTRY_FILE"], "")) |
811 expectations += [ | 810 expectations += [ |
812 Cmd("git fetch", ""), | 811 Cmd("git fetch", ""), |
813 Cmd("git checkout -f origin/master", ""), | 812 Cmd("git checkout -f origin/master", ""), |
814 Cmd("git diff origin/candidates push_hash", "patch content\n"), | 813 Cmd("git diff origin/candidates push_hash", "patch content\n"), |
815 Cmd(("git new-branch %s --upstream origin/candidates" % | 814 Cmd(("git new-branch %s --upstream origin/candidates" % |
816 TEST_CONFIG["TRUNKBRANCH"]), "", cb=ResetToTrunk), | 815 TEST_CONFIG["CANDIDATESBRANCH"]), "", cb=ResetToCandidates), |
817 Cmd("git apply --index --reject \"%s\"" % TEST_CONFIG["PATCH_FILE"], ""), | 816 Cmd("git apply --index --reject \"%s\"" % TEST_CONFIG["PATCH_FILE"], ""), |
818 Cmd("git checkout -f origin/candidates -- ChangeLog", "", | 817 Cmd("git checkout -f origin/candidates -- ChangeLog", "", |
819 cb=ResetChangeLog), | 818 cb=ResetChangeLog), |
820 Cmd("git checkout -f origin/candidates -- src/version.cc", "", | 819 Cmd("git checkout -f origin/candidates -- src/version.cc", "", |
821 cb=self.WriteFakeVersionFile), | 820 cb=self.WriteFakeVersionFile), |
822 Cmd("git commit -am \"%s\"" % commit_msg_squashed, ""), | 821 Cmd("git commit -am \"%s\"" % commit_msg_squashed, ""), |
823 ] | 822 ] |
824 if manual: | 823 if manual: |
825 expectations.append(RL("Y")) # Sanity check. | 824 expectations.append(RL("Y")) # Sanity check. |
826 expectations += [ | 825 expectations += [ |
827 Cmd("git cl land -f --bypass-hooks", ""), | 826 Cmd("git cl land -f --bypass-hooks", ""), |
828 Cmd("git checkout -f master", ""), | 827 Cmd("git checkout -f master", ""), |
829 Cmd("git fetch", ""), | 828 Cmd("git fetch", ""), |
830 Cmd("git branch -D %s" % TEST_CONFIG["TRUNKBRANCH"], ""), | 829 Cmd("git branch -D %s" % TEST_CONFIG["CANDIDATESBRANCH"], ""), |
831 Cmd(("git new-branch %s --upstream origin/candidates" % | 830 Cmd(("git new-branch %s --upstream origin/candidates" % |
832 TEST_CONFIG["TRUNKBRANCH"]), "", cb=ResetToTrunk), | 831 TEST_CONFIG["CANDIDATESBRANCH"]), "", cb=ResetToCandidates), |
833 Cmd("git commit -aF \"%s\"" % TEST_CONFIG["COMMITMSG_FILE"], "", | 832 Cmd("git commit -aF \"%s\"" % TEST_CONFIG["COMMITMSG_FILE"], "", |
834 cb=CheckVersionCommit), | 833 cb=CheckVersionCommit), |
835 Cmd("git cl land -f --bypass-hooks", ""), | 834 Cmd("git cl land -f --bypass-hooks", ""), |
836 Cmd("git fetch", ""), | 835 Cmd("git fetch", ""), |
837 Cmd("git log -1 --format=%H --grep=" | 836 Cmd("git log -1 --format=%H --grep=" |
838 "\"Version 3.22.5 (based on push_hash)\"" | 837 "\"Version 3.22.5 (based on push_hash)\"" |
839 " origin/candidates", "hsh_to_tag"), | 838 " origin/candidates", "hsh_to_tag"), |
840 Cmd("git tag 3.22.5 hsh_to_tag", ""), | 839 Cmd("git tag 3.22.5 hsh_to_tag", ""), |
841 Cmd("git push origin 3.22.5", ""), | 840 Cmd("git push origin 3.22.5", ""), |
842 Cmd("git checkout -f some_branch", ""), | 841 Cmd("git checkout -f some_branch", ""), |
843 Cmd("git branch -D %s" % TEST_CONFIG["BRANCHNAME"], ""), | 842 Cmd("git branch -D %s" % TEST_CONFIG["BRANCHNAME"], ""), |
844 Cmd("git branch -D %s" % TEST_CONFIG["TRUNKBRANCH"], ""), | 843 Cmd("git branch -D %s" % TEST_CONFIG["CANDIDATESBRANCH"], ""), |
845 ] | 844 ] |
846 self.Expect(expectations) | 845 self.Expect(expectations) |
847 | 846 |
848 args = ["-a", "author@chromium.org", "--revision", "push_hash"] | 847 args = ["-a", "author@chromium.org", "--revision", "push_hash"] |
849 if force: args.append("-f") | 848 if force: args.append("-f") |
850 if manual: args.append("-m") | 849 if manual: args.append("-m") |
851 else: args += ["-r", "reviewer@chromium.org"] | 850 else: args += ["-r", "reviewer@chromium.org"] |
852 PushToTrunk(TEST_CONFIG, self).Run(args) | 851 PushToCandidates(TEST_CONFIG, self).Run(args) |
853 | 852 |
854 cl = FileToText(os.path.join(TEST_CONFIG["DEFAULT_CWD"], CHANGELOG_FILE)) | 853 cl = FileToText(os.path.join(TEST_CONFIG["DEFAULT_CWD"], CHANGELOG_FILE)) |
855 self.assertTrue(re.search(r"^\d\d\d\d\-\d+\-\d+: Version 3\.22\.5", cl)) | 854 self.assertTrue(re.search(r"^\d\d\d\d\-\d+\-\d+: Version 3\.22\.5", cl)) |
856 self.assertTrue(re.search(r" Log text 1 \(issue 321\).", cl)) | 855 self.assertTrue(re.search(r" Log text 1 \(issue 321\).", cl)) |
857 self.assertTrue(re.search(r"1999\-04\-05: Version 3\.22\.4", cl)) | 856 self.assertTrue(re.search(r"1999\-04\-05: Version 3\.22\.4", cl)) |
858 | 857 |
859 # Note: The version file is on build number 5 again in the end of this test | 858 # Note: The version file is on build number 5 again in the end of this test |
860 # since the git command that merges to the bleeding edge branch is mocked | 859 # since the git command that merges to master is mocked out. |
861 # out. | |
862 | 860 |
863 def testPushToTrunkManual(self): | 861 def testPushToCandidatesManual(self): |
864 self._PushToTrunk(manual=True) | 862 self._PushToCandidates(manual=True) |
865 | 863 |
866 def testPushToTrunkSemiAutomatic(self): | 864 def testPushToCandidatesSemiAutomatic(self): |
867 self._PushToTrunk() | 865 self._PushToCandidates() |
868 | 866 |
869 def testPushToTrunkForced(self): | 867 def testPushToCandidatesForced(self): |
870 self._PushToTrunk(force=True) | 868 self._PushToCandidates(force=True) |
871 | 869 |
872 C_V8_22624_LOG = """V8 CL. | 870 C_V8_22624_LOG = """V8 CL. |
873 | 871 |
874 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22624 123 | 872 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22624 123 |
875 | 873 |
876 """ | 874 """ |
877 | 875 |
878 C_V8_123455_LOG = """V8 CL. | 876 C_V8_123455_LOG = """V8 CL. |
879 | 877 |
880 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@123455 123 | 878 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@123455 123 |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
952 Cmd("git log -1 --format=%s hash2", | 950 Cmd("git log -1 --format=%s hash2", |
953 "Version 3.4.5 (based on abc123)\n"), | 951 "Version 3.4.5 (based on abc123)\n"), |
954 ]) | 952 ]) |
955 | 953 |
956 self._state["candidate"] = "abc123" | 954 self._state["candidate"] = "abc123" |
957 self.assertEquals(0, self.RunStep( | 955 self.assertEquals(0, self.RunStep( |
958 auto_push.AutoPush, CheckLastPush, AUTO_PUSH_ARGS)) | 956 auto_push.AutoPush, CheckLastPush, AUTO_PUSH_ARGS)) |
959 | 957 |
960 def testAutoPush(self): | 958 def testAutoPush(self): |
961 TextToFile("", os.path.join(TEST_CONFIG["DEFAULT_CWD"], ".git")) | 959 TextToFile("", os.path.join(TEST_CONFIG["DEFAULT_CWD"], ".git")) |
962 TEST_CONFIG["SETTINGS_LOCATION"] = "~/.doesnotexist" | |
963 | 960 |
964 self.Expect([ | 961 self.Expect([ |
965 Cmd("git status -s -uno", ""), | 962 Cmd("git status -s -uno", ""), |
966 Cmd("git status -s -b -uno", "## some_branch\n"), | 963 Cmd("git status -s -b -uno", "## some_branch\n"), |
967 Cmd("git fetch", ""), | 964 Cmd("git fetch", ""), |
968 URL("https://v8-status.appspot.com/current?format=json", | |
969 "{\"message\": \"Tree is throttled\"}"), | |
970 Cmd("git fetch origin +refs/heads/candidate:refs/heads/candidate", ""), | 965 Cmd("git fetch origin +refs/heads/candidate:refs/heads/candidate", ""), |
971 Cmd("git show-ref -s refs/heads/candidate", "abc123\n"), | 966 Cmd("git show-ref -s refs/heads/candidate", "abc123\n"), |
972 Cmd(("git log -1 --format=%H --grep=\"" | 967 Cmd(("git log -1 --format=%H --grep=\"" |
973 "^Version [[:digit:]]*\.[[:digit:]]*\.[[:digit:]]* (based\"" | 968 "^Version [[:digit:]]*\.[[:digit:]]*\.[[:digit:]]* (based\"" |
974 " origin/candidates"), "push_hash\n"), | 969 " origin/candidates"), "push_hash\n"), |
975 Cmd("git log -1 --format=%s push_hash", | 970 Cmd("git log -1 --format=%s push_hash", |
976 "Version 3.4.5 (based on abc101)\n"), | 971 "Version 3.4.5 (based on abc101)\n"), |
977 ]) | 972 ]) |
978 | 973 |
979 auto_push.AutoPush(TEST_CONFIG, self).Run(AUTO_PUSH_ARGS + ["--push"]) | 974 auto_push.AutoPush(TEST_CONFIG, self).Run(AUTO_PUSH_ARGS + ["--push"]) |
980 | 975 |
981 state = json.loads(FileToText("%s-state.json" | 976 state = json.loads(FileToText("%s-state.json" |
982 % TEST_CONFIG["PERSISTFILE_BASENAME"])) | 977 % TEST_CONFIG["PERSISTFILE_BASENAME"])) |
983 | 978 |
984 self.assertEquals("abc123", state["candidate"]) | 979 self.assertEquals("abc123", state["candidate"]) |
985 | 980 |
986 def testAutoPushStoppedBySettings(self): | |
987 TextToFile("", os.path.join(TEST_CONFIG["DEFAULT_CWD"], ".git")) | |
988 TEST_CONFIG["SETTINGS_LOCATION"] = self.MakeEmptyTempFile() | |
989 TextToFile("{\"enable_auto_push\": false}", | |
990 TEST_CONFIG["SETTINGS_LOCATION"]) | |
991 | |
992 self.Expect([ | |
993 Cmd("git status -s -uno", ""), | |
994 Cmd("git status -s -b -uno", "## some_branch\n"), | |
995 Cmd("git fetch", ""), | |
996 ]) | |
997 | |
998 def RunAutoPush(): | |
999 auto_push.AutoPush(TEST_CONFIG, self).Run(AUTO_PUSH_ARGS) | |
1000 self.assertRaises(Exception, RunAutoPush) | |
1001 | |
1002 def testAutoPushStoppedByTreeStatus(self): | |
1003 TextToFile("", os.path.join(TEST_CONFIG["DEFAULT_CWD"], ".git")) | |
1004 TEST_CONFIG["SETTINGS_LOCATION"] = "~/.doesnotexist" | |
1005 | |
1006 self.Expect([ | |
1007 Cmd("git status -s -uno", ""), | |
1008 Cmd("git status -s -b -uno", "## some_branch\n"), | |
1009 Cmd("git fetch", ""), | |
1010 URL("https://v8-status.appspot.com/current?format=json", | |
1011 "{\"message\": \"Tree is throttled (no push)\"}"), | |
1012 ]) | |
1013 | |
1014 def RunAutoPush(): | |
1015 auto_push.AutoPush(TEST_CONFIG, self).Run(AUTO_PUSH_ARGS) | |
1016 self.assertRaises(Exception, RunAutoPush) | |
1017 | |
1018 def testAutoRollExistingRoll(self): | 981 def testAutoRollExistingRoll(self): |
1019 self.Expect([ | 982 self.Expect([ |
1020 URL("https://codereview.chromium.org/search", | 983 URL("https://codereview.chromium.org/search", |
1021 "owner=author%40chromium.org&limit=30&closed=3&format=json", | 984 "owner=author%40chromium.org&limit=30&closed=3&format=json", |
1022 ("{\"results\": [{\"subject\": \"different\"}," | 985 ("{\"results\": [{\"subject\": \"different\"}," |
1023 "{\"subject\": \"Update V8 to Version...\"}]}")), | 986 "{\"subject\": \"Update V8 to Version...\"}]}")), |
1024 ]) | 987 ]) |
1025 | 988 |
1026 result = auto_roll.AutoRoll(TEST_CONFIG, self).Run( | 989 result = auto_roll.AutoRoll(TEST_CONFIG, self).Run( |
1027 AUTO_PUSH_ARGS + ["-c", TEST_CONFIG["CHROMIUM"]]) | 990 AUTO_PUSH_ARGS + ["-c", TEST_CONFIG["CHROMIUM"]]) |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1106 Title3 | 1069 Title3 |
1107 | 1070 |
1108 Title1 | 1071 Title1 |
1109 | 1072 |
1110 Revert "Something" | 1073 Revert "Something" |
1111 | 1074 |
1112 BUG=123,234,345,456,567,v8:123 | 1075 BUG=123,234,345,456,567,v8:123 |
1113 LOG=N | 1076 LOG=N |
1114 """ | 1077 """ |
1115 | 1078 |
1116 def VerifySVNCommit(): | 1079 def VerifyLand(): |
1117 commit = FileToText(TEST_CONFIG["COMMITMSG_FILE"]) | 1080 commit = FileToText(TEST_CONFIG["COMMITMSG_FILE"]) |
1118 self.assertEquals(msg, commit) | 1081 self.assertEquals(msg, commit) |
1119 version = FileToText( | 1082 version = FileToText( |
1120 os.path.join(TEST_CONFIG["DEFAULT_CWD"], VERSION_FILE)) | 1083 os.path.join(TEST_CONFIG["DEFAULT_CWD"], VERSION_FILE)) |
1121 self.assertTrue(re.search(r"#define MINOR_VERSION\s+22", version)) | 1084 self.assertTrue(re.search(r"#define MINOR_VERSION\s+22", version)) |
1122 self.assertTrue(re.search(r"#define BUILD_NUMBER\s+5", version)) | 1085 self.assertTrue(re.search(r"#define BUILD_NUMBER\s+5", version)) |
1123 self.assertTrue(re.search(r"#define PATCH_LEVEL\s+1", version)) | 1086 self.assertTrue(re.search(r"#define PATCH_LEVEL\s+1", version)) |
1124 self.assertTrue(re.search(r"#define IS_CANDIDATE_VERSION\s+0", version)) | 1087 self.assertTrue(re.search(r"#define IS_CANDIDATE_VERSION\s+0", version)) |
1125 | 1088 |
1126 self.Expect([ | 1089 self.Expect([ |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1179 Cmd("git apply --index --reject \"%s\"" % extra_patch, ""), | 1142 Cmd("git apply --index --reject \"%s\"" % extra_patch, ""), |
1180 RL("Y"), # Automatically increment patch level? | 1143 RL("Y"), # Automatically increment patch level? |
1181 Cmd("git commit -aF \"%s\"" % TEST_CONFIG["COMMITMSG_FILE"], ""), | 1144 Cmd("git commit -aF \"%s\"" % TEST_CONFIG["COMMITMSG_FILE"], ""), |
1182 RL("reviewer@chromium.org"), # V8 reviewer. | 1145 RL("reviewer@chromium.org"), # V8 reviewer. |
1183 Cmd("git cl upload --send-mail -r \"reviewer@chromium.org\" " | 1146 Cmd("git cl upload --send-mail -r \"reviewer@chromium.org\" " |
1184 "--bypass-hooks --cc \"ulan@chromium.org\"", ""), | 1147 "--bypass-hooks --cc \"ulan@chromium.org\"", ""), |
1185 Cmd("git checkout -f %s" % TEST_CONFIG["BRANCHNAME"], ""), | 1148 Cmd("git checkout -f %s" % TEST_CONFIG["BRANCHNAME"], ""), |
1186 RL("LGTM"), # Enter LGTM for V8 CL. | 1149 RL("LGTM"), # Enter LGTM for V8 CL. |
1187 Cmd("git cl presubmit", "Presubmit successfull\n"), | 1150 Cmd("git cl presubmit", "Presubmit successfull\n"), |
1188 Cmd("git cl land -f --bypass-hooks", "Closing issue\n", | 1151 Cmd("git cl land -f --bypass-hooks", "Closing issue\n", |
1189 cb=VerifySVNCommit), | 1152 cb=VerifyLand), |
1190 Cmd("git fetch", ""), | 1153 Cmd("git fetch", ""), |
1191 Cmd("git log -1 --format=%H --grep=\"" | 1154 Cmd("git log -1 --format=%H --grep=\"" |
1192 "Version 3.22.5.1 (cherry-pick)" | 1155 "Version 3.22.5.1 (cherry-pick)" |
1193 "\" origin/candidates", | 1156 "\" origin/candidates", |
1194 ""), | 1157 ""), |
1195 Cmd("git fetch", ""), | 1158 Cmd("git fetch", ""), |
1196 Cmd("git log -1 --format=%H --grep=\"" | 1159 Cmd("git log -1 --format=%H --grep=\"" |
1197 "Version 3.22.5.1 (cherry-pick)" | 1160 "Version 3.22.5.1 (cherry-pick)" |
1198 "\" origin/candidates", | 1161 "\" origin/candidates", |
1199 "hsh_to_tag"), | 1162 "hsh_to_tag"), |
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1404 "branch": "3.3", | 1367 "branch": "3.3", |
1405 "review_link": "fake.com", | 1368 "review_link": "fake.com", |
1406 "date": "18:15", | 1369 "date": "18:15", |
1407 "chromium_branch": "", | 1370 "chromium_branch": "", |
1408 "revision_link": "https://code.google.com/p/v8/source/detail?r=234", | 1371 "revision_link": "https://code.google.com/p/v8/source/detail?r=234", |
1409 }, | 1372 }, |
1410 ] | 1373 ] |
1411 self.assertEquals(expected_json, json.loads(FileToText(json_output))) | 1374 self.assertEquals(expected_json, json.loads(FileToText(json_output))) |
1412 | 1375 |
1413 | 1376 |
1414 def _bumpUpVersion(self): | |
1415 self.WriteFakeVersionFile() | |
1416 | |
1417 def ResetVersion(minor, build, patch=0): | |
1418 return lambda: self.WriteFakeVersionFile(minor=minor, | |
1419 build=build, | |
1420 patch=patch) | |
1421 | |
1422 return [ | |
1423 Cmd("git status -s -uno", ""), | |
1424 Cmd("git checkout -f master", "", cb=ResetVersion(11, 4)), | |
1425 Cmd("git pull", ""), | |
1426 Cmd("git branch", ""), | |
1427 Cmd("git checkout -f master", ""), | |
1428 Cmd("git log -1 --format=%H", "latest_hash"), | |
1429 Cmd("git diff --name-only latest_hash latest_hash^", ""), | |
1430 URL("https://v8-status.appspot.com/lkgr", "12345"), | |
1431 Cmd("git checkout -f master", ""), | |
1432 Cmd(("git log --format=%H --grep=" | |
1433 "\"^git-svn-id: [^@]*@12345 [A-Za-z0-9-]*$\""), | |
1434 "lkgr_hash"), | |
1435 Cmd("git new-branch auto-bump-up-version --upstream lkgr_hash", ""), | |
1436 Cmd("git checkout -f master", ""), | |
1437 Cmd("git branch", "auto-bump-up-version\n* master"), | |
1438 Cmd("git branch -D auto-bump-up-version", ""), | |
1439 Cmd("git diff --name-only lkgr_hash lkgr_hash^", ""), | |
1440 Cmd("git checkout -f candidates", "", cb=ResetVersion(11, 5)), | |
1441 Cmd("git pull", ""), | |
1442 URL("https://v8-status.appspot.com/current?format=json", | |
1443 "{\"message\": \"Tree is open\"}"), | |
1444 Cmd("git new-branch auto-bump-up-version --upstream master", "", | |
1445 cb=ResetVersion(11, 4)), | |
1446 Cmd("git commit -am \"[Auto-roll] Bump up version to 3.11.6.0\n\n" | |
1447 "TBR=author@chromium.org\" " | |
1448 "--author \"author@chromium.org <author@chromium.org>\"", ""), | |
1449 ] | |
1450 | |
1451 def testBumpUpVersionGit(self): | |
1452 expectations = self._bumpUpVersion() | |
1453 expectations += [ | |
1454 Cmd("git cl upload --send-mail --email \"author@chromium.org\" -f " | |
1455 "--bypass-hooks", ""), | |
1456 Cmd("git cl land -f --bypass-hooks", ""), | |
1457 Cmd("git checkout -f master", ""), | |
1458 Cmd("git branch", "auto-bump-up-version\n* master"), | |
1459 Cmd("git branch -D auto-bump-up-version", ""), | |
1460 ] | |
1461 self.Expect(expectations) | |
1462 | |
1463 BumpUpVersion(TEST_CONFIG, self).Run(["-a", "author@chromium.org"]) | |
1464 | |
1465 | |
1466 # Test that we bail out if the last change was a version change. | |
1467 def testBumpUpVersionBailout1(self): | |
1468 self._state["latest"] = "latest_hash" | |
1469 | |
1470 self.Expect([ | |
1471 Cmd("git diff --name-only latest_hash latest_hash^", VERSION_FILE), | |
1472 ]) | |
1473 | |
1474 self.assertEquals(0, | |
1475 self.RunStep(BumpUpVersion, LastChangeBailout, ["--dry_run"])) | |
1476 | |
1477 # Test that we bail out if the lkgr was a version change. | |
1478 def testBumpUpVersionBailout2(self): | |
1479 self._state["lkgr"] = "lkgr_hash" | |
1480 | |
1481 self.Expect([ | |
1482 Cmd("git diff --name-only lkgr_hash lkgr_hash^", VERSION_FILE), | |
1483 ]) | |
1484 | |
1485 self.assertEquals(0, | |
1486 self.RunStep(BumpUpVersion, LKGRVersionUpToDateBailout, ["--dry_run"])) | |
1487 | |
1488 # Test that we bail out if the last version is already newer than the lkgr's | |
1489 # version. | |
1490 def testBumpUpVersionBailout3(self): | |
1491 self._state["lkgr"] = "lkgr_hash" | |
1492 self._state["lkgr_version"] = "3.22.4.0" | |
1493 self._state["latest_version"] = "3.22.5.0" | |
1494 | |
1495 self.Expect([ | |
1496 Cmd("git diff --name-only lkgr_hash lkgr_hash^", ""), | |
1497 ]) | |
1498 | |
1499 self.assertEquals(0, | |
1500 self.RunStep(BumpUpVersion, LKGRVersionUpToDateBailout, ["--dry_run"])) | |
1501 | |
1502 | |
1503 class SystemTest(unittest.TestCase): | 1377 class SystemTest(unittest.TestCase): |
1504 def testReload(self): | 1378 def testReload(self): |
1505 options = ScriptsBase( | 1379 options = ScriptsBase( |
1506 TEST_CONFIG, DEFAULT_SIDE_EFFECT_HANDLER, {}).MakeOptions([]) | 1380 TEST_CONFIG, DEFAULT_SIDE_EFFECT_HANDLER, {}).MakeOptions([]) |
1507 step = MakeStep(step_class=PrepareChangeLog, number=0, state={}, config={}, | 1381 step = MakeStep(step_class=PrepareChangeLog, number=0, state={}, config={}, |
1508 options=options, | 1382 options=options, |
1509 side_effect_handler=DEFAULT_SIDE_EFFECT_HANDLER) | 1383 side_effect_handler=DEFAULT_SIDE_EFFECT_HANDLER) |
1510 body = step.Reload( | 1384 body = step.Reload( |
1511 """------------------------------------------------------------------------ | 1385 """------------------------------------------------------------------------ |
1512 r17997 | machenbach@chromium.org | 2013-11-22 11:04:04 +0100 (...) | 6 lines | 1386 r17997 | machenbach@chromium.org | 2013-11-22 11:04:04 +0100 (...) | 6 lines |
1513 | 1387 |
1514 Prepare push to trunk. Now working on version 3.23.11. | 1388 Prepare push to trunk. Now working on version 3.23.11. |
1515 | 1389 |
1516 R=danno@chromium.org | 1390 R=danno@chromium.org |
1517 | 1391 |
1518 Review URL: https://codereview.chromium.org/83173002 | 1392 Review URL: https://codereview.chromium.org/83173002 |
1519 | 1393 |
1520 ------------------------------------------------------------------------""") | 1394 ------------------------------------------------------------------------""") |
1521 self.assertEquals( | 1395 self.assertEquals( |
1522 """Prepare push to trunk. Now working on version 3.23.11. | 1396 """Prepare push to trunk. Now working on version 3.23.11. |
1523 | 1397 |
1524 R=danno@chromium.org | 1398 R=danno@chromium.org |
1525 | 1399 |
1526 Committed: https://code.google.com/p/v8/source/detail?r=17997""", body) | 1400 Committed: https://code.google.com/p/v8/source/detail?r=17997""", body) |
OLD | NEW |