Revision: 17645
Author: [email protected]
Date: Tue Nov 12 13:11:15 2013 UTC
Log: Add more test coverage to push-to-trunk script.
Ensure that fetching commits works with huge change logs. The verbosity
option will help debugging when dcommit hangs.
BUG=
[email protected]
Review URL: https://codereview.chromium.org/70143003
http://code.google.com/p/v8/source/detail?r=17645
Modified:
/branches/bleeding_edge/tools/push-to-trunk/common_includes.py
/branches/bleeding_edge/tools/push-to-trunk/push_to_trunk.py
/branches/bleeding_edge/tools/push-to-trunk/test_scripts.py
=======================================
--- /branches/bleeding_edge/tools/push-to-trunk/common_includes.py Fri Nov
8 14:27:16 2013 UTC
+++ /branches/bleeding_edge/tools/push-to-trunk/common_includes.py Tue Nov
12 13:11:15 2013 UTC
@@ -67,6 +67,14 @@
return re.sub(rexp, replacement, text, flags=re.MULTILINE)
+def GetLastChangeLogEntries(change_log_file):
+ result = []
+ for line in LinesInFile(change_log_file):
+ if re.search(r"^\d{4}-\d{2}-\d{2}:", line) and result: break
+ result.append(line)
+ return "".join(result)
+
+
# Some commands don't like the pipe, e.g. calling vi from within the
script or
# from subscripts like git cl upload.
def Command(cmd, args="", prefix="", pipe=True):
=======================================
--- /branches/bleeding_edge/tools/push-to-trunk/push_to_trunk.py Fri Nov 8
14:27:16 2013 UTC
+++ /branches/bleeding_edge/tools/push-to-trunk/push_to_trunk.py Tue Nov 12
13:11:15 2013 UTC
@@ -221,18 +221,10 @@
self.WaitForLGTM()
# Re-read the ChangeLog entry (to pick up possible changes).
# FIXME(machenbach): This was hanging once with a broken pipe.
- TextToFile(Command("cat %s | awk --posix '{\
- if ($0 ~ /^[0-9]{4}-[0-9]{2}-[0-9]{2}:/) {\
- if (in_firstblock == 1) {\
- exit 0;\
- } else {\
- in_firstblock = 1;\
- }\
- };\
- print $0;\
- }'" % self.Config(CHANGELOG_FILE)),
self.Config(CHANGELOG_ENTRY_FILE))
+ TextToFile(GetLastChangeLogEntries(self.Config(CHANGELOG_FILE)),
+ self.Config(CHANGELOG_ENTRY_FILE))
- if self.Git("cl dcommit", "PRESUBMIT_TREE_CHECK=\"skip\"") is None:
+ if self.Git("cl dcommit -v", "PRESUBMIT_TREE_CHECK=\"skip\"") is None:
self.Die("'git cl dcommit' failed, please try again.")
=======================================
--- /branches/bleeding_edge/tools/push-to-trunk/test_scripts.py Fri Nov 8
14:27:16 2013 UTC
+++ /branches/bleeding_edge/tools/push-to-trunk/test_scripts.py Tue Nov 12
13:11:15 2013 UTC
@@ -287,6 +287,22 @@
self.assertEquals("6", self.MakeStep().Restore("new_build"))
self.assertEquals("0", self.MakeStep().Restore("new_patch"))
+ def testLastChangeLogEntries(self):
+ TEST_CONFIG[CHANGELOG_FILE] = self.MakeEmptyTempFile()
+ l = """
+ Fixed something.
+ (issue 1234)\n"""
+ for _ in xrange(10): l = l + l
+
+ cl_chunk = """2013-11-12: Version 3.23.2\n%s
+ Performance and stability improvements on all
platforms.\n\n\n""" % l
+
+ cl_chunk_full = cl_chunk + cl_chunk + cl_chunk
+ TextToFile(cl_chunk_full, TEST_CONFIG[CHANGELOG_FILE])
+
+ cl = GetLastChangeLogEntries(TEST_CONFIG[CHANGELOG_FILE])
+ self.assertEquals(cl_chunk, cl)
+
def testSquashCommits(self):
TEST_CONFIG[CHANGELOG_ENTRY_FILE] = self.MakeEmptyTempFile()
with open(TEST_CONFIG[CHANGELOG_ENTRY_FILE], "w") as f:
@@ -368,7 +384,7 @@
" 2 files changed\n",
CheckPreparePush],
["cl upload -r \"[email protected]\" --send-mail", "done\n"],
- ["cl dcommit", "Closing issue\n"],
+ ["cl dcommit -v", "Closing issue\n"],
["svn fetch", "fetch result\n"],
["checkout svn/bleeding_edge", ""],
[("log -1 --format=%H --grep=\"Prepare push to trunk. "
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.