[PyOV] Add function which create unique names for test files (#13929)

This commit is contained in:
Anastasia Kuporosova
2022-11-10 15:04:25 +01:00
committed by GitHub
parent d6fe686237
commit 0942c6617b
11 changed files with 73 additions and 58 deletions

View File

@@ -15,6 +15,7 @@ from openvino.runtime.passes import Manager
from tests.test_graph.util import count_ops_of_type
from openvino.runtime import Core
from tests.test_utils.test_utils import create_filename_for_test
def test_constant_folding():
node_constant = ov.constant(np.array([[0.0, 0.1, -0.1], [-2.5, 2.5, 3.0]], dtype=np.float32))
@@ -38,10 +39,10 @@ def test_constant_folding():
assert np.allclose(values_out, values_expected)
def test_serialize_seperate_paths_kwargs():
# request - https://docs.pytest.org/en/7.1.x/reference/reference.html#request
def test_serialize_seperate_paths_kwargs(request):
core = Core()
xml_path = "serialized_function.xml"
bin_path = "serialized_function.bin"
xml_path, bin_path = create_filename_for_test(request.node.name)
shape = [2, 2]
parameter_a = ov.parameter(shape, dtype=np.float32, name="A")
parameter_b = ov.parameter(shape, dtype=np.float32, name="B")
@@ -61,10 +62,11 @@ def test_serialize_seperate_paths_kwargs():
os.remove(xml_path)
os.remove(bin_path)
def test_serialize_seperate_paths_args():
# request - https://docs.pytest.org/en/7.1.x/reference/reference.html#request
def test_serialize_seperate_paths_args(request):
core = Core()
xml_path = "serialized_function.xml"
bin_path = "serialized_function.bin"
xml_path, bin_path = create_filename_for_test(request.node.name)
shape = [2, 2]
parameter_a = ov.parameter(shape, dtype=np.float32, name="A")
parameter_b = ov.parameter(shape, dtype=np.float32, name="B")
@@ -86,10 +88,10 @@ def test_serialize_seperate_paths_args():
os.remove(bin_path)
def test_serialize_pass_mixed_args_kwargs():
# request - https://docs.pytest.org/en/7.1.x/reference/reference.html#request
def test_serialize_pass_mixed_args_kwargs(request):
core = Core()
xml_path = "serialized_function.xml"
bin_path = "serialized_function.bin"
xml_path, bin_path = create_filename_for_test(request.node.name)
shape = [3, 2]
parameter_a = ov.parameter(shape, dtype=np.float32, name="A")
parameter_b = ov.parameter(shape, dtype=np.float32, name="B")
@@ -109,10 +111,10 @@ def test_serialize_pass_mixed_args_kwargs():
os.remove(bin_path)
def test_serialize_pass_mixed_args_kwargs_v2():
# request - https://docs.pytest.org/en/7.1.x/reference/reference.html#request
def test_serialize_pass_mixed_args_kwargs_v2(request):
core = Core()
xml_path = "./serialized_function.xml"
bin_path = "./serialized_function.bin"
xml_path, bin_path = create_filename_for_test(request.node.name)
shape = [100, 100, 2]
parameter_a = ov.parameter(shape, dtype=np.float32, name="A")
parameter_b = ov.parameter(shape, dtype=np.float32, name="B")
@@ -133,9 +135,9 @@ def test_serialize_pass_mixed_args_kwargs_v2():
os.remove(bin_path)
def test_serialize_pass_wrong_num_of_args():
xml_path = "serialized_function.xml"
bin_path = "serialized_function.bin"
# request - https://docs.pytest.org/en/7.1.x/reference/reference.html#request
def test_serialize_pass_wrong_num_of_args(request):
xml_path, bin_path = create_filename_for_test(request.node.name)
pass_manager = Manager()
with pytest.raises(TypeError) as e:
@@ -143,14 +145,14 @@ def test_serialize_pass_wrong_num_of_args():
assert "Invoked with:" in str(e.value)
def test_serialize_results():
# request - https://docs.pytest.org/en/7.1.x/reference/reference.html#request
def test_serialize_results(request):
core = Core()
node_constant = ov.constant(np.array([[0.0, 0.1, -0.1], [-2.5, 2.5, 3.0]], dtype=np.float32))
node_ceil = ov.ceiling(node_constant)
func = Model(node_ceil, [], "Model")
xml_path = "serialized_function.xml"
bin_path = "serialized_function.bin"
xml_path, bin_path = create_filename_for_test(request.node.name)
pass_manager = Manager()
pass_manager.register_pass("Serialize", xml_path=xml_path, bin_path=bin_path)
pass_manager.run_passes(func)
@@ -165,10 +167,10 @@ def test_serialize_results():
os.remove(bin_path)
def test_serialize_pass_tuple():
# request - https://docs.pytest.org/en/7.1.x/reference/reference.html#request
def test_serialize_pass_tuple(request):
core = Core()
xml_path = "./serialized_function.xml"
bin_path = "./serialized_function.bin"
xml_path, bin_path = create_filename_for_test(request.node.name)
shape = [100, 100, 2]
parameter_a = ov.parameter(shape, dtype=np.float32, name="A")
parameter_b = ov.parameter(shape, dtype=np.float32, name="B")
@@ -189,10 +191,10 @@ def test_serialize_pass_tuple():
os.remove(bin_path)
def test_default_version():
# request - https://docs.pytest.org/en/7.1.x/reference/reference.html#request
def test_default_version(request):
core = Core()
xml_path = "./serialized_function.xml"
bin_path = "./serialized_function.bin"
xml_path, bin_path = create_filename_for_test(request.node.name)
shape = [100, 100, 2]
parameter_a = ov.parameter(shape, dtype=np.float32, name="A")
parameter_b = ov.parameter(shape, dtype=np.float32, name="B")
@@ -213,10 +215,10 @@ def test_default_version():
os.remove(bin_path)
def test_default_version_IR_V11_tuple():
# request - https://docs.pytest.org/en/7.1.x/reference/reference.html#request
def test_default_version_IR_V11_tuple(request):
core = Core()
xml_path = "./serialized_function.xml"
bin_path = "./serialized_function.bin"
xml_path, bin_path = create_filename_for_test(request.node.name)
shape = [100, 100, 2]
parameter_a = ov.parameter(shape, dtype=np.float32, name="A")
parameter_b = ov.parameter(shape, dtype=np.float32, name="B")
@@ -237,10 +239,10 @@ def test_default_version_IR_V11_tuple():
os.remove(bin_path)
def test_default_version_IR_V11_seperate_paths():
# request - https://docs.pytest.org/en/7.1.x/reference/reference.html#request
def test_default_version_IR_V11_seperate_paths(request):
core = Core()
xml_path = "./serialized_function.xml"
bin_path = "./serialized_function.bin"
xml_path, bin_path = create_filename_for_test(request.node.name)
shape = [100, 100, 2]
parameter_a = ov.parameter(shape, dtype=np.float32, name="A")
parameter_b = ov.parameter(shape, dtype=np.float32, name="B")

View File

@@ -22,7 +22,7 @@ from openvino.runtime import (
serialize,
)
from ..test_utils.test_utils import generate_add_model # TODO: reformat into an absolute path
from tests.test_utils.test_utils import generate_add_model, create_filename_for_test # TODO: reformat into an absolute path
def test_test_descriptor_tensor():
@@ -452,7 +452,8 @@ def test_reshape_with_python_types(device):
)
def test_serialize_rt_info():
# request - https://docs.pytest.org/en/7.1.x/reference/reference.html#request
def test_serialize_rt_info(request):
version = "TestVersion"
config = "TestConfig"
framework_batch = "1"
@@ -473,8 +474,7 @@ def test_serialize_rt_info():
assert model.get_rt_info(["optimization", "test"])
core = Core()
xml_path = "./serialized_model.xml"
bin_path = "./serialized_model.bin"
xml_path, bin_path = create_filename_for_test(request.node.name)
input_shape = PartialShape([1])
param = ops.parameter(input_shape, dtype=np.float32, name="data")
relu1 = ops.relu(param, name="relu1")

View File

@@ -0,0 +1,3 @@
# -*- coding: utf-8 -*-
# Copyright (C) 2018-2022 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

View File

@@ -4,7 +4,7 @@
from openvino.runtime import opset8
from openvino.runtime.passes import Manager, GraphRewrite, MatcherPass, WrapType, Matcher
from utils.utils import count_ops, get_test_model, PatternReplacement
from tests.test_transformations.utils.utils import count_ops, get_test_model, PatternReplacement
def test_graph_rewrite():

View File

@@ -3,7 +3,7 @@
# SPDX-License-Identifier: Apache-2.0
from openvino.runtime.passes import Manager, GraphRewrite, BackwardGraphRewrite, Serialize
from utils.utils import MyModelPass, PatternReplacement, expect_exception
from tests.test_transformations.utils.utils import MyModelPass, PatternReplacement, expect_exception
def test_registration_and_pass_name():

View File

@@ -5,7 +5,7 @@ from openvino.runtime import opset8
from openvino.runtime.passes import Manager, Matcher, MatcherPass, WrapType
from openvino.runtime.utils import replace_node
from utils.utils import count_ops, get_test_model, PatternReplacement
from tests.test_transformations.utils.utils import count_ops, get_test_model, PatternReplacement
def test_simple_pattern_replacement():

View File

@@ -3,7 +3,7 @@
# SPDX-License-Identifier: Apache-2.0
from openvino.runtime.passes import Manager
from utils.utils import get_test_model, MyModelPass
from tests.test_transformations.utils.utils import get_test_model, MyModelPass
def test_model_pass():

View File

@@ -19,6 +19,8 @@ from openvino.offline_transformations import (
from openvino.runtime import Model, PartialShape, Core
import openvino.runtime as ov
from tests.test_utils.test_utils import create_filename_for_test
def get_test_model():
param = ov.opset8.parameter(PartialShape([1, 3, 22, 22]), name="parameter")
@@ -154,10 +156,10 @@ def test_fused_names_cleanup():
assert len(node.get_rt_info()) == 0
def test_serialize_pass_v2():
# request - https://docs.pytest.org/en/7.1.x/reference/reference.html#request
def test_serialize_pass_v2(request):
core = Core()
xml_path = "./serialized_model.xml"
bin_path = "./serialized_model.bin"
xml_path, bin_path = create_filename_for_test(request.node.name)
shape = [100, 100, 2]
parameter_a = ov.opset8.parameter(shape, dtype=np.float32, name="A")
parameter_b = ov.opset8.parameter(shape, dtype=np.float32, name="B")
@@ -190,10 +192,10 @@ def test_compress_model_transformation():
assert elem_type == "f16"
def test_version_default():
# request - https://docs.pytest.org/en/7.1.x/reference/reference.html#request
def test_version_default(request):
core = Core()
xml_path = "./serialized_model.xml"
bin_path = "./serialized_model.bin"
xml_path, bin_path = create_filename_for_test(request.node.name)
shape = [100, 100, 2]
parameter_a = ov.opset8.parameter(shape, dtype=np.float32, name="A")
parameter_b = ov.opset8.parameter(shape, dtype=np.float32, name="B")
@@ -210,9 +212,9 @@ def test_version_default():
os.remove(bin_path)
def test_serialize_default_bin():
xml_path = "./serialized_model.xml"
bin_path = "./serialized_model.bin"
# request - https://docs.pytest.org/en/7.1.x/reference/reference.html#request
def test_serialize_default_bin(request):
xml_path, bin_path = create_filename_for_test(request.node.name)
model = get_test_model()
serialize(model, xml_path)
assert os.path.exists(bin_path)
@@ -220,10 +222,10 @@ def test_serialize_default_bin():
os.remove(bin_path)
def test_version_ir_v10():
# request - https://docs.pytest.org/en/7.1.x/reference/reference.html#request
def test_version_ir_v10(request):
core = Core()
xml_path = "./serialized_model.xml"
bin_path = "./serialized_model.bin"
xml_path, bin_path = create_filename_for_test(request.node.name)
shape = [100, 100, 2]
parameter_a = ov.opset8.parameter(shape, dtype=np.float32, name="A")
parameter_b = ov.opset8.parameter(shape, dtype=np.float32, name="B")
@@ -240,10 +242,10 @@ def test_version_ir_v10():
os.remove(bin_path)
def test_version_ir_v11():
# request - https://docs.pytest.org/en/7.1.x/reference/reference.html#request
def test_version_ir_v11(request):
core = Core()
xml_path = "./serialized_model.xml"
bin_path = "./serialized_model.bin"
xml_path, bin_path = create_filename_for_test(request.node.name)
shape = [100, 100, 2]
parameter_a = ov.opset8.parameter(shape, dtype=np.float32, name="A")
parameter_b = ov.opset8.parameter(shape, dtype=np.float32, name="B")

View File

@@ -16,7 +16,7 @@ from openvino.runtime.passes import (
)
from openvino.runtime.utils.types import get_element_type
from utils.utils import expect_exception
from tests.test_transformations.utils.utils import expect_exception
def test_wrap_type_pattern_type():

View File

@@ -15,7 +15,8 @@ from openvino.runtime.passes import (
LowLatency2,
Serialize,
)
from utils.utils import count_ops, get_test_model
from tests.test_transformations.utils.utils import count_ops, get_test_model
from tests.test_utils.test_utils import create_filename_for_test
def get_model():
@@ -102,10 +103,10 @@ def test_low_latency2():
assert count_ops(model, "TensorIterator") == [1]
def test_serialize_pass():
# request - https://docs.pytest.org/en/7.1.x/reference/reference.html#request
def test_serialize_pass(request):
core = Core()
xml_path = "serialized_function.xml"
bin_path = "serialized_function.bin"
xml_path, bin_path = create_filename_for_test(request.node.name)
func = get_test_model()

View File

@@ -4,6 +4,7 @@
from typing import Tuple, Union, List
import sys
import numpy as np
import openvino
import openvino.runtime.opset8 as ops
@@ -79,3 +80,9 @@ def test_deprecation_decorator():
deprecated_function3()
with pytest.warns(DeprecationWarning, match="deprecated_function4 is deprecated and will be removed in version 2025.4. Use another function instead"):
deprecated_function4()
def create_filename_for_test(test_name):
python_version = str(sys.version_info.major) + "." + str(sys.version_info.minor)
filename = "./" + test_name.replace("test_", "") + "_" + python_version
return (filename + ".xml", filename + ".bin")