IRL2 / nanover-protocol

https://irl2.github.io/nanover-docs/#
Other
0 stars 1 forks source link

Test_next_simulation_increments_counter failing #259

Open phuddha opened 4 weeks ago

phuddha commented 4 weeks ago
  1. Following clean install (as per dev installation guide on readme)...
  2. Ran python -m pytest python-libraries
  3. Last test takes a long time to complete (minutes) and then fails:

===== short test summary info ======================================================== FAILED python-libraries/nanover-omni/tests/test_all.py::test_next_simulation_increments_counter - Exception: Timed out waiting for first frame. 1 failed, 870 passed, 6 warnings in 519.39s (0:08:39) =========================================

======== FAILURES ===============================================================

test_next_simulation_increments_counter ____

multi_sim_client_runner_without_playback = (<nanover.app.client.NanoverImdClient object at 0x1433570e0>, <nanover.omni.omni.OmniRunner object at 0x1433542c0>)

def test_next_simulation_increments_counter(multi_sim_client_runner_without_playback):
    """
    Test each next command increments the simulation counter to the correct value.
    """
    client, runner = multi_sim_client_runner_without_playback
    client.subscribe_to_frames()

    for i in range(5):
        client.run_next()
      client.wait_until_first_frame()

python-libraries/nanover-omni/tests/test_all.py:109:


python-libraries/nanover-core/src/nanover/app/client.py:64: in wrapper return func(self, *args, *kwargs) python-libraries/nanover-core/src/nanover/app/client.py:77: in wrapper return func(self, args, **kwargs)


self = <nanover.app.client.NanoverImdClient object at 0x1433570e0>, check_interval = 0.01, timeout = 1

@need_frames
@need_trajectory_joined
def wait_until_first_frame(self, check_interval=0.01, timeout=1):
    """
    Wait until the first frame is received from the server.

    :param check_interval: Interval at which to check if a frame has been
        received.
    :param timeout: Timeout after which to stop waiting for a frame.
    :return: The first :class:`FrameData` received.
    :raises Exception: if no frame is received.
    """
    endtime = 0 if timeout is None else time.monotonic() + timeout

    while self.first_frame is None:
        if 0 < endtime < time.monotonic():
          raise Exception("Timed out waiting for first frame.")

E Exception: Timed out waiting for first frame.**

python-libraries/nanover-core/src/nanover/app/client.py:387: Exception

Ragzouken commented 3 weeks ago

Is this repeatable for you?

If so, do you get the same issue with python -m pytest python-libraries/nanover-omni/tests/test_all.py::test_next_simulation_increments_counter?