aboutsummaryrefslogtreecommitdiff
path: root/llvm_tools/nightly_revert_checker_test.py
diff options
context:
space:
mode:
authorGeorge Burgess IV <gbiv@google.com>2020-04-27 15:52:41 -0700
committerGeorge Burgess <gbiv@chromium.org>2020-04-28 19:02:01 +0000
commitde1a447d928f6985bce2f64b148b34b885404eaa (patch)
treeb5a3ebb1f57ec87f6eeed9e8d56ee8d7e83a0024 /llvm_tools/nightly_revert_checker_test.py
parent7b8508f497e3882a6cd3488878d7ee4ba4cf0c3a (diff)
downloadtoolchain-utils-de1a447d928f6985bce2f64b148b34b885404eaa.tar.gz
llvm_tools: use tiny_render in the nightly revert checker
Now that we have `tiny_render` imported into `cros_utils`, we can use it. This lets us easily linkify and stylize our emails, and makes comments like tcwang's in Ibc3ef1d2e3b5a3301366e971cacf53396a6ca2aa much easier to address. BUG=chromium:1046988 TEST=unittests; sent an email Change-Id: I538efd2e349a48bd433c826359eb0dd94b422966 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2169010 Reviewed-by: Tiancong Wang <tcwang@google.com> Tested-by: George Burgess <gbiv@chromium.org>
Diffstat (limited to 'llvm_tools/nightly_revert_checker_test.py')
-rwxr-xr-xllvm_tools/nightly_revert_checker_test.py71
1 files changed, 55 insertions, 16 deletions
diff --git a/llvm_tools/nightly_revert_checker_test.py b/llvm_tools/nightly_revert_checker_test.py
index 81cfbd2c..dce29343 100755
--- a/llvm_tools/nightly_revert_checker_test.py
+++ b/llvm_tools/nightly_revert_checker_test.py
@@ -8,22 +8,28 @@
from __future__ import print_function
-# pylint: disable=protected-access
-
import io
import unittest
+import cros_utils.tiny_render as tiny_render
import nightly_revert_checker
import revert_checker
+# pylint: disable=protected-access
+
class Test(unittest.TestCase):
"""Tests for nightly_revert_checker."""
def test_email_rendering_works_for_singular_revert(self):
+
+ def prettify_sha(sha: str) -> tiny_render.Piece:
+ return 'pretty_' + sha
+
email = nightly_revert_checker._generate_revert_email(
friendly_name='${name}',
sha='${sha}',
+ prettify_sha=prettify_sha,
new_reverts=[
revert_checker.Revert(
sha='${revert_sha}', reverted_sha='${reverted_sha}')
@@ -31,21 +37,34 @@ class Test(unittest.TestCase):
expected_email = nightly_revert_checker._Email(
subject='[revert-checker] new revert discovered across ${name}',
- body='\n'.join((
- 'It looks like there may be a new revert across ${name} (${sha}).',
- '',
+ body=[
+ 'It looks like there may be a new revert across ${name} (',
+ 'pretty_${sha}',
+ ').',
+ tiny_render.line_break,
+ tiny_render.line_break,
'That is:',
- '\t- ${revert_sha} (appears to revert ${reverted_sha})',
- '',
+ tiny_render.UnorderedList([[
+ 'pretty_${revert_sha}',
+ ' (appears to revert ',
+ 'pretty_${reverted_sha}',
+ ')',
+ ]]),
+ tiny_render.line_break,
'PTAL and consider reverting them locally.',
- )))
+ ])
self.assertEqual(email, expected_email)
def test_email_rendering_works_for_multiple_reverts(self):
+
+ def prettify_sha(sha: str) -> tiny_render.Piece:
+ return 'pretty_' + sha
+
email = nightly_revert_checker._generate_revert_email(
friendly_name='${name}',
sha='${sha}',
+ prettify_sha=prettify_sha,
new_reverts=[
revert_checker.Revert(
sha='${revert_sha1}', reverted_sha='${reverted_sha1}'),
@@ -58,16 +77,36 @@ class Test(unittest.TestCase):
expected_email = nightly_revert_checker._Email(
subject='[revert-checker] new reverts discovered across ${name}',
- body='\n'.join((
- 'It looks like there may be new reverts across ${name} (${sha}).',
- '',
+ body=[
+ 'It looks like there may be new reverts across ${name} (',
+ 'pretty_${sha}',
+ ').',
+ tiny_render.line_break,
+ tiny_render.line_break,
'These are:',
- '\t- ${revert_sha0} (appears to revert ${reverted_sha0})',
- '\t- ${revert_sha1} (appears to revert ${reverted_sha1})',
- '\t- ${revert_sha2} (appears to revert ${reverted_sha2})',
- '',
+ tiny_render.UnorderedList([
+ [
+ 'pretty_${revert_sha0}',
+ ' (appears to revert ',
+ 'pretty_${reverted_sha0}',
+ ')',
+ ],
+ [
+ 'pretty_${revert_sha1}',
+ ' (appears to revert ',
+ 'pretty_${reverted_sha1}',
+ ')',
+ ],
+ [
+ 'pretty_${revert_sha2}',
+ ' (appears to revert ',
+ 'pretty_${reverted_sha2}',
+ ')',
+ ],
+ ]),
+ tiny_render.line_break,
'PTAL and consider reverting them locally.',
- )))
+ ])
self.assertEqual(email, expected_email)