diff options
Diffstat (limited to 'meta')
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/cve_check.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/meta/lib/oeqa/selftest/cases/cve_check.py b/meta/lib/oeqa/selftest/cases/cve_check.py index a40272c919..3dd3e89d3e 100644 --- a/meta/lib/oeqa/selftest/cases/cve_check.py +++ b/meta/lib/oeqa/selftest/cases/cve_check.py | |||
| @@ -72,6 +72,54 @@ class CVECheck(OESelftestTestCase): | |||
| 72 | self.assertEqual(convert_cve_version("6.2_rc8"), "6.2-rc8") | 72 | self.assertEqual(convert_cve_version("6.2_rc8"), "6.2-rc8") |
| 73 | self.assertEqual(convert_cve_version("6.2_rc31"), "6.2-rc31") | 73 | self.assertEqual(convert_cve_version("6.2_rc31"), "6.2-rc31") |
| 74 | 74 | ||
| 75 | def test_product_match(self): | ||
| 76 | from oe.cve_check import has_cve_product_match | ||
| 77 | |||
| 78 | status = {} | ||
| 79 | status["detail"] = "ignored" | ||
| 80 | status["vendor"] = "*" | ||
| 81 | status["product"] = "*" | ||
| 82 | status["description"] = "" | ||
| 83 | status["mapping"] = "" | ||
| 84 | |||
| 85 | self.assertEqual(has_cve_product_match(status, "some_vendor:some_product"), True) | ||
| 86 | self.assertEqual(has_cve_product_match(status, "*:*"), True) | ||
| 87 | self.assertEqual(has_cve_product_match(status, "some_product"), True) | ||
| 88 | self.assertEqual(has_cve_product_match(status, "glibc"), True) | ||
| 89 | self.assertEqual(has_cve_product_match(status, "glibca"), True) | ||
| 90 | self.assertEqual(has_cve_product_match(status, "aglibc"), True) | ||
| 91 | self.assertEqual(has_cve_product_match(status, "*"), True) | ||
| 92 | self.assertEqual(has_cve_product_match(status, "aglibc glibc test:test"), True) | ||
| 93 | |||
| 94 | status["product"] = "glibc" | ||
| 95 | self.assertEqual(has_cve_product_match(status, "some_vendor:some_product"), False) | ||
| 96 | # The CPE in the recipe must be defined, no * accepted | ||
| 97 | self.assertEqual(has_cve_product_match(status, "*:*"), False) | ||
| 98 | self.assertEqual(has_cve_product_match(status, "*"), False) | ||
| 99 | self.assertEqual(has_cve_product_match(status, "some_product"), False) | ||
| 100 | self.assertEqual(has_cve_product_match(status, "glibc"), True) | ||
| 101 | self.assertEqual(has_cve_product_match(status, "glibca"), False) | ||
| 102 | self.assertEqual(has_cve_product_match(status, "aglibc"), False) | ||
| 103 | self.assertEqual(has_cve_product_match(status, "some_vendor:glibc"), True) | ||
| 104 | self.assertEqual(has_cve_product_match(status, "some_vendor:glibc test"), True) | ||
| 105 | self.assertEqual(has_cve_product_match(status, "test some_vendor:glibc"), True) | ||
| 106 | |||
| 107 | status["vendor"] = "glibca" | ||
| 108 | status["product"] = "glibc" | ||
| 109 | self.assertEqual(has_cve_product_match(status, "some_vendor:some_product"), False) | ||
| 110 | # The CPE in the recipe must be defined, no * accepted | ||
| 111 | self.assertEqual(has_cve_product_match(status, "*:*"), False) | ||
| 112 | self.assertEqual(has_cve_product_match(status, "*"), False) | ||
| 113 | self.assertEqual(has_cve_product_match(status, "some_product"), False) | ||
| 114 | self.assertEqual(has_cve_product_match(status, "glibc"), False) | ||
| 115 | self.assertEqual(has_cve_product_match(status, "glibca"), False) | ||
| 116 | self.assertEqual(has_cve_product_match(status, "aglibc"), False) | ||
| 117 | self.assertEqual(has_cve_product_match(status, "some_vendor:glibc"), False) | ||
| 118 | self.assertEqual(has_cve_product_match(status, "glibca:glibc"), True) | ||
| 119 | self.assertEqual(has_cve_product_match(status, "test:test glibca:glibc"), True) | ||
| 120 | self.assertEqual(has_cve_product_match(status, "test glibca:glibc"), True) | ||
| 121 | self.assertEqual(has_cve_product_match(status, "glibca:glibc test"), True) | ||
| 122 | |||
| 75 | 123 | ||
| 76 | def test_recipe_report_json(self): | 124 | def test_recipe_report_json(self): |
| 77 | config = """ | 125 | config = """ |
