From 7946e2ef8350b654100d46faf1e40c9569727372 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Vinot?= Date: Sat, 9 Dec 2017 13:35:44 +0100 Subject: [PATCH] fix: Disable pseudofile support in py2, skip tests. --- pymisp/tools/create_misp_object.py | 10 ++++++++-- tests/test_offline.py | 3 +++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/pymisp/tools/create_misp_object.py b/pymisp/tools/create_misp_object.py index c6a4dea..989da93 100644 --- a/pymisp/tools/create_misp_object.py +++ b/pymisp/tools/create_misp_object.py @@ -1,6 +1,8 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- +import six + from . import FileObject, PEObject, ELFObject, MachOObject from ..exceptions import MISPObjectException import logging @@ -54,7 +56,11 @@ def make_binary_objects(filepath=None, pseudofile=None, filename=None): if filepath: lief_parsed = lief.parse(filepath=filepath) else: - lief_parsed = lief.parse(raw=pseudofile.getvalue(), name=filename) + if six.PY2: + logger.critical('Pseudofile is not supported in python2. Just update.') + lief_parsed = None + else: + lief_parsed = lief.parse(raw=pseudofile.getvalue(), name=filename) if isinstance(lief_parsed, lief.PE.Binary): return make_pe_objects(lief_parsed, misp_file) elif isinstance(lief_parsed, lief.ELF.Binary): @@ -79,7 +85,7 @@ def make_binary_objects(filepath=None, pseudofile=None, filename=None): logger.warning('Type error: {}'.format(e)) except lief.exception as e: logger.warning('Lief exception: {}'.format(e)) - except FileTypeNotImplemented as e: # noqa + except FileTypeNotImplemented as e: logger.warning(e) if not HAS_LIEF: logger.warning('Please install lief, documentation here: https://github.com/lief-project/LIEF') diff --git a/tests/test_offline.py b/tests/test_offline.py index b4c1644..e2d0c9c 100644 --- a/tests/test_offline.py +++ b/tests/test_offline.py @@ -5,6 +5,7 @@ import unittest import requests_mock import json import os +import six from io import BytesIO import pymisp as pm @@ -243,6 +244,8 @@ class TestOffline(unittest.TestCase): return json.dumps(to_return, cls=MISPEncode) def test_objects_pseudofile(self, m): + if six.PY2: + return unittest.SkipTest() paths = ['cmd.exe', 'tmux', 'MachO-OSX-x64-ls'] try: for path in paths: