1*cf5a6c84SAndroid Build Coastguard Worker#!/bin/bash 2*cf5a6c84SAndroid Build Coastguard Worker 3*cf5a6c84SAndroid Build Coastguard Worker[ -f testing.sh ] && . testing.sh 4*cf5a6c84SAndroid Build Coastguard Worker 5*cf5a6c84SAndroid Build Coastguard Worker#testing "name" "command" "result" "infile" "stdin" 6*cf5a6c84SAndroid Build Coastguard Worker 7*cf5a6c84SAndroid Build Coastguard Workerif [ "$(id -u)" -ne 0 ] 8*cf5a6c84SAndroid Build Coastguard Workerthen 9*cf5a6c84SAndroid Build Coastguard Worker echo "$SHOWSKIP: nbd-client (not root)" 10*cf5a6c84SAndroid Build Coastguard Worker return 2>/dev/null 11*cf5a6c84SAndroid Build Coastguard Worker exit 12*cf5a6c84SAndroid Build Coastguard Workerfi 13*cf5a6c84SAndroid Build Coastguard Worker 14*cf5a6c84SAndroid Build Coastguard Worker# Test filesystem images 15*cf5a6c84SAndroid Build Coastguard Worker 16*cf5a6c84SAndroid Build Coastguard Worker# truncate -s256k ext2.img; mke2fs ext2.img; bzip2 < ext2.img | base64 17*cf5a6c84SAndroid Build Coastguard Workerbase64 -d | bzcat > ext2.img << EOF 18*cf5a6c84SAndroid Build Coastguard WorkerQlpoOTFBWSZTWbBa6EkAABn//////0BEGVhI8AFKBR1FzqBiBACiQgFgAEgAAhVAZ4QMsAEYJEFN 19*cf5a6c84SAndroid Build Coastguard WorkerI0AA0AAAABoGgAGmg2ppkHMJoDQGjRhGgxGmJkxNBhGgZAMmAkiSamj0I9BMmmmEaAAAANADQGmI 20*cf5a6c84SAndroid Build Coastguard WorkerVsb7iiy5kJkdeO7Nijja84iwwpZrgb1C54RIVpgQISiSGEk87UjHU9lMEUdeBNZVp2dNZqlfPsaF 21*cf5a6c84SAndroid Build Coastguard Workerm1bufdAsy3r0SJadGCGluQKTCBABVYyGSUjCNaq4AABbuvG2UToQVhiJkSMCCV3QCADJbdvuYpjo 22*cf5a6c84SAndroid Build Coastguard WorkervsnYkYkIFnzihj/ICWNlSoOYMLqmT3wO4C5ZCEAztpmAFCV0rUUwIgcB45oB+8iI/vtvYqkkWU7T 23*cf5a6c84SAndroid Build Coastguard WorkerQiPrkylDZYYRPFZQUFGmgRAFgwEygDC+o7xtv26GOcRFYzdlo2G5i0Yg1WxsQYQJJJhfrCP6DgGA 24*cf5a6c84SAndroid Build Coastguard WorkerVSH+LuSKcKEhYLXQkg== 25*cf5a6c84SAndroid Build Coastguard WorkerEOF 26*cf5a6c84SAndroid Build Coastguard Worker 27*cf5a6c84SAndroid Build Coastguard Workertuncate -s360k fat.img; mkfs.fat fat.img; bzip2 < fat.img | base64 28*cf5a6c84SAndroid Build Coastguard Workerbase64 -d | bzcat > fat.img << EOF 29*cf5a6c84SAndroid Build Coastguard WorkerQlpoOTFBWSZTWRzu2ngAC6j/v/C7YaDQITAEIwPHCTfv3CRAQAAUBAlAAkAABAhAC7AAu2oampqP 30*cf5a6c84SAndroid Build Coastguard WorkerSMgAGmmgAAM1AaZGE8oNU8lPU2piDQBoADQAGgaHpPUaBlIjaQAaAGgA0yaaMJk0Bo0KfAsgEkgE 31*cf5a6c84SAndroid Build Coastguard Workerj8EGgCSAQSEwpVSi2ik+oAQCC0FJOUzrkxZikHndRLY4URVk3SAv4kdIUvCMR7xxaNBFDI63CTTL 32*cf5a6c84SAndroid Build Coastguard Worker+9TioH4KEDXJDB1p4/uaA4CiIOROg4eLOL5FJBAk24CR6KFRyRLEdFnt1RnVbD9PKNZduYsKfdFB 33*cf5a6c84SAndroid Build Coastguard Worker5xE1ErWAhXDDdJmXHoknmTLMhczHhSlJogGAMDGDxLOsTj+LuSKcKEgOd208AA== 34*cf5a6c84SAndroid Build Coastguard WorkerEOF 35*cf5a6c84SAndroid Build Coastguard Worker 36*cf5a6c84SAndroid Build Coastguard Worker 37*cf5a6c84SAndroid Build Coastguard Worker 38*cf5a6c84SAndroid Build Coastguard Workerdd if= 39*cf5a6c84SAndroid Build Coastguard Workertestcmd " 40*cf5a6c84SAndroid Build Coastguard Worker 41*cf5a6c84SAndroid Build Coastguard Workerecho "one" > file1 42*cf5a6c84SAndroid Build Coastguard Workerecho "two" > file2 43*cf5a6c84SAndroid Build Coastguard Workertesting "cat" "cat && echo yes" "oneyes\n" "" "one" 44*cf5a6c84SAndroid Build Coastguard Workertesting "-" "cat - && echo yes" "oneyes\n" "" "one" 45*cf5a6c84SAndroid Build Coastguard Workertesting "file1 file2" "cat file1 file2" "one\ntwo\n" "" "" 46*cf5a6c84SAndroid Build Coastguard Workertesting "- file" "cat - file1" "zero\none\n" "" "zero\n" 47*cf5a6c84SAndroid Build Coastguard Workertesting "file -" "cat file1 -" "one\nzero\n" "" "zero\n" 48*cf5a6c84SAndroid Build Coastguard Worker 49*cf5a6c84SAndroid Build Coastguard Workertesting "file1 notfound file2" \ 50*cf5a6c84SAndroid Build Coastguard Worker "cat file1 notfound file2 2>stderr && echo ok ; cat stderr; rm stderr" \ 51*cf5a6c84SAndroid Build Coastguard Worker "one\ntwo\ncat: notfound: No such file or directory\n" "" "" 52*cf5a6c84SAndroid Build Coastguard Worker 53*cf5a6c84SAndroid Build Coastguard Workertesting "binary" \ 54*cf5a6c84SAndroid Build Coastguard Worker 'cat "$C" > file1 && cmp "$C" file1 && echo yes' "yes\n" "" "" 55*cf5a6c84SAndroid Build Coastguard Worker 56*cf5a6c84SAndroid Build Coastguard Workertesting "- file1" \ 57*cf5a6c84SAndroid Build Coastguard Worker "cat - file1 | diff -a -U 0 - file1 | tail -n 1" \ 58*cf5a6c84SAndroid Build Coastguard Worker "-hello\n" "" "hello\n" 59*cf5a6c84SAndroid Build Coastguard Worker 60*cf5a6c84SAndroid Build Coastguard Workerskipnot [ -e /dev/full ] 61*cf5a6c84SAndroid Build Coastguard Workertesting "> /dev/full" \ 62*cf5a6c84SAndroid Build Coastguard Worker "cat - > /dev/full 2>/dev/null || echo failed" \ 63*cf5a6c84SAndroid Build Coastguard Worker "failed\n" "" "zero\n" 64*cf5a6c84SAndroid Build Coastguard Worker 65*cf5a6c84SAndroid Build Coastguard Workerrm file1 file2 66