addressing Willi's feedback

This commit is contained in:
Moritz Raabe
2020-10-22 19:54:55 +02:00
parent fbe104d254
commit 679316946e
3 changed files with 17 additions and 14 deletions

View File

@@ -59,29 +59,24 @@ def test_main_single_rule(z9324d_extractor, tmpdir):
@pytest.mark.xfail(sys.version_info >= (3, 0), reason="vivsect only works on py2")
def test_main_non_ascii_filename(ping_extractor, tmpdir, capsys):
def test_main_non_ascii_filename(pingtaest_extractor, tmpdir, capsys):
# on py2.7, need to be careful about str (which can hold bytes)
# vs unicode (which is only unicode characters).
# on py3, this should not be needed.
#
# here we print a string with unicode characters in it
# (specifically, a byte string with utf-8 bytes in it, see file encoding)
NON_ASCII_FILENAME = "täst1.exe"
tmp_file_kernel32_copy = tmpdir.mkdir("capa").join(NON_ASCII_FILENAME)
import shutil
shutil.copy(ping_extractor.path, tmp_file_kernel32_copy.strpath)
assert capa.main.main(["-q", tmp_file_kernel32_copy.strpath]) == 0
assert capa.main.main(["-q", pingtaest_extractor.path]) == 0
std = capsys.readouterr()
# but here, we have to use a unicode instance,
# because capsys has decoded the output for us.
assert NON_ASCII_FILENAME.decode("utf-8") in std.out
assert pingtaest_extractor.path.decode("utf-8") in std.out
@pytest.mark.xfail(sys.version_info >= (3, 0), reason="vivsect only works on py2")
def test_main_non_ascii_filename_nonexistent(tmpdir, caplog):
NON_ASCII_FILENAME = "täst1.exe"
NON_ASCII_FILENAME = "täst_not_there.exe"
assert capa.main.main(["-q", NON_ASCII_FILENAME]) == -1
assert NON_ASCII_FILENAME.decode("utf-8") in caplog.text