Mercurial > vim
diff src/libvterm/t/run-test.pl @ 20482:dc88c690f19b v8.2.0795
patch 8.2.0795: libvterm code lags behind the upstream version
Commit: https://github.com/vim/vim/commit/88d68de95da70d0f89a5246f58355d72e9c17db4
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon May 18 21:51:01 2020 +0200
patch 8.2.0795: libvterm code lags behind the upstream version
Problem: Libvterm code lags behind the upstream version.
Solution: Include revisions 748 - 754.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 18 May 2020 22:00:03 +0200 |
parents | d0bf39eb2b07 |
children | 1d595fada804 |
line wrap: on
line diff
--- a/src/libvterm/t/run-test.pl +++ b/src/libvterm/t/run-test.pl @@ -28,6 +28,8 @@ my $exitcode = 0; my $command; my @expect; +my $linenum = 0; + sub do_onetest { $hin->print( "$command\n" ); @@ -41,7 +43,7 @@ sub do_onetest chomp $outline; if( !@expect ) { - print "# Test failed\n" unless $fail_printed++; + print "# line $linenum: Test failed\n" unless $fail_printed++; print "# expected nothing more\n" . "# Actual: $outline\n"; next; @@ -51,13 +53,13 @@ sub do_onetest next if $expectation eq $outline; - print "# Test failed\n" unless $fail_printed++; + print "# line $linenum: Test failed\n" unless $fail_printed++; print "# Expected: $expectation\n" . "# Actual: $outline\n"; } if( @expect ) { - print "# Test failed\n" unless $fail_printed++; + print "# line $linenum: Test failed\n" unless $fail_printed++; print "# Expected: $_\n" . "# didn't happen\n" for @expect; } @@ -133,7 +135,7 @@ sub do_line $response = pack "C*", map hex, split m/,/, $response; if( $response ne $want ) { - print "# Assert ?screen_row $row failed:\n" . + print "# line $linenum: Assert ?screen_row $row failed:\n" . "# Expected: $want\n" . "# Actual: $response\n"; $exitcode = 1; @@ -144,14 +146,20 @@ sub do_line do_onetest if defined $command; my ( $assertion ) = $1 =~ m/^(.*)\s+=/; + my $expectation = $line; $hin->print( "\?$assertion\n" ); my $response = <$hout>; defined $response or wait, die "Test harness failed - $?\n"; chomp $response; $response =~ s/^\s+|\s+$//g; - if( $response ne $line ) { - print "# Assert $assertion failed:\n" . - "# Expected: $line\n" . + # Some convenience formatting + if( $assertion =~ m/^screen_chars/ and $expectation =~ m/^"/ ) { + $expectation = join ",", map sprintf("0x%02x", ord $_), split m//, eval($expectation); + } + + if( $response ne $expectation ) { + print "# line $linenum: Assert $assertion failed:\n" . + "# Expected: $expectation\n" . "# Actual: $response\n"; $exitcode = 1; } @@ -176,6 +184,7 @@ sub do_line open my $test, "<", $ARGV[0] or die "Cannot open test script $ARGV[0] - $!"; while( my $line = <$test> ) { + $linenum++; $line =~ s/^\s+//; chomp $line;