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 > >> > > >