ReFirmLabs / binwalk

Firmware Analysis Tool
MIT License
10.54k stars 1.51k forks source link

Docker build fails due to errors in unit-tests #569

Open dsirov opened 2 years ago

dsirov commented 2 years ago

Docker build fails on tag v2.3.3 (but succeeds on tag v2.3.2):

docker build . --tag=binwalk
. . .
. . . 
. . .
Successfully installed coverage-6.0.2 nose-1.3.7
WARNING: Running pip as root will break packages and permissions. You should install packages reliably by using venv: https://pip.pypa.io/warnings/venv
WARNING: You are using pip version 21.1.2; however, version 21.3 is available.
You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.
running test

Extractor Exception: Binwalk extraction uses many third party utilities, which may not be secure. If you wish to have extraction utilities executed as the current user, use '--run-as=root' (binwalk itself must be run as root).
----------------------------------------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/binwalk-2.3.3-py3.9.egg/binwalk/core/module.py", line 258, in __init__
    self.load()
  File "/usr/local/lib/python3.9/site-packages/binwalk-2.3.3-py3.9.egg/binwalk/modules/extractor.py", line 147, in load
    raise ModuleException("Binwalk extraction uses many third party utilities, which may not be secure. If you wish to have extraction utilities executed as the current user, use '--run-as=%s' (binwalk itself must be run as root)." % user_info.pw_name)
binwalk.core.exceptions.ModuleException: Binwalk extraction uses many third party utilities, which may not be secure. If you wish to have extraction utilities executed as the current user, use '--run-as=root' (binwalk itself must be run as root).
----------------------------------------------------------------------------------------------------

E....F.
======================================================================
ERROR: Test: Open dirtraversal.tar, scan for signatures.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/tmp/testing/tests/test_dirtraversal.py", line 21, in test_dirtraversal
    scan_result = binwalk.scan(input_vector_file,
  File "/usr/local/lib/python3.9/site-packages/binwalk-2.3.3-py3.9.egg/binwalk/__init__.py", line 10, in scan
    objs = m.execute()
  File "/usr/local/lib/python3.9/site-packages/binwalk-2.3.3-py3.9.egg/binwalk/core/module.py", line 783, in execute
    obj = self.run(module)
  File "/usr/local/lib/python3.9/site-packages/binwalk-2.3.3-py3.9.egg/binwalk/core/module.py", line 802, in run
    obj = self.load(module, kwargs)
  File "/usr/local/lib/python3.9/site-packages/binwalk-2.3.3-py3.9.egg/binwalk/core/module.py", line 833, in load
    argv.update(self.dependencies(module, argv['enabled']))
  File "/usr/local/lib/python3.9/site-packages/binwalk-2.3.3-py3.9.egg/binwalk/core/module.py", line 865, in dependencies
    raise ModuleException("Failed to load " + dependency.name + " module")
binwalk.core.exceptions.ModuleException: Failed to load Extractor module

======================================================================
FAIL: Test: Open firmware.zip, scan for signatures
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/tmp/testing/tests/test_firmware_zip.py", line 29, in test_firmware_zip
    eq_(len(scan_result[0].results), len(expected_results))
AssertionError: 4 != 2

/usr/local/lib/python3.9/site-packages/binwalk-2.3.3-py3.9.egg/binwalk/modules/extractor.py:969: SyntaxWarning: "is" with a literal. Did you mean "=="?
  if child_pid is 0:
/usr/local/lib/python3.9/site-packages/binwalk-2.3.3-py3.9.egg/binwalk/modules/extractor.py:984: SyntaxWarning: "is" with a literal. Did you mean "=="?
  if child_pid is 0:
Name                                        Stmts   Miss  Cover
---------------------------------------------------------------
_sysconfigdata__linux_x86_64-linux-gnu.py       1      1     0%
csv.py                                        260    260     0%
ctypes/util.py                                249    249     0%
distutils/sysconfig.py                        272    272     0%
encodings/unicode_escape.py                    16     16     0%
gzip.py                                       367    367     0%
importlib/metadata.py                         248    248     0%
pathlib.py                                    910    910     0%
shlex.py                                      263    263     0%
binwalk/__init__.py                            10     10     0%
binwalk/core/__init__.py                        0      0   100%
binwalk/core/common.py                        229    229     0%
binwalk/core/compat.py                         36     36     0%
binwalk/core/display.py                       147    147     0%
binwalk/core/exceptions.py                      6      6     0%
binwalk/core/idb.py                            87     87     0%
binwalk/core/magic.py                         390    390     0%
binwalk/core/module.py                        492    492     0%
binwalk/core/plugin.py                        158    158     0%
binwalk/core/settings.py                       97     97     0%
binwalk/core/statuserver.py                    51     51     0%
binwalk/core/version.py                        11     11     0%
binwalk/modules/__init__.py                    13     13     0%
binwalk/modules/compression.py                161    161     0%
binwalk/modules/disasm.py                      64     64     0%
binwalk/modules/entropy.py                    182    182     0%
binwalk/modules/extractor.py                  450    450     0%
binwalk/modules/general.py                     67     67     0%
binwalk/modules/hexdiff.py                    138    138     0%
binwalk/modules/signature.py                   73     73     0%
arcadyan.py                                    54     54     0%
cpio.py                                        93     93     0%
dlromfsextract.py                             167    167     0%
gzipextract.py                                 26     26     0%
gzipvalid.py                                   25     25     0%
jffs2valid.py                                  18     18     0%
lzmaextract.py                                 33     33     0%
lzmavalid.py                                   38     38     0%
tar.py                                         42     42     0%
ubivalid.py                                    35     35     0%
unjffs2.py                                      3      3     0%
unpfs.py                                       84     84     0%
ziphelper.py                                   12     12     0%
zlibextract.py                                 24     24     0%
zlibvalid.py                                   22     22     0%
capstone/__init__.py                          619    619     0%
capstone/arm.py                                30     30     0%
capstone/arm64.py                              39     39     0%
capstone/arm64_const.py                       989    989     0%
capstone/arm_const.py                         762    762     0%
capstone/evm.py                                 7      7     0%
capstone/evm_const.py                         148    148     0%
capstone/m680x.py                              38     38     0%
capstone/m680x_const.py                       409    409     0%
capstone/m68k.py                               40     40     0%
capstone/m68k_const.py                        475    475     0%
capstone/mips.py                               22     22     0%
capstone/mips_const.py                        852    852     0%
capstone/ppc.py                                27     27     0%
capstone/ppc_const.py                        1358   1358     0%
capstone/sparc.py                              22     22     0%
capstone/sparc_const.py                       422    422     0%
capstone/systemz.py                            22     22     0%
capstone/sysz_const.py                        747    747     0%
capstone/tms320c64x.py                         25     25     0%
capstone/tms320c64x_const.py                  268    268     0%
capstone/x86.py                                24     24     0%
capstone/x86_const.py                        1952   1952     0%
capstone/xcore.py                              22     22     0%
capstone/xcore_const.py                       156    156     0%
socketserver.py                               308    308     0%
---------------------------------------------------------------
TOTAL                                       15907  15907     0%
----------------------------------------------------------------------
Ran 7 tests in 31.070s

FAILED (errors=1, failures=1)

The command '/bin/sh -c pip install coverage nose     && python3 setup.py test     && dd if=/dev/urandom of=/tmp/random.bin bs=1M count=1 && binwalk -J -E /tmp/random.bin' returned a non-zero code: 1