blob: 2c740abc80a179d819dcfb4f9592747f83080f8f [file] [log] [blame]
Denys Vlasenkodac5b832020-10-20 18:54:36 +02001#!/bin/sh
2
3# Copyright 2020 by Denys Vlasenko <vda.linux@googlemail.com>
4# Licensed under GPLv2, see file LICENSE in this source tree.
5
6. ./testing.sh
7
8# testing "description" "command" "result" "infile" "stdin"
9testing 'xxd -p with one NUL' \
10 'xxd -p' \
11 "\
1200
13" \
14 '' \
15 '\0'
16
17testing 'xxd -p with 30 NULs' \
18 'xxd -p' \
19 "\
20000000000000000000000000000000000000000000000000000000000000
21" \
22 '' \
23 '\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'
24
25testing 'xxd -p with 31 NULs' \
26 'xxd -p' \
27 "\
28000000000000000000000000000000000000000000000000000000000000
2900
30" \
31 '' \
32 '\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'
33
Denys Vlasenko86ba0072021-10-08 23:03:54 +020034testing 'xxd -p -r' \
35 'xxd -p -r' \
36 '01234567765432100123456776543210' \
37 '' \
38 '30313233343536373736353433323130 30313233343536373736353433323130'
39
Denys Vlasenkof318ada2022-08-22 15:40:47 +020040testing 'xxd -r skips leading whitespace and truncates at two spaces' \
41 'xxd -r' \
42 '0123456789:;<=>?@' \
Denys Vlasenko0011a6b2022-08-22 15:57:57 +020043 '' "\
Denys Vlasenkof318ada2022-08-22 15:40:47 +020044 00000000: 3031 3233 3435 3637 3839 3a3b 3c3d 3e3f 0123456789:;<=>?
45 00000010: 40 @
46"
47
Denys Vlasenko0011a6b2022-08-22 15:57:57 +020048testing 'xxd -p -r skips one bad char, truncates at two bad chars' \
49 'xxd -p -r' \
50 '01' \
51 '' "\
5230 !31 !!32
53"
54
55testing 'xxd -p -r ignores the nibble with 2nd char bad' \
56 'xxd -p -r' \
57 '3C6' \
58 '' "\
5933 3!4 3!!5
6036
61"
62
Denys Vlasenkodac5b832020-10-20 18:54:36 +020063exit $FAILCOUNT