1#!/bin/bash 2 3[ -f testing.sh ] && . testing.sh 4 5#testing "name" "command" "result" "infile" "stdin" 6 7if [ "$(id -u)" -ne 0 ] 8then 9 echo "$SHOWSKIP: nbd-client (not root)" 10 return 2>/dev/null 11 exit 12fi 13 14# Test filesystem images 15 16# truncate -s256k ext2.img; mke2fs ext2.img; bzip2 < ext2.img | base64 17base64 -d | bzcat > ext2.img << EOF 18QlpoOTFBWSZTWbBa6EkAABn//////0BEGVhI8AFKBR1FzqBiBACiQgFgAEgAAhVAZ4QMsAEYJEFN 19I0AA0AAAABoGgAGmg2ppkHMJoDQGjRhGgxGmJkxNBhGgZAMmAkiSamj0I9BMmmmEaAAAANADQGmI 20Vsb7iiy5kJkdeO7Nijja84iwwpZrgb1C54RIVpgQISiSGEk87UjHU9lMEUdeBNZVp2dNZqlfPsaF 21m1bufdAsy3r0SJadGCGluQKTCBABVYyGSUjCNaq4AABbuvG2UToQVhiJkSMCCV3QCADJbdvuYpjo 22vsnYkYkIFnzihj/ICWNlSoOYMLqmT3wO4C5ZCEAztpmAFCV0rUUwIgcB45oB+8iI/vtvYqkkWU7T 23QiPrkylDZYYRPFZQUFGmgRAFgwEygDC+o7xtv26GOcRFYzdlo2G5i0Yg1WxsQYQJJJhfrCP6DgGA 24VSH+LuSKcKEhYLXQkg== 25EOF 26 27tuncate -s360k fat.img; mkfs.fat fat.img; bzip2 < fat.img | base64 28base64 -d | bzcat > fat.img << EOF 29QlpoOTFBWSZTWRzu2ngAC6j/v/C7YaDQITAEIwPHCTfv3CRAQAAUBAlAAkAABAhAC7AAu2oampqP 30SMgAGmmgAAM1AaZGE8oNU8lPU2piDQBoADQAGgaHpPUaBlIjaQAaAGgA0yaaMJk0Bo0KfAsgEkgE 31j8EGgCSAQSEwpVSi2ik+oAQCC0FJOUzrkxZikHndRLY4URVk3SAv4kdIUvCMR7xxaNBFDI63CTTL 32+9TioH4KEDXJDB1p4/uaA4CiIOROg4eLOL5FJBAk24CR6KFRyRLEdFnt1RnVbD9PKNZduYsKfdFB 335xE1ErWAhXDDdJmXHoknmTLMhczHhSlJogGAMDGDxLOsTj+LuSKcKEgOd208AA== 34EOF 35 36 37 38dd if= 39testcmd " 40 41echo "one" > file1 42echo "two" > file2 43testing "cat" "cat && echo yes" "oneyes\n" "" "one" 44testing "-" "cat - && echo yes" "oneyes\n" "" "one" 45testing "file1 file2" "cat file1 file2" "one\ntwo\n" "" "" 46testing "- file" "cat - file1" "zero\none\n" "" "zero\n" 47testing "file -" "cat file1 -" "one\nzero\n" "" "zero\n" 48 49testing "file1 notfound file2" \ 50 "cat file1 notfound file2 2>stderr && echo ok ; cat stderr; rm stderr" \ 51 "one\ntwo\ncat: notfound: No such file or directory\n" "" "" 52 53testing "binary" \ 54 'cat "$C" > file1 && cmp "$C" file1 && echo yes' "yes\n" "" "" 55 56testing "- file1" \ 57 "cat - file1 | diff -a -U 0 - file1 | tail -n 1" \ 58 "-hello\n" "" "hello\n" 59 60skipnot [ -e /dev/full ] 61testing "> /dev/full" \ 62 "cat - > /dev/full 2>/dev/null || echo failed" \ 63 "failed\n" "" "zero\n" 64 65rm file1 file2 66