Skip to content

Commit d21baaf

Browse files
authored
Fix invalid temp_dir inside unit tests (#1937)
1 parent da38bfe commit d21baaf

File tree

2 files changed

+55
-54
lines changed

2 files changed

+55
-54
lines changed

tests/unit/algorithms/action/adapters/mmaction/utils/test_action_config_utils.py

Lines changed: 22 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -43,29 +43,28 @@ def test_patch_config() -> None:
4343
"""
4444

4545
cls_datapipeline_path = "otx/algorithms/action/configs/classification/x3d/data_pipeline.py"
46-
work_dir = str(tempfile.TemporaryDirectory("OTX-tempdir9104"))
47-
48-
with pytest.raises(NotImplementedError):
49-
patch_config(CLS_CONFIG, cls_datapipeline_path, work_dir, TaskType.CLASSIFICATION)
50-
51-
patch_config(CLS_CONFIG, cls_datapipeline_path, work_dir, TaskType.ACTION_CLASSIFICATION)
52-
assert CLS_CONFIG.work_dir == work_dir
53-
assert CLS_CONFIG.get("train_pipeline", None)
54-
for subset in ("train", "val", "test", "unlabeled"):
55-
cfg = CLS_CONFIG.data.get(subset, None)
56-
if not cfg:
57-
continue
58-
assert cfg.type == "OTXActionClsDataset"
59-
60-
det_datapipeline_path = "otx/algorithms/action/configs/detection/x3d_fast_rcnn/data_pipeline.py"
61-
patch_config(DET_CONFIG, det_datapipeline_path, work_dir, TaskType.ACTION_DETECTION)
62-
assert DET_CONFIG.work_dir == work_dir
63-
assert DET_CONFIG.get("train_pipeline", None)
64-
for subset in ("train", "val", "test", "unlabeled"):
65-
cfg = DET_CONFIG.data.get(subset, None)
66-
if not cfg:
67-
continue
68-
assert cfg.type == "OTXActionDetDataset"
46+
with tempfile.TemporaryDirectory() as work_dir:
47+
with pytest.raises(NotImplementedError):
48+
patch_config(CLS_CONFIG, cls_datapipeline_path, work_dir, TaskType.CLASSIFICATION)
49+
50+
patch_config(CLS_CONFIG, cls_datapipeline_path, work_dir, TaskType.ACTION_CLASSIFICATION)
51+
assert CLS_CONFIG.work_dir == work_dir
52+
assert CLS_CONFIG.get("train_pipeline", None)
53+
for subset in ("train", "val", "test", "unlabeled"):
54+
cfg = CLS_CONFIG.data.get(subset, None)
55+
if not cfg:
56+
continue
57+
assert cfg.type == "OTXActionClsDataset"
58+
59+
det_datapipeline_path = "otx/algorithms/action/configs/detection/x3d_fast_rcnn/data_pipeline.py"
60+
patch_config(DET_CONFIG, det_datapipeline_path, work_dir, TaskType.ACTION_DETECTION)
61+
assert DET_CONFIG.work_dir == work_dir
62+
assert DET_CONFIG.get("train_pipeline", None)
63+
for subset in ("train", "val", "test", "unlabeled"):
64+
cfg = DET_CONFIG.data.get(subset, None)
65+
if not cfg:
66+
continue
67+
assert cfg.type == "OTXActionDetDataset"
6968

7069

7170
@e2e_pytest_unit

tests/unit/algorithms/action/utils/test_action_convert_public_data_to_cvat.py

Lines changed: 33 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
# Copyright (C) 2023 Intel Corporation
44
# SPDX-License-Identifier: Apache-2.0
55
#
6+
import tempfile
7+
68
import numpy as np
79
import pytest
810

@@ -95,48 +97,48 @@ def test_convert_action_cls_dataset_to_datumaro(mocker) -> None:
9597
"""Test convert_jester_dataset_to_datumaro function."""
9698

9799
src_path = "dummy_src_path"
98-
dst_path = "dummy_dst_path"
99100
ann_file = "dummy_ann_file"
100101

101-
mocker.patch("otx.algorithms.action.utils.convert_public_data_to_cvat.open", return_value=MockFileObject())
102-
mocker.patch("otx.algorithms.action.utils.convert_public_data_to_cvat.pathlib.Path.mkdir", return_value=True)
103-
# mocker.patch("otx.algorithms.action.utils.convert_public_data_to_cvat.os.makedirs", return_value=True)
104-
mocker.patch("otx.algorithms.action.utils.convert_public_data_to_cvat.shutil.copy", return_value=True)
105-
mocker.patch(
106-
"otx.algorithms.action.utils.convert_public_data_to_cvat.generate_default_cvat_xml_fields",
107-
return_value=([], (256, 256, 3), []),
108-
)
109-
mocker.patch(
110-
"otx.algorithms.action.utils.convert_public_data_to_cvat.os.listdir", return_value=(["frame0", "frame1"])
111-
)
112-
mocker.patch(
113-
"otx.algorithms.action.utils.convert_public_data_to_cvat.etree.ElementTree", return_value=MockElementTree()
114-
)
115-
convert_action_cls_dataset_to_datumaro(src_path, dst_path, ann_file)
102+
with tempfile.TemporaryDirectory() as dst_path:
103+
mocker.patch("otx.algorithms.action.utils.convert_public_data_to_cvat.open", return_value=MockFileObject())
104+
mocker.patch("otx.algorithms.action.utils.convert_public_data_to_cvat.pathlib.Path.mkdir", return_value=True)
105+
# mocker.patch("otx.algorithms.action.utils.convert_public_data_to_cvat.os.makedirs", return_value=True)
106+
mocker.patch("otx.algorithms.action.utils.convert_public_data_to_cvat.shutil.copy", return_value=True)
107+
mocker.patch(
108+
"otx.algorithms.action.utils.convert_public_data_to_cvat.generate_default_cvat_xml_fields",
109+
return_value=([], (256, 256, 3), []),
110+
)
111+
mocker.patch(
112+
"otx.algorithms.action.utils.convert_public_data_to_cvat.os.listdir", return_value=(["frame0", "frame1"])
113+
)
114+
mocker.patch(
115+
"otx.algorithms.action.utils.convert_public_data_to_cvat.etree.ElementTree", return_value=MockElementTree()
116+
)
117+
convert_action_cls_dataset_to_datumaro(src_path, dst_path, ann_file)
116118

117119

118120
@e2e_pytest_unit
119121
def test_convert_ava_dataset_to_datumaro(mocker) -> None:
120122
"""Test convert_ava_dataset_to_datumaro function."""
121123

122124
src_path = "dummy_src_path"
123-
dst_path = "dummy_dst_path"
124125
ann_file = "dummy_ann_file"
125126

126-
mocker.patch(
127-
"otx.algorithms.action.utils.convert_public_data_to_cvat.read_ava_csv",
128-
return_value={"video_0": {"frame_idx": [[0, 0, 1, 1, "action"]]}},
129-
)
130-
mocker.patch("otx.algorithms.action.utils.convert_public_data_to_cvat.os.listdir", return_value=["video_0"])
131-
mocker.patch("otx.algorithms.action.utils.convert_public_data_to_cvat.shutil.copytree", return_value=True)
132-
mocker.patch(
133-
"otx.algorithms.action.utils.convert_public_data_to_cvat.generate_default_cvat_xml_fields",
134-
return_value=([], (256, 256, 3), []),
135-
)
136-
mocker.patch(
137-
"otx.algorithms.action.utils.convert_public_data_to_cvat.etree.ElementTree", return_value=MockElementTree()
138-
)
139-
convert_ava_dataset_to_datumaro(src_path, dst_path, ann_file)
127+
with tempfile.TemporaryDirectory() as dst_path:
128+
mocker.patch(
129+
"otx.algorithms.action.utils.convert_public_data_to_cvat.read_ava_csv",
130+
return_value={"video_0": {"frame_idx": [[0, 0, 1, 1, "action"]]}},
131+
)
132+
mocker.patch("otx.algorithms.action.utils.convert_public_data_to_cvat.os.listdir", return_value=["video_0"])
133+
mocker.patch("otx.algorithms.action.utils.convert_public_data_to_cvat.shutil.copytree", return_value=True)
134+
mocker.patch(
135+
"otx.algorithms.action.utils.convert_public_data_to_cvat.generate_default_cvat_xml_fields",
136+
return_value=([], (256, 256, 3), []),
137+
)
138+
mocker.patch(
139+
"otx.algorithms.action.utils.convert_public_data_to_cvat.etree.ElementTree", return_value=MockElementTree()
140+
)
141+
convert_ava_dataset_to_datumaro(src_path, dst_path, ann_file)
140142

141143

142144
@e2e_pytest_unit

0 commit comments

Comments
 (0)