diff options
Diffstat (limited to 'test/test_line_buffer.sh')
-rw-r--r-- | test/test_line_buffer.sh | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/test/test_line_buffer.sh b/test/test_line_buffer.sh new file mode 100644 index 0000000..43a2580 --- /dev/null +++ b/test/test_line_buffer.sh @@ -0,0 +1,78 @@ +#! /bin/bash + +cp ${test_dir}/logfile_access_log.1 logfile_changed.0 +chmod u+w logfile_changed.0 +run_test ${lnav_test} -n \ + -c ":rebuild" \ + -c ":shexec head -1 ${test_dir}/logfile_access_log.0 > logfile_changed.0" \ + -c ":rebuild" \ + logfile_changed.0 + +check_error_output "line buffer cache flush" <<EOF +EOF + +check_output "line buffer cache flush is not working" <<EOF +192.168.202.254 - - [20/Jul/2009:22:59:26 +0000] "GET /vmw/cgi/tramp HTTP/1.0" 200 134 "-" "gPXE/0.9.7" +EOF + +run_test ./drive_line_buffer "${top_srcdir}/src/line_buffer.hh" + +check_output "Line buffer output doesn't match input?" < \ + "${top_srcdir}/src/line_buffer.hh" + +run_test ./drive_line_buffer < ${top_srcdir}/src/line_buffer.hh + +check_output "Line buffer output doesn't match input from pipe?" < \ + "${top_srcdir}/src/line_buffer.hh" + +cat > lb.dat <<EOF +1 +2 +3 +4 +5 +EOF + +LINE_OFF=`grep -b '4' lb.dat | cut -f 1 -d :` + +run_test ./drive_line_buffer -o $LINE_OFF lb.dat + +check_output "Seeking in the line buffer doesn't work?" <<EOF +4 +5 +EOF + +run_test ./drive_line_buffer -o 4424 -c 1 ${srcdir}/UTF-8-test.txt + +check_output "Invalid UTF is not scrubbed?" <<EOF +2.1.5 5 bytes (U-00200000): "?????" | +EOF + +cat "${top_srcdir}/src/"*.hh "${top_srcdir}/src/"*.cc > lb-2.dat +grep -b '$' lb-2.dat | cut -f 1 -d : > lb.index + +run_test ./drive_line_buffer -i lb.index -n 10 lb-2.dat + +check_output "Random reads don't match input?" <<EOF +All done +EOF + +gzip -c ${test_dir}/logfile_access_log.1 > lb-double.gz +gzip -c ${test_dir}/logfile_access_log.1 >> lb-double.gz +run_test ${lnav_test} -n lb-double.gz + +gzip -dc lb-double.gz | \ + check_output "concatenated gzip files don't parse correctly" + +> lb-3.gz +while test $(wc -c < lb-3.gz) -le 5000000 ; do + cat lb-2.dat +done | gzip -c -1 > lb-3.gz +gzip -dc lb-3.gz > lb-3.dat +grep -b '$' lb-3.dat | cut -f 1 -d : > lb-3.index + +run_test ./drive_line_buffer -i lb-3.index -n 10 lb-3.gz lb-3.dat + +check_output "Random gzipped reads don't match input" <<EOF +All done +EOF
\ No newline at end of file |