mvt/tests/utils.py

62 lines
1.6 KiB
Python
Raw Normal View History

2022-01-18 15:00:03 +00:00
# Mobile Verification Toolkit (MVT)
2023-09-09 15:55:27 +00:00
# Copyright (c) 2021-2023 The MVT Authors.
2022-01-18 15:00:03 +00:00
# Use of this software is governed by the MVT License 1.1 that can be found at
# https://license.mvt.re/1.1/
2021-12-16 11:50:12 +00:00
import os
from pathlib import Path
2021-12-16 11:50:12 +00:00
2021-12-16 11:50:12 +00:00
def get_artifact(fname):
"""
Return the artifact path in the artifact folder
"""
fpath = os.path.join(get_artifact_folder(), fname)
2021-12-16 11:50:12 +00:00
if os.path.isfile(fpath):
return fpath
return
2021-12-16 11:50:12 +00:00
def get_artifact_folder():
return os.path.join(os.path.dirname(__file__), "artifacts")
def get_ios_backup_folder():
return os.path.join(os.path.dirname(__file__), "artifacts", "ios_backup")
2022-01-18 15:33:13 +00:00
def get_android_backup_folder():
return os.path.join(os.path.dirname(__file__), "artifacts", "android_backup")
2022-10-11 11:07:24 +00:00
def get_android_androidqf():
return os.path.join(os.path.dirname(__file__), "artifacts", "androidqf")
2022-01-07 16:51:21 +00:00
def get_indicator_file():
2022-01-18 15:33:13 +00:00
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()
target_abs_path = os.path.abspath(path)
for root, subdirs, subfiles in os.walk(target_abs_path):
for fname in subfiles:
file_path = os.path.relpath(os.path.join(root, fname), parent_path)
files.append(file_path)
return files