From 75de8d83ae681042fa04a7d2d3e94723c677eb0a Mon Sep 17 00:00:00 2001 From: JG <67888047+juliagsy@users.noreply.github.com> Date: Wed, 26 Jul 2023 14:04:23 +0800 Subject: [PATCH] fix conftest (#12) --- conftest.py | 25 ++++++------------- .../interactive/polar_to_cartesian_coords.py | 5 ++-- .../target_facing_rotation_matrix.py | 5 ++-- ivy_mech_demos/run_through.py | 6 ++--- ivy_mech_tests/test_ivy_mech_demos.py | 15 +++++------ 5 files changed, 20 insertions(+), 36 deletions(-) diff --git a/conftest.py b/conftest.py index bdffe22..7b262c1 100644 --- a/conftest.py +++ b/conftest.py @@ -1,29 +1,22 @@ # global import pytest -from typing import Dict # local import ivy -from ivy_tests.test_ivy import helpers +import jax - -FW_STRS = ["numpy", "jax", "tensorflow", "torch"] +jax.config.update("jax_enable_x64", True) -TEST_BACKENDS: Dict[str, callable] = { - "numpy": lambda: helpers.globals._get_ivy_numpy(), - "jax": lambda: helpers.globals._get_ivy_jax(), - "tensorflow": lambda: helpers.globals._get_ivy_tensorflow(), - "torch": lambda: helpers.globals._get_ivy_torch(), -} +FW_STRS = ["numpy", "jax", "tensorflow", "torch"] @pytest.fixture(autouse=True) -def run_around_tests(device, f, compile_graph, fw): +def run_around_tests(device, compile_graph, fw): if "gpu" in device and fw == "numpy": # Numpy does not support GPU pytest.skip() - with f.use: + with ivy.utils.backend.ContextManager(fw): with ivy.DefaultDevice(device): yield @@ -39,7 +32,7 @@ def pytest_generate_tests(metafunc): # framework raw_value = metafunc.config.getoption("--backend") if raw_value == "all": - backend_strs = TEST_BACKENDS.keys() + backend_strs = FW_STRS else: backend_strs = raw_value.split(",") @@ -57,10 +50,8 @@ def pytest_generate_tests(metafunc): for backend_str in backend_strs: for device in devices: for compile_graph in compile_modes: - configs.append( - (device, TEST_BACKENDS[backend_str](), compile_graph, backend_str) - ) - metafunc.parametrize("device,f,compile_graph,fw", configs) + configs.append((device, compile_graph, backend_str)) + metafunc.parametrize("device,compile_graph,fw", configs) def pytest_addoption(parser): diff --git a/ivy_mech_demos/interactive/polar_to_cartesian_coords.py b/ivy_mech_demos/interactive/polar_to_cartesian_coords.py index cc64314..1d6e84b 100644 --- a/ivy_mech_demos/interactive/polar_to_cartesian_coords.py +++ b/ivy_mech_demos/interactive/polar_to_cartesian_coords.py @@ -126,7 +126,7 @@ def __init__(self, interactive, try_use_sim): plt.show() -def main(interactive=True, try_use_sim=True, f=None, fw=None): +def main(interactive=True, try_use_sim=True, fw=None): fw = ivy.choose_random_backend() if fw is None else fw ivy.set_backend(fw) sim = Simulator(interactive, try_use_sim) @@ -181,5 +181,4 @@ def main(interactive=True, try_use_sim=True, f=None, fw=None): ) parsed_args = parser.parse_args() fw = parsed_args.backend - f = None if fw is None else ivy.with_backend(backend=fw) - main(not parsed_args.non_interactive, not parsed_args.no_sim, f, fw) + main(not parsed_args.non_interactive, not parsed_args.no_sim, fw) diff --git a/ivy_mech_demos/interactive/target_facing_rotation_matrix.py b/ivy_mech_demos/interactive/target_facing_rotation_matrix.py index 37337a1..eb13104 100644 --- a/ivy_mech_demos/interactive/target_facing_rotation_matrix.py +++ b/ivy_mech_demos/interactive/target_facing_rotation_matrix.py @@ -118,7 +118,7 @@ def __init__(self, interactive, try_use_sim): plt.show() -def main(interactive=True, try_use_sim=True, f=None, fw=None): +def main(interactive=True, try_use_sim=True, fw=None): fw = ivy.choose_random_backend() if fw is None else fw ivy.set_backend(fw) sim = Simulator(interactive, try_use_sim) @@ -157,5 +157,4 @@ def main(interactive=True, try_use_sim=True, f=None, fw=None): ) parsed_args = parser.parse_args() fw = parsed_args.backend() - f = None if fw is None else ivy.with_backend(backend=fw) - main(not parsed_args.non_interactive, not parsed_args.no_sim, f, fw) + main(not parsed_args.non_interactive, not parsed_args.no_sim, fw) diff --git a/ivy_mech_demos/run_through.py b/ivy_mech_demos/run_through.py index a0f932c..623fa10 100644 --- a/ivy_mech_demos/run_through.py +++ b/ivy_mech_demos/run_through.py @@ -4,7 +4,7 @@ import ivy_mech -def main(f=None, fw=None): +def main(fw=None): # Framework Setup # # ----------------# @@ -12,7 +12,6 @@ def main(f=None, fw=None): fw = ivy.choose_random_backend() if fw is None else fw ivy.set_backend(fw) - f = ivy.with_backend(backend=fw) if f is None else f # Orientation # # ------------# @@ -96,5 +95,4 @@ def main(f=None, fw=None): ) parsed_args = parser.parse_args() fw = parsed_args.backend() - f = None if fw is None else ivy.with_backend(backend=fw) - main(f, fw) + main(fw) diff --git a/ivy_mech_tests/test_ivy_mech_demos.py b/ivy_mech_tests/test_ivy_mech_demos.py index 5c9344a..f28a340 100644 --- a/ivy_mech_tests/test_ivy_mech_demos.py +++ b/ivy_mech_tests/test_ivy_mech_demos.py @@ -3,30 +3,27 @@ import pytest -def test_demo_run_through(device, f, fw): +def test_demo_run_through(device, fw): from ivy_mech_demos.run_through import main if fw == "tensorflow_graph": # these particular demos are only implemented in eager mode, without compilation pytest.skip() - main(f=f, fw=fw) + main(fw=fw) @pytest.mark.parametrize("with_sim", [False]) -def test_demo_target_facing_rotation_vector(with_sim, device, f, fw): +def test_demo_target_facing_rotation_vector(with_sim, device, fw): from ivy_mech_demos.interactive.target_facing_rotation_matrix import main if fw == "tensorflow_graph": # these particular demos are only implemented in eager mode, without compilation pytest.skip() - main(False, with_sim, f=f, fw=fw) + main(False, with_sim, fw=fw) @pytest.mark.parametrize("with_sim", [False]) -def test_demo_polar_to_cartesian_coords(with_sim, device, f, fw): +def test_demo_polar_to_cartesian_coords(with_sim, device, fw): from ivy_mech_demos.interactive.polar_to_cartesian_coords import main - if fw == "tensorflow_graph": - # these particular demos are only implemented in eager mode, without compilation - pytest.skip() - main(False, with_sim, f=f, fw=fw) + main(False, with_sim, fw=fw)