gnuradio: enable tests on linux

This commit is contained in:
Doron Behar 2023-10-03 15:29:19 +03:00
parent bfaf1e92d2
commit 937a6594cf
4 changed files with 44 additions and 3 deletions

View file

@ -200,6 +200,11 @@ let
gr-zeromq = {
runtime = [ cppzmq ];
cmakeEnableFlag = "GR_ZEROMQ";
pythonRuntime = [
# Will compile without this, but it is required by tests, and by some
# gr blocks.
python.pkgs.pyzmq
];
};
};
shared = (import ./shared.nix {
@ -226,6 +231,20 @@ stdenv.mkDerivation (finalAttrs: (shared // {
# Will still evaluate correctly if not used here. It only helps nix-update
# find the right file in which version is defined.
inherit (shared) src;
# Remove failing tests
preConfigure = (shared.preConfigure or "") + ''
# https://github.com/gnuradio/gnuradio/issues/3801
rm gr-blocks/python/blocks/qa_cpp_py_binding.py
rm gr-blocks/python/blocks/qa_cpp_py_binding_set.py
rm gr-blocks/python/blocks/qa_ctrlport_probes.py
# Tests that fail due to numpy deprecations upstream hasn't accomodated to yet.
rm gr-fec/python/fec/qa_polar_decoder_sc.py
rm gr-fec/python/fec/qa_polar_decoder_sc_list.py
rm gr-fec/python/fec/qa_polar_decoder_sc_systematic.py
rm gr-fec/python/fec/qa_polar_encoder.py
rm gr-fec/python/fec/qa_polar_encoder_systematic.py
rm gr-filter/python/filter/qa_freq_xlating_fft_filter.py
'';
patches = [
# Not accepted upstream, see https://github.com/gnuradio/gnuradio/pull/5227
./modtool-newmod-permissions.3_8.patch

View file

@ -227,6 +227,11 @@ let
gr-zeromq = {
runtime = [ cppzmq ];
cmakeEnableFlag = "GR_ZEROMQ";
pythonRuntime = [
# Will compile without this, but it is required by tests, and by some
# gr blocks.
python.pkgs.pyzmq
];
};
gr-network = {
cmakeEnableFlag = "GR_NETWORK";
@ -262,6 +267,13 @@ stdenv.mkDerivation (finalAttrs: (shared // {
# Will still evaluate correctly if not used here. It only helps nix-update
# find the right file in which version is defined.
inherit (shared) src;
# Remove failing tests
preConfigure = (shared.preConfigure or "") + ''
# https://github.com/gnuradio/gnuradio/issues/3801
rm gr-blocks/python/blocks/qa_cpp_py_binding.py
rm gr-blocks/python/blocks/qa_cpp_py_binding_set.py
rm gr-blocks/python/blocks/qa_ctrlport_probes.py
'';
patches = [
# Not accepted upstream, see https://github.com/gnuradio/gnuradio/pull/5227
./modtool-newmod-permissions.patch

View file

@ -248,6 +248,11 @@ let
gr-zeromq = {
runtime = [ cppzmq ];
cmakeEnableFlag = "GR_ZEROMQ";
pythonRuntime = [
# Will compile without this, but it is required by tests, and by some
# gr blocks.
python.pkgs.pyzmq
];
};
gr-network = {
cmakeEnableFlag = "GR_NETWORK";

View file

@ -112,9 +112,14 @@ in {
# Wrapping is done with an external wrapper
dontWrapPythonPrograms = true;
dontWrapQtApps = true;
# Tests should succeed, but it's hard to get LD_LIBRARY_PATH right in order
# for it to happen.
doCheck = false;
# On darwin, it requires playing with DYLD_FALLBACK_LIBRARY_PATH to make if
# find libgnuradio-runtim.3.*.dylib .
doCheck = !stdenv.isDarwin;
preCheck = ''
export HOME=$(mktemp -d)
export QT_QPA_PLATFORM=offscreen
export QT_PLUGIN_PATH="${qt.qtbase.bin}/${qt.qtbase.qtPluginPrefix}"
'';
meta = with lib; {
description = "Software Defined Radio (SDR) software";