#!/bin/sh source "${srcdir=.}/init.sh"; path_prepend_ . setglobal fail = '0' test-readtokens || setglobal fail = '1' # Simplest case. echo a:b:c: > exp || setglobal fail = '1' printf a:b:c | test-readtokens : > out !2 > !1 || setglobal fail = '1' compare exp out || setglobal fail = '1' # Use NUL as the delimiter. echo a:b:c: > exp || setglobal fail = '1' printf 'a\0b\0c' | test-readtokens '\0' > out !2 > !1 || setglobal fail = '1' compare exp out || setglobal fail = '1' # Two delimiter bytes, and adjacent delimiters in the input. echo a:b:c: > exp || setglobal fail = '1' printf a:-:b-:c:: | test-readtokens :- > out !2 > !1 || setglobal fail = '1' compare exp out || setglobal fail = '1' Exit $fail