@@ -2286,6 +2286,10 @@ actual:\n\
2286
2286
output_file. push ( test_name) ;
2287
2287
debug ! ( "comparing the contests of: {:?}" , output_file) ;
2288
2288
debug ! ( "with: {:?}" , expected_content) ;
2289
+ if !output_file. exists ( ) {
2290
+ panic ! ( "Output file `{}` from test does not exist" ,
2291
+ output_file. into_os_string( ) . to_string_lossy( ) ) ;
2292
+ }
2289
2293
self . check_mir_test_timestamp ( test_name, & output_file) ;
2290
2294
2291
2295
let mut dumped_file = fs:: File :: open ( output_file. clone ( ) ) . unwrap ( ) ;
@@ -2334,13 +2338,22 @@ actual:\n\
2334
2338
2335
2339
// We expect each non-empty line to appear consecutively, non-consecutive lines
2336
2340
// must be separated by at least one Elision
2341
+ let mut start_block_line = None ;
2337
2342
while let Some ( dumped_line) = dumped_lines. next ( ) {
2338
2343
match expected_lines. next ( ) {
2339
- Some ( & ExpectedLine :: Text ( expected_line) ) =>
2344
+ Some ( & ExpectedLine :: Text ( expected_line) ) => {
2345
+ let normalized_expected_line = normalize_mir_line ( expected_line) ;
2346
+ if normalized_expected_line. contains ( ":{" ) {
2347
+ start_block_line = Some ( expected_line) ;
2348
+ }
2349
+
2340
2350
if !compare ( expected_line, dumped_line) {
2351
+ error ! ( "{:?}" , start_block_line) ;
2341
2352
error ( expected_line,
2342
- format ! ( "Mismatch in lines\n Expected Line: {:?}" , dumped_line) ) ;
2343
- } ,
2353
+ format ! ( "Mismatch in lines\n Currnt block: {}\n Expected Line: {:?}" ,
2354
+ start_block_line. unwrap_or( "None" ) , dumped_line) ) ;
2355
+ }
2356
+ } ,
2344
2357
Some ( & ExpectedLine :: Elision ) => {
2345
2358
// skip any number of elisions in a row.
2346
2359
while let Some ( & & ExpectedLine :: Elision ) = expected_lines. peek ( ) {
0 commit comments