]> git.apps.os.sepia.ceph.com Git - teuthology.git/commitdiff
teuthology/suite/test: test nested subsets 1704/head
authorPatrick Donnelly <pdonnell@redhat.com>
Wed, 9 Feb 2022 22:59:23 +0000 (17:59 -0500)
committerPatrick Donnelly <pdonnell@redhat.com>
Tue, 24 May 2022 00:31:28 +0000 (20:31 -0400)
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
teuthology/suite/test/test_build_matrix.py

index c6578415aecb087a3c2a9fa1aa53190ec1cba872..1d72771c8ff9f0035cfed0422b082bffd6203361 100644 (file)
@@ -190,6 +190,47 @@ class TestBuildMatrix(object):
             assert 'd0_0/d1_2/d1_2_2.yaml' in i[1]
             assert 'd0_0/d1_2/d1_2_3.yaml' in i[1]
 
+    def test_convolve_nested(self):
+        fake_fs = {
+            'd0_0': {
+                '%': None,
+                'd1_0': {
+                    'd1_0_0.yaml': None,
+                    '%': '2',
+                    'd1_0_1': {
+                        'd1_0_1_0.yaml': None,
+                        'd1_0_1_1.yaml': None,
+                    },
+                    'd1_0_2': {
+                        'd1_0_2_0.yaml': None,
+                        'd1_0_2_1.yaml': None,
+                    },
+                },
+                'd1_2': {
+                    'd1_2_0.yaml': None,
+                    'd1_2_1.yaml': None,
+                    'd1_2_2.yaml': None,
+                    'd1_2_3.yaml': None,
+                },
+            },
+        }
+        self.start_patchers(fake_fs)
+        try:
+            result = build_matrix.build_matrix('d0_0')
+        finally:
+            self.stop_patchers()
+        assert len(result) == 8
+        assert self.fragment_occurences(result, 'd1_0_0.yaml') == 1
+        assert self.fragment_occurences(result, 'd1_0_1_0.yaml') == 0.5
+        assert self.fragment_occurences(result, 'd1_0_1_1.yaml') == 0.5
+        assert self.fragment_occurences(result, 'd1_0_2_0.yaml') == 0.5
+        assert self.fragment_occurences(result, 'd1_0_2_1.yaml') == 0.5
+        assert self.fragment_occurences(result, 'd1_2_0.yaml') == 0.25
+        assert self.fragment_occurences(result, 'd1_2_1.yaml') == 0.25
+        assert self.fragment_occurences(result, 'd1_2_2.yaml') == 0.25
+        assert self.fragment_occurences(result, 'd1_2_3.yaml') == 0.25
+
+
     def test_random_dollar_sign_2x2x3(self):
         fake_fs = {
             'd0_0': {