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 <mmuel...@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
> >>
> >
>

Reply via email to