all: xsv
+tests: xsv
+ ./run-tests
+
clean:
rm -f `find . -name "*~" -or -name "*.[oa]" -or -name "\#*\#" -or -name TAGS -or -name core -or -name .depend -or -name .#*`
rm -f xsv
+ rm -rf tmp
--- /dev/null
+#!/bin/sh
+set -e
+
+for a in tests/????-* ; do
+ echo -n "$a: "
+ rm -rf tmp
+ mkdir tmp
+ ARGS=`head -1 <$a`
+ sed '1d; /^---/,$d' <$a >tmp/in
+ sed '1,/^---/d; /^---/,$d' <$a >tmp/expected-out
+ sed '1,/^---/d; 1,/^---/d' <$a >tmp/expected-err
+ if eval ./xsv $ARGS <tmp/in >tmp/out 2>tmp/err ; then
+ if ! cmp -s tmp/out tmp/expected-out ; then
+ echo FAILED
+ diff -u tmp/expected-out tmp/out
+ exit 1
+ elif ! cmp -s tmp/err tmp/expected-err ; then
+ echo FAILED
+ diff -u tmp/expected-err tmp/err
+ exit 1
+ else
+ echo OK
+ fi
+ else
+ echo FAILED
+ exit 1
+ fi
+done
--- /dev/null
+
+12 34 56
+333 22 1
+---
+12 34 56
+333 22 1
--- /dev/null
+-d: 3 1 6-
+root:x:0:0:The Almighty Root:/root:/bin/bash
+radvd:x:110:65534::/var/run/radvd:/bin/false
+statd:x:106:65534::/var/lib/nfs:/bin/false
+usbmux:x:119:46:usbmux daemon,,,:/home/usbmux:/bin/false
+uml-net:x:113:105::/home/uml-net:/bin/false
+ntp:x:118:119::/home/ntp:/bin/false
+---
+0:root:/root:/bin/bash
+110:radvd:/var/run/radvd:/bin/false
+106:statd:/var/lib/nfs:/bin/false
+119:usbmux:/home/usbmux:/bin/false
+113:uml-net:/home/uml-net:/bin/false
+118:ntp:/home/ntp:/bin/false
--- /dev/null
+--tsv --tsv -d:
+xxx
+abc de:f g::hi
+---
+xxx
+abc:de:f:g::hi
+---
+Warning at line 2: Field separator found inside field and quoting is turned off.
+Warning at line 2: Field separator found inside field and quoting is turned off.
+Warning at line 2: Field separator found inside field and quoting is turned off.
--- /dev/null
+--csv --tsv
+1,2002,3
+,1,
+1,"""2,0,0,2""",3
+1,",
+---
+1 2002 3
+ 1
+1 "2,0,0,2" 3
+1 ,
+---
+Warning at line 4: Missing closing quote.
--- /dev/null
+--tsv --csv
+1 2002 3
+ 1
+1 "2,0,0,2" 3
+1 , 3
+---
+1,2002,3
+,1,
+1,"""2,0,0,2""",3
+1,",",3
--- /dev/null
+--ws --tsv -d:
+ byl jednou jeden kral
+a ten \fkral mel rad syr
+---
+:byl:jednou:jeden:kral
+a:ten:kral:mel:rad:syr:
--- /dev/null
+--ws --sloppy --tsv -d:
+ byl jednou jeden kral
+a ten \fkral mel rad syr
+---
+byl:jednou:jeden:kral
+a:ten:kral:mel:rad:syr
--- /dev/null
+--regex='\d+' --tsv -d:
+badc0dem000n
+123poetry456
+---
+badc:dem:n
+:poetry:
--- /dev/null
+--regex='\d+' --sloppy --tsv -d:
+badc0dem000n
+123poetry456
+123456
+---
+badc:dem:n
+poetry
+