@@ -1357,7 +1357,12 @@ fn make_lib_name(config: &Config, auxfile: &Path, testfile: &Path) -> PathBuf {
13571357
13581358fn make_exe_name ( config : & Config , testfile : & Path ) -> PathBuf {
13591359 let mut f = output_base_name ( config, testfile) ;
1360- if !env:: consts:: EXE_SUFFIX . is_empty ( ) {
1360+ // FIXME: This is using the host architecture exe suffix, not target!
1361+ if config. target == "asmjs-unknown-emscripten" {
1362+ let mut fname = f. file_name ( ) . unwrap ( ) . to_os_string ( ) ;
1363+ fname. push ( ".js" ) ;
1364+ f. set_file_name ( & fname) ;
1365+ } else if !env:: consts:: EXE_SUFFIX . is_empty ( ) {
13611366 let mut fname = f. file_name ( ) . unwrap ( ) . to_os_string ( ) ;
13621367 fname. push ( env:: consts:: EXE_SUFFIX ) ;
13631368 f. set_file_name ( & fname) ;
@@ -1370,6 +1375,12 @@ fn make_run_args(config: &Config, props: &TestProps, testfile: &Path)
13701375 // If we've got another tool to run under (valgrind),
13711376 // then split apart its command
13721377 let mut args = split_maybe_args ( & config. runtool ) ;
1378+
1379+ // If this is emscripten, then run tests under nodejs
1380+ if config. target == "asmjs-unknown-emscripten" {
1381+ args. push ( "nodejs" . to_owned ( ) ) ;
1382+ }
1383+
13731384 let exe_file = make_exe_name ( config, testfile) ;
13741385
13751386 // FIXME (#9639): This needs to handle non-utf8 paths
0 commit comments