mirror of
https://github.com/mvt-project/mvt.git
synced 2026-02-12 16:42:45 +00:00
Fix inconsisent filesytem tests on some platforms
This commit is contained in:
@@ -2,25 +2,32 @@
|
||||
# Copyright (c) 2021-2023 Claudio Guarnieri.
|
||||
# Use of this software is governed by the MVT License 1.1 that can be found at
|
||||
# https://license.mvt.re/1.1/
|
||||
|
||||
import pytest
|
||||
import logging
|
||||
|
||||
from mvt.common.indicators import Indicators
|
||||
from mvt.common.module import run_module
|
||||
from mvt.ios.modules.fs.filesystem import Filesystem
|
||||
|
||||
from ..utils import get_ios_backup_folder
|
||||
from ..utils import get_ios_backup_folder, delete_tmp_db_files
|
||||
|
||||
|
||||
@pytest.fixture()
|
||||
def cleanup_tmp_artifacts():
|
||||
ios_backup_folder = get_ios_backup_folder()
|
||||
delete_tmp_db_files(ios_backup_folder)
|
||||
return
|
||||
|
||||
|
||||
class TestFilesystem:
|
||||
def test_filesystem(self):
|
||||
def test_filesystem(self, cleanup_tmp_artifacts):
|
||||
m = Filesystem(target_path=get_ios_backup_folder())
|
||||
run_module(m)
|
||||
assert len(m.results) == 14
|
||||
assert len(m.timeline) == 14
|
||||
assert len(m.detected) == 0
|
||||
|
||||
def test_detection(self, indicator_file):
|
||||
def test_detection(self, indicator_file, cleanup_tmp_artifacts):
|
||||
m = Filesystem(target_path=get_ios_backup_folder())
|
||||
ind = Indicators(log=logging.getLogger())
|
||||
ind.parse_stix2(indicator_file)
|
||||
|
||||
@@ -37,6 +37,18 @@ def get_indicator_file():
|
||||
print("PYTEST env", os.getenv("PYTEST_CURRENT_TEST"))
|
||||
|
||||
|
||||
def delete_tmp_db_files(file_path):
|
||||
"""
|
||||
Remove Sqlite temporary files that appear on some platforms
|
||||
|
||||
These can cause filesystem tests to fail depending on the OS.
|
||||
"""
|
||||
for file_name in ["Manifest.db-wal", "Manifest.db-shm"]:
|
||||
path = os.path.join(file_path, file_name)
|
||||
if os.path.isfile(path):
|
||||
os.remove(path)
|
||||
|
||||
|
||||
def list_files(path: str):
|
||||
files = []
|
||||
parent_path = Path(path).absolute().parent.as_posix()
|
||||
|
||||
Reference in New Issue
Block a user