@@ -910,6 +910,7 @@ fn test_rustc_inner<F>(
910910 prepare_files_callback : F ,
911911 run_error_pattern_test : bool ,
912912 test_type : & str ,
913+ run_ignored_tests : bool ,
913914) -> Result < ( ) , String >
914915where
915916 F : Fn ( & Path ) -> Result < bool , String > ,
@@ -1061,30 +1062,34 @@ where
10611062
10621063 env. get_mut ( "RUSTFLAGS" ) . unwrap ( ) . clear ( ) ;
10631064
1064- run_command_with_output_and_env (
1065- & [
1066- & "./x.py" ,
1067- & "test" ,
1068- & "--run" ,
1069- & "always" ,
1070- & "--stage" ,
1071- & "0" ,
1072- & "--set" ,
1073- & "build.compiletest-allow-stage0=true" ,
1074- & format ! ( "tests/{test_type}" ) ,
1075- & "--compiletest-rustc-args" ,
1076- & rustc_args,
1077- ] ,
1078- Some ( & rust_path) ,
1079- Some ( & env) ,
1080- ) ?;
1065+ let test_dir = format ! ( "tests/{test_type}" ) ;
1066+ let mut command: Vec < & dyn AsRef < OsStr > > = vec ! [
1067+ & "./x.py" ,
1068+ & "test" ,
1069+ & "--run" ,
1070+ & "always" ,
1071+ & "--stage" ,
1072+ & "0" ,
1073+ & "--set" ,
1074+ & "build.compiletest-allow-stage0=true" ,
1075+ & test_dir,
1076+ & "--compiletest-rustc-args" ,
1077+ & rustc_args,
1078+ ] ;
1079+
1080+ if run_ignored_tests {
1081+ command. push ( & "--" ) ;
1082+ command. push ( & "--ignored" ) ;
1083+ }
1084+
1085+ run_command_with_output_and_env ( & command, Some ( & rust_path) , Some ( & env) ) ?;
10811086 Ok ( ( ) )
10821087}
10831088
10841089fn test_rustc ( env : & Env , args : & TestArg ) -> Result < ( ) , String > {
1085- test_rustc_inner ( env, args, |_| Ok ( false ) , false , "run-make" ) ?;
1086- test_rustc_inner ( env, args, |_| Ok ( false ) , false , "run-make-cargo" ) ?;
1087- test_rustc_inner ( env, args, |_| Ok ( false ) , false , "ui" )
1090+ test_rustc_inner ( env, args, |_| Ok ( false ) , false , "run-make" , false ) ?;
1091+ test_rustc_inner ( env, args, |_| Ok ( false ) , false , "run-make-cargo" , false ) ?;
1092+ test_rustc_inner ( env, args, |_| Ok ( false ) , false , "ui" , false )
10881093}
10891094
10901095fn test_failing_rustc ( env : & Env , args : & TestArg ) -> Result < ( ) , String > {
@@ -1094,6 +1099,7 @@ fn test_failing_rustc(env: &Env, args: &TestArg) -> Result<(), String> {
10941099 retain_files_callback ( "tests/failing-run-make-tests.txt" , "run-make" ) ,
10951100 false ,
10961101 "run-make" ,
1102+ true ,
10971103 ) ;
10981104
10991105 let run_make_cargo_result = test_rustc_inner (
@@ -1102,6 +1108,7 @@ fn test_failing_rustc(env: &Env, args: &TestArg) -> Result<(), String> {
11021108 retain_files_callback ( "tests/failing-run-make-tests.txt" , "run-make-cargo" ) ,
11031109 false ,
11041110 "run-make" ,
1111+ true ,
11051112 ) ;
11061113
11071114 let ui_result = test_rustc_inner (
@@ -1110,6 +1117,7 @@ fn test_failing_rustc(env: &Env, args: &TestArg) -> Result<(), String> {
11101117 retain_files_callback ( "tests/failing-ui-tests.txt" , "ui" ) ,
11111118 false ,
11121119 "ui" ,
1120+ true ,
11131121 ) ;
11141122
11151123 run_make_result. and ( run_make_cargo_result) . and ( ui_result)
@@ -1122,20 +1130,23 @@ fn test_successful_rustc(env: &Env, args: &TestArg) -> Result<(), String> {
11221130 remove_files_callback ( "tests/failing-ui-tests.txt" , "ui" ) ,
11231131 false ,
11241132 "ui" ,
1133+ false ,
11251134 ) ?;
11261135 test_rustc_inner (
11271136 env,
11281137 args,
11291138 remove_files_callback ( "tests/failing-run-make-tests.txt" , "run-make" ) ,
11301139 false ,
11311140 "run-make" ,
1141+ false ,
11321142 ) ?;
11331143 test_rustc_inner (
11341144 env,
11351145 args,
11361146 remove_files_callback ( "tests/failing-run-make-tests.txt" , "run-make-cargo" ) ,
11371147 false ,
11381148 "run-make-cargo" ,
1149+ false ,
11391150 )
11401151}
11411152
@@ -1146,6 +1157,7 @@ fn test_failing_ui_pattern_tests(env: &Env, args: &TestArg) -> Result<(), String
11461157 remove_files_callback ( "tests/failing-ice-tests.txt" , "ui" ) ,
11471158 true ,
11481159 "ui" ,
1160+ false ,
11491161 )
11501162}
11511163
0 commit comments