#!/bin/sh # Copyright 2020 by Denys Vlasenko # Licensed under GPLv2, see file LICENSE in this source tree. . ./testing.sh # testing "description" "command" "result" "infile" "stdin" testing 'xxd -p with one NUL' \ 'xxd -p' \ "\ 00 " \ '' \ '\0' testing 'xxd -p with 30 NULs' \ 'xxd -p' \ "\ 000000000000000000000000000000000000000000000000000000000000 " \ '' \ '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0' testing 'xxd -p with 31 NULs' \ 'xxd -p' \ "\ 000000000000000000000000000000000000000000000000000000000000 00 " \ '' \ '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0' testing 'xxd -p -r' \ 'xxd -p -r' \ '01234567765432100123456776543210' \ '' \ '30313233343536373736353433323130 30313233343536373736353433323130' testing 'xxd -r skips leading whitespace and truncates at two spaces' \ 'xxd -r' \ '0123456789:;<=>?@' \ '' "\ 00000000: 3031 3233 3435 3637 3839 3a3b 3c3d 3e3f 0123456789:;<=>? 00000010: 40 @ " testing 'xxd -p -r skips one bad char, truncates at two bad chars' \ 'xxd -p -r' \ '01' \ '' "\ 30 !31 !!32 " testing 'xxd -p -r ignores the nibble with 2nd char bad' \ 'xxd -p -r' \ '3C6' \ '' "\ 33 3!4 3!!5 36 " exit $FAILCOUNT