diff mbox series

[yocto-autobuilder-helper,7/8] scripts/test_send_qa_email.py: add tests for base/target pair guessing

Message ID 20230313145145.2574842-8-alexis.lothore@bootlin.com
State New
Headers show
Series fix regression reports generation on "master-next" branches | expand

Commit Message

Alexis Lothoré March 13, 2023, 2:51 p.m. UTC
From: Alexis Lothoré <alexis.lothore@bootlin.com>

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
---
 scripts/test_send_qa_email.py | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
diff mbox series

Patch

diff --git a/scripts/test_send_qa_email.py b/scripts/test_send_qa_email.py
index 48bca98..ccdcba6 100755
--- a/scripts/test_send_qa_email.py
+++ b/scripts/test_send_qa_email.py
@@ -35,6 +35,21 @@  class TestVersion(unittest.TestCase):
         {"input": None, "expected":False}
     ]
 
+    # This data represent real data returned by utils.getcomparisonbranch
+    # and the release argument passed to send-qa-email script
+    regression_inputs = [
+        {"name": "Arbitrary branch", "input": {"basebranch": None,
+                                               "comparebranch": None, "release": None}, "expected": (None, None)},
+        {"name": "Master release", "input": {"basebranch": "master",
+                                             "comparebranch": None, "release": "yocto-4.2_M3.rc1"}, "expected": ("4.2_M2", "master")},
+        {"name": "Older release", "input": {"basebranch": "kirkstone",
+                                            "comparebranch": None, "release": "yocto-4.0.8.rc2"}, "expected": ("yocto-4.0.7", "kirkstone")},
+        {"name": "Master Next", "input": {"basebranch": "master-next",
+                                          "comparebranch": "master", "release": None}, "expected": ("master", "master-next")},
+        {"name": "Fork Master Next", "input": {"basebranch": "ross/mut",
+                                               "comparebranch": "master", "release": None}, "expected": ("master", "ross/mut")},
+    ]
+
     def test_versions(self):
         for data in self.test_data_get_version:
             test_name = data["input"]["version"]
@@ -47,6 +62,12 @@  class TestVersion(unittest.TestCase):
             with self.subTest(f"{data['input']}"):
                 self.assertEqual(send_qa_email.is_release_version(data['input']), data['expected'])
 
+    def test_get_regression_base_and_target(self):
+        for data in self.regression_inputs:
+            with self.subTest(data['name']):
+                self.assertEqual(send_qa_email.get_regression_base_and_target(
+                    data['input']['basebranch'], data['input']['comparebranch'], data['input']['release'], os.environ.get("POKY_PATH")), data['expected'])
+
 if __name__ == '__main__':
     if os.environ.get("POKY_PATH") is None:
         print("Please set POKY_PATH to proper poky clone location before running tests")