From 07d2b941b599b268004722ace797ea6a630ef18e Mon Sep 17 00:00:00 2001 From: CismonX Date: Tue, 2 Feb 2021 15:23:50 +0800 Subject: [PATCH] Update tests. --- tests/ctlseqs/8bitchar.exp | 33 +++++++++++++++++++++++++++++++++ tests/ctlseqs/match.exp | 2 +- tests/ctlseqs/nomem.exp | 5 ++++- tests/ctlseqs/partial.exp | 14 +++++++++----- 4 files changed, 47 insertions(+), 7 deletions(-) create mode 100644 tests/ctlseqs/8bitchar.exp diff --git a/tests/ctlseqs/8bitchar.exp b/tests/ctlseqs/8bitchar.exp new file mode 100644 index 0000000..bf31c00 --- /dev/null +++ b/tests/ctlseqs/8bitchar.exp @@ -0,0 +1,33 @@ +# +# Copyright (C) 2021 CismonX +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty, provided the copyright notice and +# this notice are preserved. This file is offered as-is, without any warranty. +# + +set tool ctlseqs +set timeout 2 + +set CSI_8BIT "\x9b" + +tcsgrep_start + +# Use Latin-1 charset, which supports 8-bit characters. +# Otherwise it will be converted into a 2-byte UTF-8 character. +fconfigure $spawn_id -encoding iso8859-1 + +send $CSI_8BIT +expect { + # ctlseqs does not recognize 8-bit control characters, + # but reading them should not break the program. + -ex "NOSEQ 1 \\x9b\n" { + pass "pass" + } + default { + puts $expect_out(buffer) + fail "fail" + } +} + +tcsgrep_stop diff --git a/tests/ctlseqs/match.exp b/tests/ctlseqs/match.exp index 637d8b5..fbeb771 100644 --- a/tests/ctlseqs/match.exp +++ b/tests/ctlseqs/match.exp @@ -28,7 +28,7 @@ tcsgrep_start for { set i 0 } { $i < [ llength $input ] } { incr i } { set seq [ lindex $input $i ] set expected [ lindex $output $i ] - send -- $seq + send $seq expect { -ex "$expected\n" { pass "pass" diff --git a/tests/ctlseqs/nomem.exp b/tests/ctlseqs/nomem.exp index 38bf034..8c934a8 100644 --- a/tests/ctlseqs/nomem.exp +++ b/tests/ctlseqs/nomem.exp @@ -9,12 +9,15 @@ set tool ctlseqs set timeout 2 +# Tests library behaviour when read buffer is full. +# Also tests whether buffer purging works. + set seq "${CSI}123;4567S" set expected "NOMEM 10 ESC \[ 1 2 3 ; 4 5 6 7\nNOSEQ 1 S" tcsgrep_start limit=10 purge -send -- $seq +send $seq expect { -ex "$expected\n" { pass "pass" diff --git a/tests/ctlseqs/partial.exp b/tests/ctlseqs/partial.exp index 081e55a..dea38ef 100644 --- a/tests/ctlseqs/partial.exp +++ b/tests/ctlseqs/partial.exp @@ -14,9 +14,11 @@ set nlen [ string length $n1 ] tcsgrep_start verbose -send -- "$CSI" +send "$CSI" expect { - -ex "PARTIAL 2 ESC \[\n" { } + -ex "PARTIAL 2 ESC \[\n" { + pass "pass" + } default { puts $expect_out(buffer) fail "fail" @@ -24,9 +26,11 @@ expect { } for { set i 0 } { $i < $nlen } { incr i } { - send -- [ string index $n1 $i ] + send [ string index $n1 $i ] expect { - -ex "PARTIAL [ expr $i + 3 ] ESC \[ [ split [ string range $n1 0 $i ] {} ]\n" { } + -ex "PARTIAL [ expr $i + 3 ] ESC \[ [ split [ string range $n1 0 $i ] {} ]\n" { + pass "pass" + } default { puts $expect_out(buffer) fail "fail" @@ -34,7 +38,7 @@ for { set i 0 } { $i < $nlen } { incr i } { } } -send -- "p" +send "p" expect { -ex "NOMATCH [ expr $nlen + 3 ] ESC \[ [ split $n1 {} ] p\n" { pass "pass"