Hi Marcus,
Thanks for your time.
The output is as follows ...
$ ctest.exe -R mute --output-on-failure
Test project C:/msys64/home/chris/src/MINGW-packages/mingw-w64-gnuradio/src/build-MINGW64
Start 72: qa_mute
1/1 Test #72: qa_mute .......................... Passed 0.50 sec
100% tests passed, 0 tests failed out of 1
Total Test time (real) = 0.64 sec
$ ctest.exe -R interleaver --output-on-failure
Test project C:/msys64/home/chris/src/MINGW-packages/mingw-w64-gnuradio/src/build-MINGW64
Start 40: qa_blockinterleaver_xx
1/4 Test #40: qa_blockinterleaver_xx ........... Passed 0.80 sec
Start 62: qa_matrix_interleaver
2/4 Test #62: qa_matrix_interleaver ............ Passed 0.43 sec
Start 77: qa_patterned_interleaver
3/4 Test #77: qa_patterned_interleaver ......... Passed 0.41 sec
Start 241: qa_interleaver
4/4 Test #241: qa_interleaver ................... Passed 0.36 sec
100% tests passed, 0 tests failed out of 4
Total Test time (real) = 2.18 sec
$ ctest.exe -R wavfile --output-on-failure
Test project C:/msys64/home/chris/src/MINGW-packages/mingw-w64-gnuradio/src/build-MINGW64
Start 112: qa_wavfile
1/1 Test #112: qa_wavfile ....................... Passed 0.82 sec
100% tests passed, 0 tests failed out of 1
Total Test time (real) = 0.97 sec
I can run all the tests by hand with ctest --output-on-failure and
they all pass. When I run them from the package build script, using
the same command, I get the following errors.
72/268 Test #72: qa_mute
......................................***Timeout 90.03 sec
.thread_body_wrapper :error: ERROR thread[thread-per-block[1]: <block
mute(7)>]: pmt_to_bool: wrong_type (() . #t)
<---snip--->
112/268 Test #112: qa_wavfile
...................................***Failed 0.88 sec
...wavfile_sink :error: sf_open(1) failed: no_file.wav: Error : major
format is 0.
.Fss...
======================================================================
FAIL: test_004_automatic_reopen_after_stop
(__main__.test_wavefile.test_004_automatic_reopen_after_stop)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:/msys64/home/chris/src/MINGW-packages/mingw-w64-gnuradio/src/gnuradio-3.10.12.0/gr-blocks/python/blocks/qa_wavfile.py",
line 203, in test_004_automatic_reopen_after_stop
self.assertEqual(out_params, expected_params)
AssertionError: _wave[41 chars]te=8000, nframes=4, comptype='NONE',
compname='not compressed') != _wave[41 chars]te=8000, nframes=8,
comptype='NONE', compname='not compressed')
----------------------------------------------------------------------
Ran 10 tests in 0.414s
FAILED (failures=1, skipped=2)
<---snip--->
241/268 Test #241: qa_interleaver
...............................***Failed 0.41 sec
EEE
======================================================================
ERROR: test_001_explicit_interleaver_vector_with_length
(__main__.test_interleaver.test_001_explicit_interleaver_vector_with_length)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:/msys64/home/chris/src/MINGW-packages/mingw-w64-gnuradio/src/gnuradio-3.10.12.0/gr-trellis/python/trellis/qa_interleaver.py",
line 29, in test_001_explicit_interleaver_vector_with_length
self.assertEqual((k, interl, de_in), (i.k(),
i.interleaver_indices(), i.deinterleaver_indices()))
^^^
AttributeError: 'gnuradio.trellis.trellis_python.interleaver' object
has no attribute 'k'
======================================================================
ERROR: test_002_explicit_interleaver_vector
(__main__.test_interleaver.test_002_explicit_interleaver_vector)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:/msys64/home/chris/src/MINGW-packages/mingw-w64-gnuradio/src/gnuradio-3.10.12.0/gr-trellis/python/trellis/qa_interleaver.py",
line 34, in test_002_explicit_interleaver_vector
i = trellis.interleaver(interl)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: __init__(): incompatible constructor arguments. The
following argument types are supported:
1. gnuradio.trellis.trellis_python.interleaver()
2. gnuradio.trellis.trellis_python.interleaver(INTERLEAVER:
gnuradio.trellis.trellis_python.interleaver)
3. gnuradio.trellis.trellis_python.interleaver(K: int, INTER: list[int])
4. gnuradio.trellis.trellis_python.interleaver(name: str)
5. gnuradio.trellis.trellis_python.interleaver(K: int, seed: int)
Invoked with: [1, 2, 3, 4, 0]
======================================================================
ERROR: test_002_random (__main__.test_interleaver.test_002_random)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:/msys64/home/chris/src/MINGW-packages/mingw-w64-gnuradio/src/gnuradio-3.10.12.0/gr-trellis/python/trellis/qa_interleaver.py",
line 41, in test_002_random
self.assertSequenceEqual(sorted(i.interleaver_indices()), range(k))
^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'gnuradio.trellis.trellis_python.interleaver' object
has no attribute 'interleaver_indices'
----------------------------------------------------------------------
Ran 3 tests in 0.006s
FAILED (errors=3)
Not sure what is causing this, given the success running ctest by
hand, maybe there is something wrong with makepkg-mingw, the build
program, running the tests. Thanks for your suggestion Marcus, I feel
much more comfortable updating the package.
Best regards,
Chris
On Tue, Feb 25, 2025 at 11:35 AM Marcus Müller <mmueller@gnuradio.org> wrote:
>
> ah, just noticed: the `_test` at the end of the -R argument is wrong, please just `-R
> wavfile` and `-R interleave`
>
> On 2/25/25 5:09 PM, Marcus Müller wrote:
> > Hi Chris,
> >
> > I introduced that log message, because, well, we haven't implemented the feature to set
> > user thread names on Windows. That's always been the case, and hasn't changed.
> >
> > Now, your three test case failures do worry me. Could you maybe attach the outputs of
> >
> > ctest -R wavfile_test --output-on-failure
> > ctest -R interleave_test --output-on-failure
> >
> > ?
> >
> > Thank you for reporting things like these,
> > Marcus
> >
> > On 2/24/25 6:53 PM, Chris Gorman wrote:
> >> Hello All,
> >>
> >> I'm in the process of updating the msys2 / mingw64 implementation of
> >> gnuradio to 3.10.12.0 and have run into a problem with threading. Two
> >> tests fail[1] and one times out[2] while running the test suite. When
> >> run on their own, all three tests return 0 and appear to run properly,
> >> but for a thread error. I also get this error when running
> >> gnuradio-companion.exe. For each test case, and grc, I get multiple
> >> lines of:
> >>
> >> "thread :error: function set_thread_name(gr_thread_t, string) not
> >> implemented on this platform"
> >>
> >> My experience with threading is minimal and I feel uneasy proceeding
> >> with the update, given the error. If someone with more experience
> >> could let me know their opinion on whether or not the thread error is
> >> a cause for concern, I would appreciate it.
> >>
> >> Thanks in advance,
> >>
> >> Chris
> >>
> >> [1] qa_wavfile_test.bat and qa_interleave_test.bat
> >> [2] qa_mute_test.bat
> >>
> >
>
No comments:
Post a Comment