@@ -3523,7 +3523,7 @@ def dylink_test(self, main, side, expected=None, header=None, force_c=False,
3523
3523
3524
3524
return self .dylink_testf (main , side , expected , force_c , main_module = main_module , ** kwargs )
3525
3525
3526
- def dylink_testf (self , main , side , expected = None , force_c = False , main_emcc_args = [],
3526
+ def dylink_testf (self , main , side = None , expected = None , force_c = False , main_emcc_args = [],
3527
3527
main_module = 2 ,
3528
3528
so_name = 'liblib.so' ,
3529
3529
need_reverse = True , ** kwargs ):
@@ -3532,8 +3532,10 @@ def dylink_testf(self, main, side, expected=None, force_c=False, main_emcc_args=
3532
3532
old_args = self .emcc_args .copy ()
3533
3533
if not expected :
3534
3534
outfile = shared .unsuffixed (main ) + '.out'
3535
- if os .path .exists (outfile ):
3536
- expected = read_file (outfile )
3535
+ expected = read_file (outfile )
3536
+ if not side :
3537
+ side , ext = os .path .splitext (main )
3538
+ side += '_side' + ext
3537
3539
3538
3540
# side settings
3539
3541
self .clear_setting ('MAIN_MODULE' )
@@ -4579,9 +4581,7 @@ def test_dylink_argv_argc(self):
4579
4581
def test_dylink_weak (self ):
4580
4582
# Verify that weakly defined symbols can be defined in both side module and main
4581
4583
# module but that only one gets used at runtime.
4582
- main = test_file ('core/test_dylink_weak_main.c' )
4583
- side = test_file ('core/test_dylink_weak_side.c' )
4584
- self .dylink_testf (main , side , force_c = True , need_reverse = False )
4584
+ self .dylink_testf (test_file ('core/test_dylink_weak.c' ), need_reverse = False )
4585
4585
4586
4586
@node_pthreads
4587
4587
@needs_dylink
@@ -4593,7 +4593,7 @@ def test_dylink_tls(self):
4593
4593
# TODO(sbc): Add tests that depend on importing/exported TLS symbols
4594
4594
# once we figure out how to do that.
4595
4595
self .emcc_args .append ('-Wno-experimental' )
4596
- self .dylink_testf (test_file ('core/test_dylink_tls.c' ), test_file ( 'core/test_dylink_tls_side.c' ),
4596
+ self .dylink_testf (test_file ('core/test_dylink_tls.c' ),
4597
4597
need_reverse = False )
4598
4598
4599
4599
def test_random (self ):
@@ -8405,15 +8405,13 @@ def test_pthread_dylink(self):
8405
8405
self .set_setting ('LLD_REPORT_UNDEFINED' )
8406
8406
self .set_setting ('PTHREAD_POOL_SIZE' , 2 )
8407
8407
main = test_file ('core/pthread/test_pthread_dylink.c' )
8408
- side = test_file ('core/pthread/test_pthread_dylink_side.c' )
8409
8408
8410
8409
# test with a long .so name, as a regression test for
8411
8410
# https://github.com/emscripten-core/emscripten/issues/14833
8412
8411
# where we had a bug with long names + TextDecoder + pthreads + dylink
8413
8412
very_long_name = 'very_very_very_very_very_very_very_very_very_long.so'
8414
8413
8415
- self .dylink_testf (main , side , "success" ,
8416
- so_name = very_long_name ,
8414
+ self .dylink_testf (main , so_name = very_long_name ,
8417
8415
need_reverse = False )
8418
8416
8419
8417
@needs_dylink
@@ -8424,8 +8422,7 @@ def test_pthread_dylink_tls(self):
8424
8422
self .set_setting ('USE_PTHREADS' )
8425
8423
self .set_setting ('PTHREAD_POOL_SIZE=1' )
8426
8424
main = test_file ('core/pthread/test_pthread_dylink_tls.c' )
8427
- side = test_file ('core/pthread/test_pthread_dylink_tls_side.c' )
8428
- self .dylink_testf (main , side , need_reverse = False )
8425
+ self .dylink_testf (main , need_reverse = False )
8429
8426
8430
8427
@needs_dylink
8431
8428
@node_pthreads
0 commit comments