Refactoring

Move DVC fixture into data fixture module
This commit is contained in:
Matthias Bisping 2023-02-15 10:42:01 +01:00
parent f12ef4b8ed
commit 0f6e87b8a6
7 changed files with 26 additions and 14 deletions

View File

@ -7,6 +7,7 @@ PACKAGE_ROOT_PATH = MODULE_PATH.parents[0]
REPO_ROOT_PATH = PACKAGE_ROOT_PATH
TEST_DIR_PATH = REPO_ROOT_PATH / "test"
TEST_DATA_DVC = TEST_DIR_PATH / "test_data.dvc" # TODO: remove once new tests are in place
TEST_DATA_DIR = TEST_DIR_PATH / "data"
TEST_PAGE_TEXTURES_DIR = TEST_DATA_DIR / "paper"
TEST_DATA_DIR_DVC = TEST_DIR_PATH / "data.dvc"
TEST_DATA_SYNTHESIS_DIR = TEST_DATA_DIR / "synthesis"
TEST_PAGE_TEXTURES_DIR = TEST_DATA_SYNTHESIS_DIR / "paper"

View File

@ -130,9 +130,10 @@ class RandomPlot(RandomContentRectangle):
def generate_random_heat_map(self, rectangle: Rectangle):
n = random.randint(3, 7)
x = np.random.uniform(size=(n, n))
m = random.randint(3, 7)
x = np.random.uniform(size=(n, m))
heat_map_fn = lambda x, y: plt.imshow(x, interpolation="nearest")
ax, fig = self.__generate_random_plot(
self.__generate_random_plot(
heat_map_fn,
rectangle,
x,

1
test/.gitignore vendored
View File

@ -1 +1,2 @@
/test_data
/data

View File

@ -5,6 +5,7 @@ warnings.filterwarnings("ignore", category=DeprecationWarning)
pytest_plugins = [
"test.fixtures.table_parsing",
"test.fixtures.figure_detection",
"test.fixtures.data",
"test.fixtures.page_generation.page",
]

5
test/data.dvc Normal file
View File

@ -0,0 +1,5 @@
outs:
- md5: 4e22cc1a7655987683215d4a4677d645.dir
size: 25117769
nfiles: 6
path: data

13
test/fixtures/data.py vendored Normal file
View File

@ -0,0 +1,13 @@
import pytest
from dvc.repo import Repo
from loguru import logger
from cv_analysis.locations import REPO_ROOT_PATH, TEST_DATA_DIR_DVC
@pytest.fixture(scope="session")
def dvc_test_data():
# noinspection PyCallingNonCallable
logger.info("Pulling data with DVC...")
Repo(REPO_ROOT_PATH).pull(targets=[str(TEST_DATA_DIR_DVC)])
logger.info("Finished pulling data.")

View File

@ -3,12 +3,10 @@ from os.path import join
import cv2
import pytest
from dvc.repo import Repo
from funcy import first
from loguru import logger
from cv_analysis.config import get_config
from cv_analysis.locations import REPO_ROOT_PATH, TEST_DATA_DVC
from cv_analysis.utils.drawing import draw_rectangles
from cv_analysis.utils.input import open_analysis_input_file
from test.fixtures.figure_detection import paste_text
@ -22,14 +20,6 @@ def client_page_with_table(test_file_index, dvc_test_data):
return first(open_analysis_input_file(img_path))
@pytest.fixture(scope="session")
def dvc_test_data():
# noinspection PyCallingNonCallable
logger.info("Pulling data with DVC...")
Repo(REPO_ROOT_PATH).pull(targets=[str(TEST_DATA_DVC)])
logger.info("Finished pulling data.")
@pytest.fixture
def expected_table_annotation(test_file_index):
json_path = join(CV_CONFIG.test_data_dir, f"test{test_file_index}.json")