Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(576)

Side by Side Diff: tools/push-to-trunk/test_scripts.py

Issue 158733002: Enable specification of author email in push-to-trunk. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « tools/push-to-trunk/push_to_trunk.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 CHANGELOG_FILE: None, 52 CHANGELOG_FILE: None,
53 CHANGELOG_ENTRY_FILE: "/tmp/test-v8-push-to-trunk-tempfile-changelog-entry", 53 CHANGELOG_ENTRY_FILE: "/tmp/test-v8-push-to-trunk-tempfile-changelog-entry",
54 PATCH_FILE: "/tmp/test-v8-push-to-trunk-tempfile-patch", 54 PATCH_FILE: "/tmp/test-v8-push-to-trunk-tempfile-patch",
55 COMMITMSG_FILE: "/tmp/test-v8-push-to-trunk-tempfile-commitmsg", 55 COMMITMSG_FILE: "/tmp/test-v8-push-to-trunk-tempfile-commitmsg",
56 CHROMIUM: "/tmp/test-v8-push-to-trunk-tempfile-chromium", 56 CHROMIUM: "/tmp/test-v8-push-to-trunk-tempfile-chromium",
57 DEPS_FILE: "/tmp/test-v8-push-to-trunk-tempfile-chromium/DEPS", 57 DEPS_FILE: "/tmp/test-v8-push-to-trunk-tempfile-chromium/DEPS",
58 SETTINGS_LOCATION: None, 58 SETTINGS_LOCATION: None,
59 } 59 }
60 60
61 61
62 def MakeOptions(s=0, l=None, f=False, m=True, r=None, c=None, 62 def MakeOptions(s=0, l=None, f=False, m=True, r=None, c=None, a=None,
63 status_password=None): 63 status_password=None):
64 """Convenience wrapper.""" 64 """Convenience wrapper."""
65 class Options(object): 65 class Options(object):
66 pass 66 pass
67 options = Options() 67 options = Options()
68 options.s = s 68 options.s = s
69 options.l = l 69 options.l = l
70 options.f = f 70 options.f = f
71 options.m = m 71 options.m = m
72 options.r = r 72 options.r = r
73 options.c = c 73 options.c = c
74 options.a = a
74 options.status_password = status_password 75 options.status_password = status_password
75 return options 76 return options
76 77
77 78
78 class ToplevelTest(unittest.TestCase): 79 class ToplevelTest(unittest.TestCase):
79 def testMakeComment(self): 80 def testMakeComment(self):
80 self.assertEquals("# Line 1\n# Line 2\n#", 81 self.assertEquals("# Line 1\n# Line 2\n#",
81 MakeComment(" Line 1\n Line 2\n")) 82 MakeComment(" Line 1\n Line 2\n"))
82 self.assertEquals("#Line 1\n#Line 2", 83 self.assertEquals("#Line 1\n#Line 2",
83 MakeComment("Line 1\n Line 2")) 84 MakeComment("Line 1\n Line 2"))
(...skipping 582 matching lines...) Expand 10 before | Expand all | Expand 10 after
666 ["log -1 --format=%H ChangeLog", "1234\n"], 667 ["log -1 --format=%H ChangeLog", "1234\n"],
667 ["log -1 1234", "Last push ouput\n"], 668 ["log -1 1234", "Last push ouput\n"],
668 ["log 1234..HEAD --format=%H", "rev1\n"], 669 ["log 1234..HEAD --format=%H", "rev1\n"],
669 ["log -1 rev1 --format=\"%s\"", "Log text 1.\n"], 670 ["log -1 rev1 --format=\"%s\"", "Log text 1.\n"],
670 ["log -1 rev1 --format=\"%B\"", "Text\nLOG=YES\nBUG=v8:321\nText\n"], 671 ["log -1 rev1 --format=\"%B\"", "Text\nLOG=YES\nBUG=v8:321\nText\n"],
671 ["log -1 rev1 --format=\"%an\"", "author1@chromium.org\n"], 672 ["log -1 rev1 --format=\"%an\"", "author1@chromium.org\n"],
672 [("commit -a -m \"Prepare push to trunk. " 673 [("commit -a -m \"Prepare push to trunk. "
673 "Now working on version 3.22.6.%s\"" % review_suffix), 674 "Now working on version 3.22.6.%s\"" % review_suffix),
674 " 2 files changed\n", 675 " 2 files changed\n",
675 CheckPreparePush], 676 CheckPreparePush],
676 ["cl upload -r \"reviewer@chromium.org\" --send-mail%s" % force_flag, 677 [("cl upload --email \"author@chromium.org\" "
678 "-r \"reviewer@chromium.org\" --send-mail%s" % force_flag),
677 "done\n"], 679 "done\n"],
678 ["cl presubmit", "Presubmit successfull\n"], 680 ["cl presubmit", "Presubmit successfull\n"],
679 ["cl dcommit -f --bypass-hooks", "Closing issue\n"], 681 ["cl dcommit -f --bypass-hooks", "Closing issue\n"],
680 ["svn fetch", "fetch result\n"], 682 ["svn fetch", "fetch result\n"],
681 ["checkout svn/bleeding_edge", ""], 683 ["checkout svn/bleeding_edge", ""],
682 [("log -1 --format=%H --grep=\"Prepare push to trunk. " 684 [("log -1 --format=%H --grep=\"Prepare push to trunk. "
683 "Now working on version 3.22.6.\""), 685 "Now working on version 3.22.6.\""),
684 "hash1\n"], 686 "hash1\n"],
685 ["diff svn/trunk hash1", "patch content\n"], 687 ["diff svn/trunk hash1", "patch content\n"],
686 ["svn find-rev hash1", "123455\n"], 688 ["svn find-rev hash1", "123455\n"],
687 ["checkout -b %s svn/trunk" % TEST_CONFIG[TRUNKBRANCH], ""], 689 ["checkout -b %s svn/trunk" % TEST_CONFIG[TRUNKBRANCH], ""],
688 ["apply --index --reject \"%s\"" % TEST_CONFIG[PATCH_FILE], ""], 690 ["apply --index --reject \"%s\"" % TEST_CONFIG[PATCH_FILE], ""],
689 ["add \"%s\"" % TEST_CONFIG[VERSION_FILE], ""], 691 ["add \"%s\"" % TEST_CONFIG[VERSION_FILE], ""],
690 ["commit -F \"%s\"" % TEST_CONFIG[COMMITMSG_FILE], "", CheckSVNCommit], 692 ["commit -F \"%s\"" % TEST_CONFIG[COMMITMSG_FILE], "", CheckSVNCommit],
691 ["svn dcommit 2>&1", "Some output\nCommitted r123456\nSome output\n"], 693 ["svn dcommit 2>&1", "Some output\nCommitted r123456\nSome output\n"],
692 ["svn tag 3.22.5 -m \"Tagging version 3.22.5\"", ""], 694 ["svn tag 3.22.5 -m \"Tagging version 3.22.5\"", ""],
693 ["status -s -uno", ""], 695 ["status -s -uno", ""],
694 ["checkout master", ""], 696 ["checkout master", ""],
695 ["pull", ""], 697 ["pull", ""],
696 ["checkout -b v8-roll-123456", ""], 698 ["checkout -b v8-roll-123456", ""],
697 [("commit -am \"Update V8 to version 3.22.5 " 699 [("commit -am \"Update V8 to version 3.22.5 "
698 "(based on bleeding_edge revision r123455).\n\n" 700 "(based on bleeding_edge revision r123455).\n\n"
699 "TBR=reviewer@chromium.org\""), 701 "TBR=reviewer@chromium.org\""),
700 ""], 702 ""],
701 ["cl upload --send-mail%s" % force_flag, ""], 703 ["cl upload --email \"author@chromium.org\" --send-mail%s" % force_flag,
704 ""],
702 ["checkout -f some_branch", ""], 705 ["checkout -f some_branch", ""],
703 ["branch -D %s" % TEST_CONFIG[TEMP_BRANCH], ""], 706 ["branch -D %s" % TEST_CONFIG[TEMP_BRANCH], ""],
704 ["branch -D %s" % TEST_CONFIG[BRANCHNAME], ""], 707 ["branch -D %s" % TEST_CONFIG[BRANCHNAME], ""],
705 ["branch -D %s" % TEST_CONFIG[TRUNKBRANCH], ""], 708 ["branch -D %s" % TEST_CONFIG[TRUNKBRANCH], ""],
706 ]) 709 ])
707 710
708 # Expected keyboard input in manual mode: 711 # Expected keyboard input in manual mode:
709 if manual: 712 if manual:
710 self.ExpectReadline([ 713 self.ExpectReadline([
711 "Y", # Confirm last push. 714 "Y", # Confirm last push.
712 "", # Open editor. 715 "", # Open editor.
713 "Y", # Increment build number. 716 "Y", # Increment build number.
714 "reviewer@chromium.org", # V8 reviewer. 717 "reviewer@chromium.org", # V8 reviewer.
715 "LGTX", # Enter LGTM for V8 CL (wrong). 718 "LGTX", # Enter LGTM for V8 CL (wrong).
716 "LGTM", # Enter LGTM for V8 CL. 719 "LGTM", # Enter LGTM for V8 CL.
717 "Y", # Sanity check. 720 "Y", # Sanity check.
718 "reviewer@chromium.org", # Chromium reviewer. 721 "reviewer@chromium.org", # Chromium reviewer.
719 ]) 722 ])
720 723
721 # Expected keyboard input in semi-automatic mode: 724 # Expected keyboard input in semi-automatic mode:
722 if not manual and not force: 725 if not manual and not force:
723 self.ExpectReadline([ 726 self.ExpectReadline([
724 "LGTM", # Enter LGTM for V8 CL. 727 "LGTM", # Enter LGTM for V8 CL.
725 ]) 728 ])
726 729
727 # No keyboard input in forced mode: 730 # No keyboard input in forced mode:
728 if force: 731 if force:
729 self.ExpectReadline([]) 732 self.ExpectReadline([])
730 733
731 options = MakeOptions(f=force, m=manual, 734 options = MakeOptions(f=force, m=manual, a="author@chromium.org",
732 r="reviewer@chromium.org" if not manual else None, 735 r="reviewer@chromium.org" if not manual else None,
733 c = TEST_CONFIG[CHROMIUM]) 736 c = TEST_CONFIG[CHROMIUM])
734 RunPushToTrunk(TEST_CONFIG, PushToTrunkOptions(options), self) 737 RunPushToTrunk(TEST_CONFIG, PushToTrunkOptions(options), self)
735 738
736 deps = FileToText(TEST_CONFIG[DEPS_FILE]) 739 deps = FileToText(TEST_CONFIG[DEPS_FILE])
737 self.assertTrue(re.search("\"v8_revision\": \"123456\"", deps)) 740 self.assertTrue(re.search("\"v8_revision\": \"123456\"", deps))
738 741
739 cl = FileToText(TEST_CONFIG[CHANGELOG_FILE]) 742 cl = FileToText(TEST_CONFIG[CHANGELOG_FILE])
740 self.assertTrue(re.search(r"^\d\d\d\d\-\d+\-\d+: Version 3\.22\.5", cl)) 743 self.assertTrue(re.search(r"^\d\d\d\d\-\d+\-\d+: Version 3\.22\.5", cl))
741 self.assertTrue(re.search(r" Log text 1 \(issue 321\).", cl)) 744 self.assertTrue(re.search(r" Log text 1 \(issue 321\).", cl))
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
849 852
850 Review URL: https://codereview.chromium.org/83173002 853 Review URL: https://codereview.chromium.org/83173002
851 854
852 ------------------------------------------------------------------------""") 855 ------------------------------------------------------------------------""")
853 self.assertEquals( 856 self.assertEquals(
854 """Prepare push to trunk. Now working on version 3.23.11. 857 """Prepare push to trunk. Now working on version 3.23.11.
855 858
856 R=danno@chromium.org 859 R=danno@chromium.org
857 860
858 Committed: https://code.google.com/p/v8/source/detail?r=17997""", body) 861 Committed: https://code.google.com/p/v8/source/detail?r=17997""", body)
OLDNEW
« no previous file with comments | « tools/push-to-trunk/push_to_trunk.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698