@@ -91,14 +91,14 @@ def _binary_test(self, binary, package, version, are_in, not_in):
91
91
# Run the scan
92
92
cves = self .scan_file (binary )
93
93
# Make sure the package and version are in the results
94
- self .assertIn (package , cves )
95
- self .assertIn (version , cves [package ])
94
+ self .assertIn (package , list ( cves . keys ()) )
95
+ self .assertIn (version , list ( cves [package ]. keys ()) )
96
96
# Test for CVEs known in this version
97
97
for ensure_in in are_in :
98
- self .assertIn (ensure_in , cves [package ][version ])
98
+ self .assertIn (ensure_in , list ( cves [package ][version ]. keys ()) )
99
99
# Test for a CVE that is not in this version
100
100
for ensure_out in not_in :
101
- self .assertNotIn (ensure_out , cves [package ][version ])
101
+ self .assertNotIn (ensure_out , list ( cves [package ][version ]. keys ()) )
102
102
103
103
def _file_test (self , url , filename , package , version ):
104
104
""" Helper function to get a file (presumed to be a real copy
@@ -245,6 +245,28 @@ def test_ffmpeg_4_1_4(self):
245
245
],
246
246
)
247
247
248
+ def test_gnutls_2_3_11 (self ):
249
+ """Scanning test-gnutls-{binary}-2.3.11.out"""
250
+ for binary in ["cli" , "serv" ]:
251
+ with self .subTest (binary = binary ):
252
+ self ._binary_test (
253
+ "test-gnutls-{}-2.3.11.out" .format (binary ),
254
+ "gnutls-cli" ,
255
+ "2.3.11" ,
256
+ [
257
+ # known cves in 2.3.11
258
+ "CVE-2008-1948" ,
259
+ "CVE-2008-1949" ,
260
+ "CVE-2008-1950" ,
261
+ ],
262
+ [
263
+ # an older cve from before 2.3.11
264
+ "CVE-2004-2531" ,
265
+ # an newer cve from after 2.3.11
266
+ "CVE-2017-7869" ,
267
+ ],
268
+ )
269
+
248
270
def test_jpeg_2_0_1 (self ):
249
271
"""Scanning test-libjpeg-turbo-2.0.1"""
250
272
self ._binary_test (
0 commit comments