Index: tools/push-to-trunk/test_scripts.py |
diff --git a/tools/push-to-trunk/test_scripts.py b/tools/push-to-trunk/test_scripts.py |
index b9d762d8629fc5a28c7da5ed65fd25f4a8327245..8c85d88764ab534068a570478b02790ba3669a58 100644 |
--- a/tools/push-to-trunk/test_scripts.py |
+++ b/tools/push-to-trunk/test_scripts.py |
@@ -52,6 +52,101 @@ TEST_CONFIG = { |
} |
+class ToplevelTest(unittest.TestCase): |
+ def testMakeChangeLogBodySimple(self): |
+ commits = lambda: [ |
+ [" Title text 1", |
+ "Title text 1\n\nBUG=\n", |
+ " author1@chromium.org"], |
+ [" Title text 2", |
+ "Title text 2\n\nBUG=1234\n", |
+ " author2@chromium.org"], |
+ ] |
+ self.assertEquals(" Title text 1\n" |
+ " author1@chromium.org\n\n" |
+ " Title text 2\n" |
+ " (Chromium issue 1234)\n" |
+ " author2@chromium.org\n\n", |
+ MakeChangeLogBody(commits)) |
+ |
+ def testMakeChangeLogBodyEmpty(self): |
+ commits = lambda: [] |
+ self.assertEquals("", MakeChangeLogBody(commits)) |
+ |
+ def testMakeChangeLogBugReferenceEmpty(self): |
+ self.assertEquals("", MakeChangeLogBugReference("")) |
+ self.assertEquals("", MakeChangeLogBugReference("LOG=")) |
+ self.assertEquals("", MakeChangeLogBugReference(" BUG =")) |
+ self.assertEquals("", MakeChangeLogBugReference("BUG=none\t")) |
+ |
+ def testMakeChangeLogBugReferenceSimple(self): |
+ self.assertEquals(" (issue 987654)\n", |
+ MakeChangeLogBugReference("BUG = v8:987654")) |
+ self.assertEquals(" (Chromium issue 987654)\n", |
+ MakeChangeLogBugReference("BUG=987654 ")) |
+ |
+ def testMakeChangeLogBugReferenceFromBody(self): |
+ self.assertEquals(" (Chromium issue 1234567)\n", |
+ MakeChangeLogBugReference("Title\n\nTBR=\nBUG=\n" |
+ " BUG=\tchromium:1234567\t\n" |
+ "R=somebody\n")) |
+ |
+ def testMakeChangeLogBugReferenceMultiple(self): |
+ # All issues should be sorted and grouped. Multiple references to the same |
+ # issue should be filtered. |
+ self.assertEquals(" (Chromium issues 123, 234, issue 345)\n", |
+ MakeChangeLogBugReference("Title\n\n" |
+ "BUG=234\n" |
+ " BUG\t= v8:345, \t234,\n" |
+ "BUG=chromium:123\n" |
+ "R=somebody\n")) |
+ self.assertEquals(" (Chromium issues 123, 234)\n", |
+ MakeChangeLogBugReference("Title\n\n" |
+ "BUG=234,,chromium:123 \n" |
+ "R=somebody\n")) |
+ self.assertEquals(" (Chromium issues 123, 234)\n", |
+ MakeChangeLogBugReference("Title\n\n" |
+ "BUG=chromium:234, , 123\n" |
+ "R=somebody\n")) |
+ self.assertEquals(" (issues 345, 456)\n", |
+ MakeChangeLogBugReference("Title\n\n" |
+ "\t\tBUG=v8:345,v8:456\n" |
+ "R=somebody\n")) |
+ self.assertEquals(" (Chromium issue 123, issues 345, 456)\n", |
+ MakeChangeLogBugReference("Title\n\n" |
+ "BUG=v8:456\n" |
+ "BUG = none\n" |
+ "R=somebody\n" |
+ "BUG=v8:456,123, v8:345")) |
+ |
+ def testMakeChangeLogBugReferenceLong(self): |
+ # -----------------00--------10--------20--------30-------- |
+ self.assertEquals(" (Chromium issues 234, 1234567890" |
+ ", 12345678901234567890, issues 12345678,\n" |
+ " 123456789)\n", |
+ MakeChangeLogBugReference("BUG=234\n" |
+ "BUG=1234567890\n" |
+ "BUG=12345678901234567890\n" |
+ "BUG=v8:123456789\n" |
+ "BUG=v8:12345678\n")) |
+ # -----------------00--------10--------20--------30-------- |
+ self.assertEquals(" (Chromium issues 234, 1234567890" |
+ ", 12345678901234567890, issues\n" |
+ " 123456789, 1234567890)\n", |
+ MakeChangeLogBugReference("BUG=234\n" |
+ "BUG=12345678901234567890\n" |
+ "BUG=1234567890\n" |
+ "BUG=v8:123456789\n" |
+ "BUG=v8:1234567890\n")) |
+ # -----------------00--------10--------20--------30-------- |
+ self.assertEquals(" (Chromium issues 234, 1234567890" |
+ ", 12345678901234567,\n" |
+ " 1234567890123456789)\n", |
+ MakeChangeLogBugReference("BUG=234\n" |
+ "BUG=12345678901234567\n" |
+ "BUG=1234567890123456789\n" |
+ "BUG=1234567890\n")) |
+ |
class ScriptTest(unittest.TestCase): |
def MakeEmptyTempFile(self): |
handle, name = tempfile.mkstemp() |