Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to support GNU Radio 3.9 #7

Draft
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

NZSmartie
Copy link

@NZSmartie NZSmartie commented Jun 26, 2021

First time working with GNU Radio Out Of Tree modules and I wanted to keep using this module for an existing project that wa updated to 3.9

I've done my best to follow the GNU Radio 3.9 OOT Module Porting Guide. There are issues with invoking gr_modtool bind ... as block methods were not generated and thus hand curated edits are present in the respective _python.cc binding and _pydoc_template.h template files

So far tests are looking promising:

Running tests...
Running tests...
Test project /home/nzsmartie/repos/gr-sandia_utils-3.9/build
      Start  1: sandia_utils_qa_file_sink.cc
 1/28 Test  #1: sandia_utils_qa_file_sink.cc ...............***Failed   12.58 sec
      Start  2: sandia_utils_qa_vita49_tcp_msg_source.cc
 2/28 Test  #2: sandia_utils_qa_vita49_tcp_msg_source.cc ...   Passed    6.15 sec
      Start  3: sandia_utils_qa_vitaclassid
 3/28 Test  #3: sandia_utils_qa_vitaclassid ................   Passed    0.02 sec
      Start  4: sandia_utils_qa_CifValue
 4/28 Test  #4: sandia_utils_qa_CifValue ...................   Passed    0.01 sec
      Start  5: sandia_utils_qa_vitaheader
 5/28 Test  #5: sandia_utils_qa_vitaheader .................   Passed    0.01 sec
      Start  6: sandia_utils_qa_vitatrailer
 6/28 Test  #6: sandia_utils_qa_vitatrailer ................   Passed    0.02 sec
      Start  7: sandia_utils_qa_vrtpacket
 7/28 Test  #7: sandia_utils_qa_vrtpacket ..................   Passed    0.01 sec
      Start  8: sandia_utils_qa_ContextPacket
 8/28 Test  #8: sandia_utils_qa_ContextPacket ..............   Passed    0.01 sec
      Start  9: qa_interleaved_short_to_complex
 9/28 Test  #9: qa_interleaved_short_to_complex ............   Passed    0.25 sec
      Start 10: qa_complex_to_interleaved_short
10/28 Test #10: qa_complex_to_interleaved_short ............   Passed    0.27 sec
      Start 11: qa_block_buffer
11/28 Test #11: qa_block_buffer ............................   Passed    5.13 sec
      Start 12: qa_file_archiver
12/28 Test #12: qa_file_archiver ...........................   Passed    0.40 sec
      Start 13: qa_file_monitor
13/28 Test #13: qa_file_monitor ............................   Passed    0.79 sec
      Start 14: qa_csv_writer
14/28 Test #14: qa_csv_writer ..............................   Passed   13.97 sec
      Start 15: qa_csv_reader
15/28 Test #15: qa_csv_reader ..............................   Passed    3.78 sec
      Start 16: qa_file_sink
16/28 Test #16: qa_file_sink ...............................   Passed    0.81 sec
      Start 17: qa_invert_tune
17/28 Test #17: qa_invert_tune .............................   Passed    0.39 sec
      Start 18: qa_file_source
18/28 Test #18: qa_file_source .............................   Passed    0.81 sec
      Start 19: qa_message_vector_file_sink
19/28 Test #19: qa_message_vector_file_sink ................   Passed    0.41 sec
      Start 20: qa_message_vector_raster_file_sink
20/28 Test #20: qa_message_vector_raster_file_sink .........   Passed    0.41 sec
      Start 21: qa_rftap_encap
21/28 Test #21: qa_rftap_encap .............................   Passed    0.33 sec
      Start 22: qa_stream_gate
22/28 Test #22: qa_stream_gate .............................   Passed    0.25 sec
      Start 23: qa_tag_debug_file
23/28 Test #23: qa_tag_debug_file ..........................   Passed    0.24 sec
      Start 24: qa_sandia_tag_debug
24/28 Test #24: qa_sandia_tag_debug ........................   Passed    0.26 sec
      Start 25: qa_tagged_bits_to_bytes
25/28 Test #25: qa_tagged_bits_to_bytes ....................   Passed    0.36 sec
      Start 26: qa_compute_stats
26/28 Test #26: qa_compute_stats ...........................   Passed    0.32 sec
      Start 27: qa_burst_power_detector
27/28 Test #27: qa_burst_power_detector ....................   Passed    0.25 sec
      Start 28: qa_sigmf_meta_writer
28/28 Test #28: qa_sigmf_meta_writer .......................   Passed    0.23 sec

96% tests passed, 1 tests failed out of 28

Total Test time (real) =  48.52 sec

The following tests FAILED:
          1 - sandia_utils_qa_file_sink.cc (Failed)

sandia_utils_qa_file_sink.cc:

1/28 Testing: sandia_utils_qa_file_sink.cc
1/28 Test: sandia_utils_qa_file_sink.cc
Command: "/usr/bin/sh" "/home/nzsmartie/repos/gr-sandia_utils-3.9/build/lib/sandia_utils_qa_file_sink.cc_test.sh"
Directory: /home/nzsmartie/repos/gr-sandia_utils-3.9/build/lib
"sandia_utils_qa_file_sink.cc" start time: Jun 27 16:38 NZST
Output:
----------------------------------------------------------
Running 8 test cases...
/home/nzsmartie/repos/gr-sandia_utils-3.9/lib/qa_file_sink.cc(215): ESC[4;31;49mfatal error: in "t2": critical check debug->num_messages() == 1 has failed [0 != 1]ESC[0;39;49m
/home/nzsmartie/repos/gr-sandia_utils-3.9/lib/qa_file_sink.cc(275): ESC[4;31;49mfatal error: in "t3": critical check debug->num_messages() == 1 has failed [0 != 1]ESC[0;39;49m
/home/nzsmartie/repos/gr-sandia_utils-3.9/lib/qa_file_sink.cc(354): ESC[4;31;49mfatal error: in "t4": critical check debug->num_messages() == 1 has failed [0 != 1]ESC[0;39;49m
/home/nzsmartie/repos/gr-sandia_utils-3.9/lib/qa_file_sink.cc(404): ESC[4;31;49mfatal error: in "t5": critical check debug->num_messages() == 2 has failed [0 != 2]ESC[0;39;49m
/home/nzsmartie/repos/gr-sandia_utils-3.9/lib/qa_file_sink.cc(497): ESC[4;31;49mfatal error: in "t6": critical check debug->num_messages() == 2 has failed [0 != 2]ESC[0;39;49m
gr::log :DEBUG: file_sink0 - Sample rate set to 30720000 Hz
gr::log :DEBUG: file_sink0 - issuing start command
gr::log :DEBUG: file_sink0 - Opening file /tmp/t_01.fc32
gr::log :DEBUG: file_sink0 - Sample rate set to 30720000 Hz
gr::log :DEBUG: file_sink0 - issuing stop command
gr::log :DEBUG: file_sink0 - Closing file /tmp/t_01.fc32
gr::log :DEBUG: file_sink0 - Sample rate set to 30720000 Hz
gr::log :DEBUG: file_sink0 - issuing start command
gr::log :DEBUG: file_sink0 - Opening file /tmp/t_02.fc32
gr::log :DEBUG: file_sink0 - Closing file /tmp/t_02.fc32

ESC[1;31;49m*** 5 failures are detected in the test module "Master Test Suite"
ESC[0;39;49m
<end of output>
Test time =  12.59 sec
----------------------------------------------------------
Test Failed.
"sandia_utils_qa_file_sink.cc" end time: Jun 27 16:38 NZST
"sandia_utils_qa_file_sink.cc" time elapsed: 00:00:12

Sorta ran out of steam for getting the module 3.9 ready. But i'll do my best to get all the tests to pass

@NZSmartie NZSmartie marked this pull request as draft June 26, 2021 12:19
@NZSmartie
Copy link
Author

Sufice to say, not all blocks have their methods exposed in the python bindings just yet

at some point, pairs were no longer classified as a dictionary, so the
test failed and all messages were dropped
With pygccxml installed, bindings for most blocks will be generated
except for templated classes (such as strewam_gate).
see gnuradio/gnuradio#4824
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant