Skip to content

Commit

Permalink
ci: fix unit tests with Fedora 37
Browse files Browse the repository at this point in the history
This was detected in UNH envs.

In Fedora 37 and other distributions, meson 0.57 breaks when calling
the unit tests (probably because of an incompatibility with Python 3.11):

$ meson test -C build --suite DPDK:fast-tests
ninja: Entering directory `/root/dpdk/build'
ninja: no work to do.
Exception in callback TestHarness._run_tests.<locals>.test_done
    (<Task finishe...explicitly.')>)
    at /usr/local/lib/python3.11/site-packages/mesonbuild/mtest.py:1806
handle: <Handle TestHarness._run_tests.<locals>.test_done
    (<Task finishe...explicitly.')>)
    at /usr/local/lib/python3.11/site-packages/mesonbuild/mtest.py:1806>
Traceback (most recent call last):
  File "/usr/lib64/python3.11/asyncio/events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "/usr/local/lib/python3.11/site-packages/mesonbuild/mtest.py",
    line 1808, in test_done
    f.result()
  File "/usr/local/lib/python3.11/site-packages/mesonbuild/mtest.py",
    line 1803, in run_test
    res = await test.run(self)
          ^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/mesonbuild/mtest.py",
    line 1349, in run
    await self._run_cmd(harness, cmd)
  File "/usr/local/lib/python3.11/site-packages/mesonbuild/mtest.py",
    line 1415, in _run_cmd
    returncode, result, additional_error =
    await p.wait(self.runobj.timeout)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/mesonbuild/mtest.py",
    line 1241, in wait
    await try_wait_one(p.wait(), timeout=timeout)
  File "/usr/local/lib/python3.11/site-packages/mesonbuild/mtest.py",
    line 1132, in try_wait_one
    await asyncio.wait(awaitables,
  File "/usr/lib64/python3.11/asyncio/tasks.py", line 425, in wait
    raise TypeError("Passing coroutines is forbidden, use tasks
    explicitly.")
TypeError: Passing coroutines is forbidden, use tasks explicitly.
/usr/lib64/python3.11/asyncio/events.py:80: RuntimeWarning: coroutine
    'Process.wait' was never awaited
  self._context.run(self._callback, *self._args)
RuntimeWarning: Enable tracemalloc to get the object allocation traceback

This issue is fixed by upgrading to 0.57.2.

Fixes: 6f3dbd3 ("build: increase minimum meson version to 0.57")

Suggested-by: Robin Jarry <rjarry@redhat.com>
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Patrick Robb <probb@iol.unh.edu>
  • Loading branch information
david-marchand committed Oct 18, 2024
1 parent 189fdd3 commit dbcd72f
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion .ci/linux-setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
[ "$(id -u)" != '0' ] || alias sudo=

# need to install as 'root' since some of the unit tests won't run without it
sudo python3 -m pip install --upgrade 'meson==0.57.0'
sudo python3 -m pip install --upgrade 'meson==0.57.2'

# setup hugepages. error ignored because having hugepage is not mandatory.
cat /proc/meminfo
Expand Down

0 comments on commit dbcd72f

Please sign in to comment.