Making WordPress.org


Ignore:
Timestamp:
04/20/2020 10:28:27 PM (5 years ago)
Author:
iandunn
Message:

Events: Show test failure diff for easier comparison.

The full results can still be seen with the new --verbose flag.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/api.wordpress.org/public_html/events/1.0/tests/test-index.php

    r9751 r9752  
    6464        $actual_output   = is_scalar( $actual_result   ) ? var_export( $actual_result,   true ) : print_r( $actual_result,   true );
    6565
    66         printf(
    67             "\n\nExpected result: %s\nActual result: %s",
    68             $expected_output,
    69             $actual_output
    70         );
     66        if ( VERBOSE_OUTPUT ) {
     67            printf(
     68                "\n\nExpected result: %s\nActual result: %s",
     69                $expected_output,
     70                $actual_output
     71            );
     72
     73        } else {
     74            $folder = sys_get_temp_dir();
     75            file_put_contents( $folder . '/events-test-expected.txt', $expected_output);
     76            file_put_contents( $folder . '/events-test-actual.txt',   $actual_output );
     77
     78            $diff_results = shell_exec( sprintf(
     79                '/usr/bin/diff --unified %s --label "Expected" %s --label "Actual"',
     80                $folder . '/events-test-expected.txt',
     81                $folder . '/events-test-actual.txt'
     82            ) );
     83
     84            if ( empty( $diff_results ) ) {
     85                $diff_results = "Error: diff appears to be empty even though test failed.\n";
     86            }
     87
     88            $short_output = sprintf( "\n\n%s
     89                Rerun with `--verbose` for detailed failure results.\n",
     90                $diff_results
     91            );
     92
     93            printf( str_replace( "\t", '', $short_output ) );
     94        }
    7195    }
    7296}
     
    15261550}
    15271551
     1552
     1553define( 'VERBOSE_OUTPUT', in_array( '--verbose', $argv, true ) );
     1554
    15281555run_tests();
Note: See TracChangeset for help on using the changeset viewer.