Skip to content

test suite fails

Hello,

The test suite is not currently usable:

  1. Some tests fail non-deterministically (or always).
  2. It takes about 1 h to run, which is too long.

Reproducer:

  1. Run make check

Without the above patch applied:

make  check-TESTS                                                                                                                                                               
make[3]: Entering directory '/tmp/guix-build-libjami-20230221.0.drv-0/jami-20230221.0/daemon/test/unitTest.s                                                                                                        '                                                                                                         re    
make[4]: Entering directory '/tmp/guix-build-libjami-20230221.0.drv-0/jami-20230221.0/daemon/test/unitTest/g                                                                                                        '                                                                                                         ag    
RUNNING: ut_certstore                                                                                                                                                                           
RUNNING: ut_account_factory                                                                                                                                                                                         
RUNNING: ut_account_archive                                                                               mi                                                                                                        
RUNNING: ut_migration                                                                                                                                                                           
RUNNING: ut_string_utils                                                                                  fl                                                                                                
RUNNING: ut_scheduler                                                                                                                                                                           
RUNNING: ut_map_utils                                                                                                                                                                           
RUNNING: ut_fileutils                                                                                     .s                                                                                    
RUNNING: ut_base64                                                                                        re                                                                        
RUNNING: ut_video_input                                                                                   /g                                                                                            
RUNNING: ut_media_encoder                                                                                 xt                                                                                                    
RUNNING: ut_media_filter
RUNNING: ut_utf8_utils
RUNNING: ut_media_decoder
RUNNING: ut_media_player
RUNNING: ut_resampler
RUNNING: ut_video_scaler                                                                                  -2
RUNNING: ut_media_frame
RUNNING: ut_audio_frame_resizer
RUNNING: ut_recorder
RUNNING: ut_conference
RUNNING: ut_connectionManager
RUNNING: ut_fileTransfer                                                                                  l:
RUNNING: ut_call
PASS: ut_utf8_utils
PASS: ut_map_utils
PASS: ut_audio_frame_resizer
PASS: ut_string_utils
PASS: ut_fileutils
PASS: ut_base64                                                                                           i-
RUNNING: ut_conversationRepository
RUNNING: ut_media_negotiation                                                                             fl
RUNNING: ut_conversation
RUNNING: ut_auto_answer
RUNNING: ut_hold_resume                                                                                   .s
RUNNING: ut_conversation_call                                                                             re
PASS: ut_media_frame                                                                                      /g
PASS: ut_resampler                                                                                        xt
PASS: ut_video_scaler                                                                                     mi
PASS: ut_media_filter
PASS: ut_media_decoder
RUNNING: ut_conversationRequest
RUNNING: ut_conversationMembersEvent                                                                      fl
RUNNING: ut_ice
RUNNING: ut_syncHistory
RUNNING: ut_revoke                                                                                        .s
PASS: ut_video_input                                                                                      re
RUNNING: ut_ice_sdp_parser                                                                                /g
PASS: ut_media_player                                                                                     ag
RUNNING: ut_ice_media_cand_exchange                                                                       sc
FAIL: ut_scheduler                                                                                        ):
FAIL: ut_ice_sdp_parser                                                                                   -2
RUNNING: ut_sip_srtp                                                                                      fl
RUNNING: ut_sip_basic_calls
FAIL: ut_sip_srtp
PASS: ut_media_encoder                                                                                    .s
RUNNING: ut_plugins                                                                                       re
PASS: ut_certstore                                                                                        /g
FAIL: ut_sip_basic_calls                                                                                  ag
FAIL: ut_ice
FAIL: ut_account_factory
FAIL: ut_hold_resume                                                                                      mi
FAIL: ut_ice_media_cand_exchange
FAIL: ut_auto_answer                                                                                      fl
FAIL: ut_revoke
FAIL: ut_migration
FAIL: ut_media_negotiation                                                                                .s
FAIL: ut_recorder                                                                                         re
FAIL: ut_conversation_call                                                                                /g
 FAIL: ut_account_archive                                                                                 xt
FAIL: ut_call
FAIL: ut_plugins
FAIL: ut_fileTransfer
FAIL: ut_conversationRepository
[...] (takes a very long time)

The patch at https://review.jami.net/c/jami-daemon/+/22670 has the right idea: separating quick unit tests from more expensive integration tests, but its implementation should be improved, so that we have two distinct check targets (make check for unit tests, make check-integration for integration tests).

Edited by Maxim Cournoyer