Add test cycles feature
Signed-off-by: Andrey Berezin <a.berezin@yadro.com>
This commit is contained in:
parent
eb464f422c
commit
2b950f41cd
3 changed files with 20 additions and 2 deletions
|
@ -8,6 +8,8 @@ SIMPLE_OBJECT_SIZE = os.getenv("SIMPLE_OBJECT_SIZE", "1000")
|
||||||
COMPLEX_OBJECT_CHUNKS_COUNT = os.getenv("COMPLEX_OBJECT_CHUNKS_COUNT", "3")
|
COMPLEX_OBJECT_CHUNKS_COUNT = os.getenv("COMPLEX_OBJECT_CHUNKS_COUNT", "3")
|
||||||
COMPLEX_OBJECT_TAIL_SIZE = os.getenv("COMPLEX_OBJECT_TAIL_SIZE", "1000")
|
COMPLEX_OBJECT_TAIL_SIZE = os.getenv("COMPLEX_OBJECT_TAIL_SIZE", "1000")
|
||||||
|
|
||||||
|
TEST_CYCLES_COUNT = int(os.getenv("TEST_CYCLES_COUNT", "1"))
|
||||||
|
|
||||||
MAINNET_BLOCK_TIME = os.getenv("MAINNET_BLOCK_TIME", "1s")
|
MAINNET_BLOCK_TIME = os.getenv("MAINNET_BLOCK_TIME", "1s")
|
||||||
MAINNET_TIMEOUT = os.getenv("MAINNET_TIMEOUT", "1min")
|
MAINNET_TIMEOUT = os.getenv("MAINNET_TIMEOUT", "1min")
|
||||||
MORPH_BLOCK_TIME = os.getenv("MORPH_BLOCK_TIME", "1s")
|
MORPH_BLOCK_TIME = os.getenv("MORPH_BLOCK_TIME", "1s")
|
||||||
|
|
|
@ -27,6 +27,7 @@ from pytest_tests.resources.common import (
|
||||||
HOSTING_CONFIG_FILE,
|
HOSTING_CONFIG_FILE,
|
||||||
SIMPLE_OBJECT_SIZE,
|
SIMPLE_OBJECT_SIZE,
|
||||||
STORAGE_NODE_SERVICE_NAME_REGEX,
|
STORAGE_NODE_SERVICE_NAME_REGEX,
|
||||||
|
TEST_CYCLES_COUNT,
|
||||||
WALLET_PASS,
|
WALLET_PASS,
|
||||||
)
|
)
|
||||||
from pytest_tests.resources.load_params import (
|
from pytest_tests.resources.load_params import (
|
||||||
|
@ -51,7 +52,7 @@ def pytest_configure(config: pytest.Config):
|
||||||
|
|
||||||
|
|
||||||
# pytest hook. Do not rename
|
# pytest hook. Do not rename
|
||||||
def pytest_collection_modifyitems(items):
|
def pytest_collection_modifyitems(items: list[pytest.Item]):
|
||||||
# Make network tests last based on @pytest.mark.node_mgmt and logs_test to be latest
|
# Make network tests last based on @pytest.mark.node_mgmt and logs_test to be latest
|
||||||
def priority(item: pytest.Item) -> int:
|
def priority(item: pytest.Item) -> int:
|
||||||
is_node_mgmt_test = 1 if item.get_closest_marker("node_mgmt") else 0
|
is_node_mgmt_test = 1 if item.get_closest_marker("node_mgmt") else 0
|
||||||
|
@ -61,6 +62,22 @@ def pytest_collection_modifyitems(items):
|
||||||
items.sort(key=lambda item: priority(item))
|
items.sort(key=lambda item: priority(item))
|
||||||
|
|
||||||
|
|
||||||
|
def pytest_generate_tests(metafunc: pytest.Metafunc):
|
||||||
|
if (
|
||||||
|
TEST_CYCLES_COUNT <= 1
|
||||||
|
or metafunc.definition.get_closest_marker("logs_after_session")
|
||||||
|
or metafunc.definition.get_closest_marker("no_cycles")
|
||||||
|
):
|
||||||
|
return
|
||||||
|
|
||||||
|
metafunc.fixturenames.append("cycle")
|
||||||
|
metafunc.parametrize(
|
||||||
|
"cycle",
|
||||||
|
range(1, TEST_CYCLES_COUNT + 1),
|
||||||
|
ids=[f"cycle {cycle}" for cycle in range(1, TEST_CYCLES_COUNT + 1)],
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="session")
|
@pytest.fixture(scope="session")
|
||||||
def configure_testlib():
|
def configure_testlib():
|
||||||
get_reporter().register_handler(AllureHandler())
|
get_reporter().register_handler(AllureHandler())
|
||||||
|
|
|
@ -18,7 +18,6 @@ from pytest_tests.steps.cluster_test_base import ClusterTestBase
|
||||||
|
|
||||||
@pytest.mark.container
|
@pytest.mark.container
|
||||||
@pytest.mark.sanity
|
@pytest.mark.sanity
|
||||||
@pytest.mark.container
|
|
||||||
class TestContainer(ClusterTestBase):
|
class TestContainer(ClusterTestBase):
|
||||||
@pytest.mark.parametrize("name", ["", "test-container"], ids=["No name", "Set particular name"])
|
@pytest.mark.parametrize("name", ["", "test-container"], ids=["No name", "Set particular name"])
|
||||||
@pytest.mark.smoke
|
@pytest.mark.smoke
|
||||||
|
|
Loading…
Reference in a new issue