From 455116466b972a208b72d32f33d30ea4299ba148 Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Mon, 21 Oct 2024 11:25:28 +0200 Subject: [PATCH 1/2] Fix running tests out of a installed mujoco python package --- python/mujoco/specs_test.py | 9 +- python/mujoco/testdata/model.xml | 178 +++++++++++++++++++++++++++++++ 2 files changed, 183 insertions(+), 4 deletions(-) create mode 100644 python/mujoco/testdata/model.xml diff --git a/python/mujoco/specs_test.py b/python/mujoco/specs_test.py index 84f10995..96f3d2fd 100644 --- a/python/mujoco/specs_test.py +++ b/python/mujoco/specs_test.py @@ -18,6 +18,7 @@ import inspect import textwrap from absl.testing import absltest +from etils import epath import mujoco import numpy as np @@ -433,10 +434,11 @@ class SpecsTest(absltest.TestCase): ) def test_load_xml(self): - filename = '../../test/testdata/model.xml' state_type = mujoco.mjtState.mjSTATE_INTEGRATION # Load from file. + file_path = epath.resource_path("mujoco") / "testdata" / "model.xml" + filename = file_path.as_posix() spec1 = mujoco.MjSpec.from_file(filename) model1 = spec1.compile() data1 = mujoco.MjData(model1) @@ -692,9 +694,8 @@ class SpecsTest(absltest.TestCase): mujoco.mjtGeom.mjGEOM_BOX) def test_delete(self): - filename = '../../test/testdata/model.xml' - - spec = mujoco.MjSpec.from_file(filename) + file_path = epath.resource_path("mujoco") / "testdata" / "model.xml" + spec = mujoco.MjSpec.from_file(file_path.as_posix()) model = spec.compile() self.assertIsNotNone(model) diff --git a/python/mujoco/testdata/model.xml b/python/mujoco/testdata/model.xml new file mode 100644 index 00000000..98274616 --- /dev/null +++ b/python/mujoco/testdata/model.xml @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 1201db8050b4800d436cce545ffd4dd723d7602b Mon Sep 17 00:00:00 2001 From: Silvio Date: Fri, 25 Oct 2024 09:33:17 +0200 Subject: [PATCH 2/2] Do not test python bindings in python/dist directory This will permit to early catch tests that rely on files not installed in the wheel, i.e. catch if pytest --pyargs mujoco fails in a vanilla environment. --- .github/workflows/build.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1f6364d9..b22215b6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -239,7 +239,6 @@ jobs: - name: Test Python bindings if: ${{ runner.os != 'Windows' }} shell: bash - working-directory: python/dist env: MUJOCO_GL: disable run: >