@@ -22,6 +22,7 @@ import (
2222 "github.com/google/go-cmp/cmp"
2323 "github.com/google/osv-scalibr/artifact/image/layerscanning/testing/fakelayer"
2424 "github.com/google/osv-scalibr/extractor"
25+ ubextr "github.com/google/osv-scalibr/extractor/filesystem/ffa/unknownbinariesextr"
2526 scalibrfs "github.com/google/osv-scalibr/fs"
2627 "github.com/google/osv-scalibr/testing/fakefs"
2728)
@@ -115,23 +116,63 @@ R:binary2
115116` ,
116117 },
117118 unknownBinariesSet : map [string ]* extractor.Package {
118- "usr/bin/binary1" : {Name : "binary1" },
119- "usr/lib/library1" : {Name : "library1" },
120- "bin/binary2" : {Name : "binary2" },
121- "usr/bin/unknown1" : {Name : "unknown1" },
119+ "usr/bin/binary1" : {Name : "binary1" ,
120+ Metadata : & ubextr.UnknownBinaryMetadata {
121+ Attribution : ubextr.Attribution {},
122+ }},
123+ "usr/lib/library1" : {Name : "library1" ,
124+ Metadata : & ubextr.UnknownBinaryMetadata {
125+ Attribution : ubextr.Attribution {},
126+ }},
127+ "bin/binary2" : {Name : "binary2" ,
128+ Metadata : & ubextr.UnknownBinaryMetadata {
129+ Attribution : ubextr.Attribution {},
130+ }},
131+ "usr/bin/unknown1" : {Name : "unknown1" ,
132+ Metadata : & ubextr.UnknownBinaryMetadata {
133+ Attribution : ubextr.Attribution {},
134+ }},
122135 },
123136 want : map [string ]* extractor.Package {
124- "usr/bin/unknown1" : {Name : "unknown1" },
137+ "usr/bin/binary1" : {Name : "binary1" ,
138+ Metadata : & ubextr.UnknownBinaryMetadata {
139+ Attribution : ubextr.Attribution {
140+ LocalFilesystem : true ,
141+ },
142+ },
143+ },
144+ "usr/lib/library1" : {Name : "library1" ,
145+ Metadata : & ubextr.UnknownBinaryMetadata {
146+ Attribution : ubextr.Attribution {
147+ LocalFilesystem : true ,
148+ },
149+ }},
150+ "bin/binary2" : {Name : "binary2" ,
151+ Metadata : & ubextr.UnknownBinaryMetadata {
152+ Attribution : ubextr.Attribution {
153+ LocalFilesystem : true ,
154+ },
155+ }},
156+ "usr/bin/unknown1" : {Name : "unknown1" ,
157+ Metadata : & ubextr.UnknownBinaryMetadata {
158+ Attribution : ubextr.Attribution {},
159+ }},
125160 },
126161 },
127162 {
128163 name : "apk_db_does_not_exist" ,
129164 files : map [string ]string {},
130165 unknownBinariesSet : map [string ]* extractor.Package {
131- "usr/bin/binary1" : {Name : "binary1" },
166+ "usr/bin/binary1" : {Name : "binary1" ,
167+ Metadata : & ubextr.UnknownBinaryMetadata {
168+ Attribution : ubextr.Attribution {},
169+ }},
132170 },
133171 want : map [string ]* extractor.Package {
134- "usr/bin/binary1" : {Name : "binary1" },
172+ "usr/bin/binary1" : {Name : "binary1" ,
173+ Metadata : & ubextr.UnknownBinaryMetadata {
174+ Attribution : ubextr.Attribution {},
175+ }},
135176 },
136177 wantErr : true ,
137178 },
@@ -141,10 +182,16 @@ R:binary2
141182 "lib/apk/db/installed" : "" ,
142183 },
143184 unknownBinariesSet : map [string ]* extractor.Package {
144- "usr/bin/binary1" : {Name : "binary1" },
185+ "usr/bin/binary1" : {Name : "binary1" ,
186+ Metadata : & ubextr.UnknownBinaryMetadata {
187+ Attribution : ubextr.Attribution {},
188+ }},
145189 },
146190 want : map [string ]* extractor.Package {
147- "usr/bin/binary1" : {Name : "binary1" },
191+ "usr/bin/binary1" : {Name : "binary1" ,
192+ Metadata : & ubextr.UnknownBinaryMetadata {
193+ Attribution : ubextr.Attribution {},
194+ }},
148195 },
149196 },
150197 {
@@ -167,14 +214,56 @@ R:symlink
167214 })
168215 },
169216 unknownBinariesSet : map [string ]* extractor.Package {
170- "usr/bin/symlink1" : {Name : "symlink1" },
171- "usr/bin/actual_binary" : {Name : "actual_binary" },
172- "path/to/another/symlink" : {Name : "symlink" },
173- "path/to/another/actual" : {Name : "another_actual" },
174- "usr/bin/not_in_db" : {Name : "not_in_db" },
217+ "usr/bin/symlink1" : {Name : "symlink1" ,
218+ Metadata : & ubextr.UnknownBinaryMetadata {
219+ Attribution : ubextr.Attribution {},
220+ }},
221+ "usr/bin/actual_binary" : {Name : "actual_binary" ,
222+ Metadata : & ubextr.UnknownBinaryMetadata {
223+ Attribution : ubextr.Attribution {},
224+ }},
225+ "path/to/another/symlink" : {Name : "symlink" ,
226+ Metadata : & ubextr.UnknownBinaryMetadata {
227+ Attribution : ubextr.Attribution {},
228+ }},
229+ "path/to/another/actual" : {Name : "another_actual" ,
230+ Metadata : & ubextr.UnknownBinaryMetadata {
231+ Attribution : ubextr.Attribution {},
232+ }},
233+ "usr/bin/not_in_db" : {Name : "not_in_db" ,
234+ Metadata : & ubextr.UnknownBinaryMetadata {
235+ Attribution : ubextr.Attribution {},
236+ }},
175237 },
176238 want : map [string ]* extractor.Package {
177- "usr/bin/not_in_db" : {Name : "not_in_db" },
239+ "usr/bin/symlink1" : {Name : "symlink1" ,
240+ Metadata : & ubextr.UnknownBinaryMetadata {
241+ Attribution : ubextr.Attribution {
242+ LocalFilesystem : true ,
243+ },
244+ }},
245+ "usr/bin/actual_binary" : {Name : "actual_binary" ,
246+ Metadata : & ubextr.UnknownBinaryMetadata {
247+ Attribution : ubextr.Attribution {
248+ LocalFilesystem : true ,
249+ },
250+ }},
251+ "path/to/another/symlink" : {Name : "symlink" ,
252+ Metadata : & ubextr.UnknownBinaryMetadata {
253+ Attribution : ubextr.Attribution {
254+ LocalFilesystem : true ,
255+ },
256+ }},
257+ "path/to/another/actual" : {Name : "another_actual" ,
258+ Metadata : & ubextr.UnknownBinaryMetadata {
259+ Attribution : ubextr.Attribution {
260+ LocalFilesystem : true ,
261+ },
262+ }},
263+ "usr/bin/not_in_db" : {Name : "not_in_db" ,
264+ Metadata : & ubextr.UnknownBinaryMetadata {
265+ Attribution : ubextr.Attribution {},
266+ }},
178267 },
179268 },
180269 {
@@ -194,11 +283,26 @@ R:symlink2
194283 })
195284 },
196285 unknownBinariesSet : map [string ]* extractor.Package {
197- "usr/bin/symlink2" : {Name : "symlink2" },
198- "usr/bin/unknown2" : {Name : "unknown2" },
286+ "usr/bin/symlink2" : {Name : "symlink2" ,
287+ Metadata : & ubextr.UnknownBinaryMetadata {
288+ Attribution : ubextr.Attribution {},
289+ }},
290+ "usr/bin/unknown2" : {Name : "unknown2" ,
291+ Metadata : & ubextr.UnknownBinaryMetadata {
292+ Attribution : ubextr.Attribution {},
293+ }},
199294 },
200295 want : map [string ]* extractor.Package {
201- "usr/bin/unknown2" : {Name : "unknown2" },
296+ "usr/bin/symlink2" : {Name : "symlink2" ,
297+ Metadata : & ubextr.UnknownBinaryMetadata {
298+ Attribution : ubextr.Attribution {
299+ LocalFilesystem : true ,
300+ },
301+ }},
302+ "usr/bin/unknown2" : {Name : "unknown2" ,
303+ Metadata : & ubextr.UnknownBinaryMetadata {
304+ Attribution : ubextr.Attribution {},
305+ }},
202306 },
203307 },
204308 {
@@ -210,10 +314,16 @@ V:1.0
210314` ,
211315 },
212316 unknownBinariesSet : map [string ]* extractor.Package {
213- "usr/bin/binary1" : {Name : "binary1" },
317+ "usr/bin/binary1" : {Name : "binary1" ,
318+ Metadata : & ubextr.UnknownBinaryMetadata {
319+ Attribution : ubextr.Attribution {},
320+ }},
214321 },
215322 want : map [string ]* extractor.Package {
216- "usr/bin/binary1" : {Name : "binary1" },
323+ "usr/bin/binary1" : {Name : "binary1" ,
324+ Metadata : & ubextr.UnknownBinaryMetadata {
325+ Attribution : ubextr.Attribution {},
326+ }},
217327 },
218328 },
219329 {
@@ -222,14 +332,56 @@ V:1.0
222332 "lib/apk/db/installed" : string (installed ),
223333 },
224334 unknownBinariesSet : map [string ]* extractor.Package {
225- "etc/motd" : {Name : "motd" },
226- "usr/bin/scanelf" : {Name : "scanelf" },
227- "usr/bin/ssl_client" : {Name : "ssl_client" },
228- "lib/libz.so.1" : {Name : "libz.so.1" },
229- "unknown/binary" : {Name : "unknown" },
335+ "etc/motd" : {Name : "motd" ,
336+ Metadata : & ubextr.UnknownBinaryMetadata {
337+ Attribution : ubextr.Attribution {},
338+ }},
339+ "usr/bin/scanelf" : {Name : "scanelf" ,
340+ Metadata : & ubextr.UnknownBinaryMetadata {
341+ Attribution : ubextr.Attribution {},
342+ }},
343+ "usr/bin/ssl_client" : {Name : "ssl_client" ,
344+ Metadata : & ubextr.UnknownBinaryMetadata {
345+ Attribution : ubextr.Attribution {},
346+ }},
347+ "lib/libz.so.1" : {Name : "libz.so.1" ,
348+ Metadata : & ubextr.UnknownBinaryMetadata {
349+ Attribution : ubextr.Attribution {},
350+ }},
351+ "unknown/binary" : {Name : "unknown" ,
352+ Metadata : & ubextr.UnknownBinaryMetadata {
353+ Attribution : ubextr.Attribution {},
354+ }},
230355 },
231356 want : map [string ]* extractor.Package {
232- "unknown/binary" : {Name : "unknown" },
357+ "etc/motd" : {Name : "motd" ,
358+ Metadata : & ubextr.UnknownBinaryMetadata {
359+ Attribution : ubextr.Attribution {
360+ LocalFilesystem : true ,
361+ },
362+ }},
363+ "usr/bin/scanelf" : {Name : "scanelf" ,
364+ Metadata : & ubextr.UnknownBinaryMetadata {
365+ Attribution : ubextr.Attribution {
366+ LocalFilesystem : true ,
367+ },
368+ }},
369+ "usr/bin/ssl_client" : {Name : "ssl_client" ,
370+ Metadata : & ubextr.UnknownBinaryMetadata {
371+ Attribution : ubextr.Attribution {
372+ LocalFilesystem : true ,
373+ },
374+ }},
375+ "lib/libz.so.1" : {Name : "libz.so.1" ,
376+ Metadata : & ubextr.UnknownBinaryMetadata {
377+ Attribution : ubextr.Attribution {
378+ LocalFilesystem : true ,
379+ },
380+ }},
381+ "unknown/binary" : {Name : "unknown" ,
382+ Metadata : & ubextr.UnknownBinaryMetadata {
383+ Attribution : ubextr.Attribution {},
384+ }},
233385 },
234386 },
235387 {
@@ -238,11 +390,26 @@ V:1.0
238390 "lib/apk/db/installed" : string (single ),
239391 },
240392 unknownBinariesSet : map [string ]* extractor.Package {
241- "etc/fstab" : {Name : "fstab" },
242- "unknown/binary" : {Name : "unknown" },
393+ "etc/fstab" : {Name : "fstab" ,
394+ Metadata : & ubextr.UnknownBinaryMetadata {
395+ Attribution : ubextr.Attribution {},
396+ }},
397+ "unknown/binary" : {Name : "unknown" ,
398+ Metadata : & ubextr.UnknownBinaryMetadata {
399+ Attribution : ubextr.Attribution {},
400+ }},
243401 },
244402 want : map [string ]* extractor.Package {
245- "unknown/binary" : {Name : "unknown" },
403+ "etc/fstab" : {Name : "fstab" ,
404+ Metadata : & ubextr.UnknownBinaryMetadata {
405+ Attribution : ubextr.Attribution {
406+ LocalFilesystem : true ,
407+ },
408+ }},
409+ "unknown/binary" : {Name : "unknown" ,
410+ Metadata : & ubextr.UnknownBinaryMetadata {
411+ Attribution : ubextr.Attribution {},
412+ }},
246413 },
247414 },
248415 {
@@ -251,10 +418,16 @@ V:1.0
251418 "lib/apk/db/installed" : string (invalid ),
252419 },
253420 unknownBinariesSet : map [string ]* extractor.Package {
254- "usr/bin/binary1" : {Name : "binary1" },
421+ "usr/bin/binary1" : {Name : "binary1" ,
422+ Metadata : & ubextr.UnknownBinaryMetadata {
423+ Attribution : ubextr.Attribution {},
424+ }},
255425 },
256426 want : map [string ]* extractor.Package {
257- "usr/bin/binary1" : {Name : "binary1" },
427+ "usr/bin/binary1" : {Name : "binary1" ,
428+ Metadata : & ubextr.UnknownBinaryMetadata {
429+ Attribution : ubextr.Attribution {},
430+ }},
258431 },
259432 wantErr : true ,
260433 },
@@ -264,10 +437,16 @@ V:1.0
264437 "lib/apk/db/installed" : string (empty ),
265438 },
266439 unknownBinariesSet : map [string ]* extractor.Package {
267- "usr/bin/binary1" : {Name : "binary1" },
440+ "usr/bin/binary1" : {Name : "binary1" ,
441+ Metadata : & ubextr.UnknownBinaryMetadata {
442+ Attribution : ubextr.Attribution {},
443+ }},
268444 },
269445 want : map [string ]* extractor.Package {
270- "usr/bin/binary1" : {Name : "binary1" },
446+ "usr/bin/binary1" : {Name : "binary1" ,
447+ Metadata : & ubextr.UnknownBinaryMetadata {
448+ Attribution : ubextr.Attribution {},
449+ }},
271450 },
272451 },
273452 }
0 commit comments