Propagate testing platform updates to 0.40 #314
3 changed files with 19 additions and 1 deletions
|
@ -1,3 +1,4 @@
|
|||
__version__ = "2.0.1"
|
||||
|
||||
from .fixtures import configure_testlib, hosting, temp_directory
|
||||
from .hooks import pytest_collection_modifyitems
|
||||
|
|
13
src/frostfs_testlib/hooks.py
Normal file
13
src/frostfs_testlib/hooks.py
Normal file
|
@ -0,0 +1,13 @@
|
|||
import pytest
|
||||
|
||||
|
||||
@pytest.hookimpl
|
||||
def pytest_collection_modifyitems(items: list[pytest.Item]):
|
||||
# All tests which reside in frostfs nodeid are granted with frostfs marker, excluding
|
||||
# nodeid = full path of the test
|
||||
# 1. plugins
|
||||
# 2. testlib itself
|
||||
for item in items:
|
||||
location = item.location[0]
|
||||
if "frostfs" in location and "plugin" not in location and "testlib" not in location:
|
||||
item.add_marker("frostfs")
|
|
@ -1,3 +1,4 @@
|
|||
import itertools
|
||||
import random
|
||||
import re
|
||||
import string
|
||||
|
@ -7,6 +8,9 @@ ONLY_ASCII_LETTERS = string.ascii_letters
|
|||
DIGITS_AND_ASCII_LETTERS = string.ascii_letters + string.digits
|
||||
NON_DIGITS_AND_LETTERS = string.punctuation
|
||||
|
||||
# if unique_name is called multiple times within the same microsecond, append 0-4 to the name so it surely unique
|
||||
FUSE = itertools.cycle(range(5))
|
||||
|
||||
|
||||
def unique_name(prefix: str = "", postfix: str = ""):
|
||||
"""
|
||||
|
@ -18,7 +22,7 @@ def unique_name(prefix: str = "", postfix: str = ""):
|
|||
Returns:
|
||||
unique name string
|
||||
"""
|
||||
return f"{prefix}{hex(int(datetime.now().timestamp() * 1000000))}{postfix}"
|
||||
return f"{prefix}{hex(int(datetime.now().timestamp() * 1000000))}{next(FUSE)}{postfix}"
|
||||
|
||||
|
||||
def random_string(length: int = 5, source: str = ONLY_ASCII_LETTERS):
|
||||
|
|
Loading…
Reference in a new issue