mirror of
https://github.com/Cisco-Talos/clamav.git
synced 2025-10-19 10:23:17 +00:00
LHA/LZH: Add clamscan tests
Added a test that verifies extraction of two specific files from a set of LZH files created with this utility: https://github.com/jca02266/lha
This commit is contained in:
parent
3ae9c1e434
commit
6e60c46114
14 changed files with 59 additions and 0 deletions
59
unit_tests/clamscan/lzh_lha_archive_test.py
Normal file
59
unit_tests/clamscan/lzh_lha_archive_test.py
Normal file
|
@ -0,0 +1,59 @@
|
|||
# Copyright (C) 2020-2024 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
|
||||
|
||||
"""
|
||||
Run clamscan tests.
|
||||
"""
|
||||
|
||||
import sys
|
||||
|
||||
sys.path.append('../unit_tests')
|
||||
import testcase
|
||||
|
||||
|
||||
class TC(testcase.TestCase):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super(TC, cls).setUpClass()
|
||||
|
||||
# Testing with our logo png file.
|
||||
TC.testfiles = list(TC.path_source.glob('unit_tests/input/other_scanfiles/lha_lzh/*.lzh'))
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
super(TC, cls).tearDownClass()
|
||||
|
||||
def setUp(self):
|
||||
super(TC, self).setUp()
|
||||
|
||||
def tearDown(self):
|
||||
super(TC, self).tearDown()
|
||||
self.verify_valgrind_log()
|
||||
|
||||
def test_good_archives(self):
|
||||
self.step_name('Verify that these LHA archives containing logo.png and cisco-logo.png correctly extract each.')
|
||||
|
||||
(TC.path_tmp / 'good.ldb').write_text(
|
||||
"logo.png;Engine:150-255,Target:0;0;fuzzy_img#af2ad01ed42993c7#0\n"
|
||||
"cisco-logo.png;Engine:150-255,Target:0;0;fuzzy_img#9463944473afd82f#0\n"
|
||||
)
|
||||
|
||||
testfiles = ' '.join([str(testfile) for testfile in TC.testfiles])
|
||||
|
||||
command = '{valgrind} {valgrind_args} {clamscan} -d {path_db} {testfiles} --allmatch'.format(
|
||||
valgrind=TC.valgrind, valgrind_args=TC.valgrind_args, clamscan=TC.clamscan,
|
||||
path_db=TC.path_tmp / 'good.ldb',
|
||||
testfiles=testfiles,
|
||||
)
|
||||
output = self.execute_command(command)
|
||||
|
||||
assert output.ec == 1 # virus
|
||||
assert output.out.count(' logo.png.UNOFFICIAL FOUND') == len(TC.testfiles)
|
||||
assert output.out.count(' cisco-logo.png.UNOFFICIAL FOUND') == len(TC.testfiles)
|
||||
|
||||
expected_stdout = [
|
||||
'logo.png.UNOFFICIAL FOUND',
|
||||
]
|
||||
unexpected_stdout = [
|
||||
'OK',
|
||||
]
|
||||
self.verify_output(output.out, expected=expected_stdout)
|
BIN
unit_tests/input/other_scanfiles/lha_lzh/default.cap.lzh
Executable file
BIN
unit_tests/input/other_scanfiles/lha_lzh/default.cap.lzh
Executable file
Binary file not shown.
BIN
unit_tests/input/other_scanfiles/lha_lzh/default.euc.lzh
Executable file
BIN
unit_tests/input/other_scanfiles/lha_lzh/default.euc.lzh
Executable file
Binary file not shown.
BIN
unit_tests/input/other_scanfiles/lha_lzh/default.lzh
Executable file
BIN
unit_tests/input/other_scanfiles/lha_lzh/default.lzh
Executable file
Binary file not shown.
BIN
unit_tests/input/other_scanfiles/lha_lzh/default.sjis.lzh
Executable file
BIN
unit_tests/input/other_scanfiles/lha_lzh/default.sjis.lzh
Executable file
Binary file not shown.
BIN
unit_tests/input/other_scanfiles/lha_lzh/default.utf8.lzh
Executable file
BIN
unit_tests/input/other_scanfiles/lha_lzh/default.utf8.lzh
Executable file
Binary file not shown.
BIN
unit_tests/input/other_scanfiles/lha_lzh/general.obsolete.lzh
Executable file
BIN
unit_tests/input/other_scanfiles/lha_lzh/general.obsolete.lzh
Executable file
Binary file not shown.
BIN
unit_tests/input/other_scanfiles/lha_lzh/lh0.lzh
Executable file
BIN
unit_tests/input/other_scanfiles/lha_lzh/lh0.lzh
Executable file
Binary file not shown.
BIN
unit_tests/input/other_scanfiles/lha_lzh/lh1.lzh
Executable file
BIN
unit_tests/input/other_scanfiles/lha_lzh/lh1.lzh
Executable file
Binary file not shown.
BIN
unit_tests/input/other_scanfiles/lha_lzh/lh2.lzh
Executable file
BIN
unit_tests/input/other_scanfiles/lha_lzh/lh2.lzh
Executable file
Binary file not shown.
BIN
unit_tests/input/other_scanfiles/lha_lzh/lh5.lzh
Executable file
BIN
unit_tests/input/other_scanfiles/lha_lzh/lh5.lzh
Executable file
Binary file not shown.
BIN
unit_tests/input/other_scanfiles/lha_lzh/lh6.lzh
Executable file
BIN
unit_tests/input/other_scanfiles/lha_lzh/lh6.lzh
Executable file
Binary file not shown.
BIN
unit_tests/input/other_scanfiles/lha_lzh/lh7.lzh
Executable file
BIN
unit_tests/input/other_scanfiles/lha_lzh/lh7.lzh
Executable file
Binary file not shown.
BIN
unit_tests/input/other_scanfiles/lha_lzh/traditional.lzh
Executable file
BIN
unit_tests/input/other_scanfiles/lha_lzh/traditional.lzh
Executable file
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue