Przeglądaj źródła

[git cl split] Make Emit and EmitWarning variadic

This better matches the print function which they replace, and prevents
errors from passing the wrong number of arguments. We also change
printing in one function to be more user-friendly.

Bug: 389069356
Change-Id: Ia41d256b441bffa063f5d0b5ab4eb20725aaeaf4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6322690
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Devon Loehr <dloehr@google.com>
Devon Loehr 5 miesięcy temu
rodzic
commit
20193073f8
2 zmienionych plików z 10 dodań i 6 usunięć
  1. 8 5
      split_cl.py
  2. 2 1
      tests/split_cl_test.py

+ 8 - 5
split_cl.py

@@ -30,12 +30,13 @@ CL_SPLIT_FORCE_LIMIT = 10
 CL_SPLIT_TOP_REVIEWERS = 5
 CL_SPLIT_TOP_REVIEWERS = 5
 
 
 
 
-def Emit(msg: str):
+def Emit(*msg: str):
     """Wrapper for easier mocking during tests"""
     """Wrapper for easier mocking during tests"""
-    print(msg)
+    print(*msg)
 
 
-def EmitWarning(msg: str):
-    print("Warning: ", msg)
+
+def EmitWarning(*msg: str):
+    print("Warning: ", *msg)
 
 
 
 
 def HashList(lst: List[Any]) -> str:
 def HashList(lst: List[Any]) -> str:
@@ -736,7 +737,9 @@ def ValidateSplitting(cl_infos: List[CLInfo], filename: str,
     if (unmentioned_files):
     if (unmentioned_files):
         EmitWarning(
         EmitWarning(
             "the following files are not included in any CL in {filename}. "
             "the following files are not included in any CL in {filename}. "
-            "They will not be uploaded:\n", unmentioned_files)
+            "They will not be uploaded:")
+        for file in unmentioned_files:
+            Emit(file)
 
 
 
 
 def LoadSplittingFromFile(filename: str,
 def LoadSplittingFromFile(filename: str,

+ 2 - 1
tests/split_cl_test.py

@@ -488,7 +488,8 @@ class SplitClTest(unittest.TestCase):
                               split_cl.ParseSplittings, lines)
                               split_cl.ParseSplittings, lines)
 
 
     @mock.patch("split_cl.EmitWarning")
     @mock.patch("split_cl.EmitWarning")
-    def testValidateBadFiles(self, mock_emit_warning):
+    @mock.patch("split_cl.Emit")
+    def testValidateBadFiles(self, _, mock_emit_warning):
         """ Make sure we reject invalid CL lists """
         """ Make sure we reject invalid CL lists """
         # Warn on an empty file
         # Warn on an empty file
         split_cl.LoadSplittingFromFile(
         split_cl.LoadSplittingFromFile(