Files
rust-vmm-ci/integration_tests/conftest.py
Jonathan Woollett-Light 56bfdc97bb test: Format with black
Signed-off-by: Jonathan Woollett-Light <jcawl@amazon.co.uk>
2023-06-16 11:46:25 +01:00

60 lines
1.5 KiB
Python

# Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
import pytest
PROFILE_CI = "ci"
PROFILE_DEVEL = "devel"
WORKSPACE = "workspace"
CRATE = "crate"
def pytest_addoption(parser):
parser.addoption(
"--profile",
default=PROFILE_CI,
choices=[PROFILE_CI, PROFILE_DEVEL],
help="Profile for running the test: {} or {}".format(PROFILE_CI, PROFILE_DEVEL),
)
parser.addoption(
"--no-cleanup",
action="store_true",
default=False,
help="Keep the coverage report in `kcov_output` directory. If this "
"flag is not provided, both coverage related directories are "
"removed.",
)
parser.addoption(
"--test-scope",
default=WORKSPACE,
choices=[WORKSPACE, CRATE],
help="Defines the scope of running tests: {} or {}".format(WORKSPACE, CRATE),
)
@pytest.fixture
def profile(request):
return request.config.getoption("--profile")
@pytest.fixture
def no_cleanup(request):
return request.config.getoption("--no-cleanup")
@pytest.fixture
def test_scope(request):
return request.config.getoption("--test-scope")
# This is used for defining global variables in pytest.
def pytest_configure():
# These constants are needed in tests, so this is the way that we can
# export them.
pytest.profile_ci = PROFILE_CI
pytest.profile_devel = PROFILE_DEVEL
pytest.workspace = WORKSPACE
pytest.crate = CRATE