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 351 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
362 | 362 |
363 def GitMock(self, cmd, args="", pipe=True): | 363 def GitMock(self, cmd, args="", pipe=True): |
364 print "%s %s" % (cmd, args) | 364 print "%s %s" % (cmd, args) |
365 return self._git_mock.Call("git", args) | 365 return self._git_mock.Call("git", args) |
366 | 366 |
367 def LogMock(self, cmd, args=""): | 367 def LogMock(self, cmd, args=""): |
368 print "Log: %s %s" % (cmd, args) | 368 print "Log: %s %s" % (cmd, args) |
369 | 369 |
370 MOCKS = { | 370 MOCKS = { |
371 "git": GitMock, | 371 "git": GitMock, |
| 372 "roll-dep": GitMock, # TODO(machenbach): Yet another hack. Unify all mocks. |
372 # TODO(machenbach): Little hack to reuse the git mock for the one svn call | 373 # TODO(machenbach): Little hack to reuse the git mock for the one svn call |
373 # in merge-to-branch. The command should be made explicit in the test | 374 # in merge-to-branch. The command should be made explicit in the test |
374 # expectations. | 375 # expectations. |
375 "svn": GitMock, | 376 "svn": GitMock, |
376 "vi": LogMock, | 377 "vi": LogMock, |
377 } | 378 } |
378 | 379 |
379 def Call(self, fun, *args, **kwargs): | 380 def Call(self, fun, *args, **kwargs): |
380 print "Calling %s with %s and %s" % (str(fun), str(args), str(kwargs)) | 381 print "Calling %s with %s and %s" % (str(fun), str(args), str(kwargs)) |
381 | 382 |
(...skipping 445 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
827 def list_to_dict(entries): | 828 def list_to_dict(entries): |
828 return {"g_name@google.com": "c_name@chromium.org"} | 829 return {"g_name@google.com": "c_name@chromium.org"} |
829 def get_list(): | 830 def get_list(): |
830 pass""") | 831 pass""") |
831 | 832 |
832 TEST_CONFIG[DOT_GIT_LOCATION] = self.MakeEmptyTempFile() | 833 TEST_CONFIG[DOT_GIT_LOCATION] = self.MakeEmptyTempFile() |
833 if not os.path.exists(TEST_CONFIG[CHROMIUM]): | 834 if not os.path.exists(TEST_CONFIG[CHROMIUM]): |
834 os.makedirs(TEST_CONFIG[CHROMIUM]) | 835 os.makedirs(TEST_CONFIG[CHROMIUM]) |
835 TextToFile("Some line\n \"v8_revision\": \"123444\",\n some line", | 836 TextToFile("Some line\n \"v8_revision\": \"123444\",\n some line", |
836 TEST_CONFIG[DEPS_FILE]) | 837 TEST_CONFIG[DEPS_FILE]) |
| 838 def WriteDeps(): |
| 839 TextToFile("Some line\n \"v8_revision\": \"123455\",\n some line", |
| 840 TEST_CONFIG[DEPS_FILE]) |
837 | 841 |
838 os.environ["EDITOR"] = "vi" | 842 os.environ["EDITOR"] = "vi" |
839 force_flag = " -f" if not manual else "" | 843 force_flag = " -f" if not manual else "" |
840 self.ExpectGit([ | 844 self.ExpectGit([ |
841 Git("status -s -uno", ""), | 845 Git("status -s -uno", ""), |
842 Git("status -s -b -uno", "## some_branch\n"), | 846 Git("status -s -b -uno", "## some_branch\n"), |
843 Git("svn fetch", ""), | 847 Git("svn fetch", ""), |
844 Git(("log -1 --format=%H --grep=" | 848 Git(("log -1 --format=%H --grep=" |
845 "\"^Version [[:digit:]]*\.[[:digit:]]*\.[[:digit:]]*\" " | 849 "\"^Version [[:digit:]]*\.[[:digit:]]*\.[[:digit:]]*\" " |
846 "svn/trunk"), "push_hash\n"), | 850 "svn/trunk"), "push_hash\n"), |
847 Git("svn find-rev push_hash", "123455\n"), | 851 Git("svn find-rev push_hash", "123455\n"), |
848 Git("log -1 --format=%s push_hash", | 852 Git("log -1 --format=%s push_hash", |
849 "Version 3.22.5 (based on bleeding_edge revision r123454)\n"), | 853 "Version 3.22.5 (based on bleeding_edge revision r123454)\n"), |
850 Git("status -s -uno", ""), | 854 Git("status -s -uno", ""), |
851 Git("checkout -f master", ""), | 855 Git("checkout -f master", ""), |
852 Git("pull", ""), | 856 Git("pull", ""), |
853 Git("checkout -b v8-roll-123455", ""), | 857 Git("checkout -b v8-roll-123455", ""), |
| 858 Git("v8 123455", "rolled", cb=WriteDeps), |
854 Git(("commit -am \"Update V8 to version 3.22.5 " | 859 Git(("commit -am \"Update V8 to version 3.22.5 " |
855 "(based on bleeding_edge revision r123454).\n\n" | 860 "(based on bleeding_edge revision r123454).\n\n" |
856 "Please reply to the V8 sheriff c_name@chromium.org in " | 861 "Please reply to the V8 sheriff c_name@chromium.org in " |
857 "case of problems.\n\nTBR=c_name@chromium.org\""), | 862 "case of problems.\n\nTBR=c_name@chromium.org\""), |
858 ""), | 863 ""), |
859 Git(("cl upload --send-mail --email \"author@chromium.org\"%s" | 864 Git(("cl upload --send-mail --email \"author@chromium.org\"%s" |
860 % force_flag), ""), | 865 % force_flag), ""), |
861 ]) | 866 ]) |
862 | 867 |
863 self.ExpectReadURL([ | 868 self.ExpectReadURL([ |
(...skipping 642 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1506 | 1511 |
1507 Review URL: https://codereview.chromium.org/83173002 | 1512 Review URL: https://codereview.chromium.org/83173002 |
1508 | 1513 |
1509 ------------------------------------------------------------------------""") | 1514 ------------------------------------------------------------------------""") |
1510 self.assertEquals( | 1515 self.assertEquals( |
1511 """Prepare push to trunk. Now working on version 3.23.11. | 1516 """Prepare push to trunk. Now working on version 3.23.11. |
1512 | 1517 |
1513 R=danno@chromium.org | 1518 R=danno@chromium.org |
1514 | 1519 |
1515 Committed: https://code.google.com/p/v8/source/detail?r=17997""", body) | 1520 Committed: https://code.google.com/p/v8/source/detail?r=17997""", body) |
OLD | NEW |