mirror of
https://github.com/volatilityfoundation/volatility3.git
synced 2026-08-20 13:42:23 +02:00
41 lines
1.3 KiB
Python
41 lines
1.3 KiB
Python
# This file is used to augment the test configuration
|
|
|
|
import os
|
|
import pytest
|
|
|
|
def pytest_addoption(parser):
|
|
parser.addoption("--volatility", action="store", default=None,
|
|
required=True,
|
|
help="path to the volatility script")
|
|
|
|
parser.addoption("--python", action="store", default="python3",
|
|
help="The name of the interpreter to use when running the volatility script")
|
|
|
|
parser.addoption("--image", action="append", default=[],
|
|
help="path to an image to test")
|
|
|
|
parser.addoption("--image-dir", action="append", default=[],
|
|
help="path to a directory containing images to test")
|
|
|
|
def pytest_generate_tests(metafunc):
|
|
"""Parameterize tests based on image names"""
|
|
|
|
images = metafunc.config.getoption('image')
|
|
for image_dir in metafunc.config.getoption('image_dir'):
|
|
images = images + [os.path.join(image_dir, dir) for dir in os.listdir(image_dir)]
|
|
|
|
# tests with "image" parameter are run against images
|
|
if 'image' in metafunc.fixturenames:
|
|
metafunc.parametrize("image",
|
|
images,
|
|
ids=[os.path.basename(image) for image in images])
|
|
|
|
# Fixtures
|
|
@pytest.fixture
|
|
def volatility(request):
|
|
return request.config.getoption("--volatility")
|
|
|
|
@pytest.fixture
|
|
def python(request):
|
|
return request.config.getoption("--python")
|