1*cf5a6c84SAndroid Build Coastguard Worker#!/bin/bash 2*cf5a6c84SAndroid Build Coastguard Worker 3*cf5a6c84SAndroid Build Coastguard Worker#testing "name" "command" "result" "infile" "stdin" 4*cf5a6c84SAndroid Build Coastguard Worker 5*cf5a6c84SAndroid Build Coastguard Workerecho "xxxxxxxxhello, world!" > foo 6*cf5a6c84SAndroid Build Coastguard Workertestcmd 'read default (4)' '-f foo 0x8' '0x6c6c6568\n' '' '' 7*cf5a6c84SAndroid Build Coastguard Workertestcmd 'read 1' '-f foo 0x8 1' '0x68\n' '' '' 8*cf5a6c84SAndroid Build Coastguard Workertestcmd 'read 2' '-f foo 0x8 2' '0x6568\n' '' '' 9*cf5a6c84SAndroid Build Coastguard Workertestcmd 'read 4' '-f foo 0x8 4' '0x6c6c6568\n' '' '' 10*cf5a6c84SAndroid Build Coastguard Workertestcmd 'read 8' '-f foo 0x8 8' '0x77202c6f6c6c6568\n' '' '' 11*cf5a6c84SAndroid Build Coastguard Worker 12*cf5a6c84SAndroid Build Coastguard Workertestcmd 'read --no-mmap default (4)' '--no-mmap -f foo 0x8' '0x6c6c6568\n' '' '' 13*cf5a6c84SAndroid Build Coastguard Workertestcmd 'read --no-mmap 1' '--no-mmap -f foo 0x8 1' '0x68\n' '' '' 14*cf5a6c84SAndroid Build Coastguard Workertestcmd 'read --no-mmap 2' '--no-mmap -f foo 0x8 2' '0x6568\n' '' '' 15*cf5a6c84SAndroid Build Coastguard Workertestcmd 'read --no-mmap 4' '--no-mmap -f foo 0x8 4' '0x6c6c6568\n' '' '' 16*cf5a6c84SAndroid Build Coastguard Workertestcmd 'read --no-mmap 8' '--no-mmap -f foo 0x8 8' '0x77202c6f6c6c6568\n' '' '' 17*cf5a6c84SAndroid Build Coastguard Worker 18*cf5a6c84SAndroid Build Coastguard Workerhead -c 32 /dev/zero > foo 19*cf5a6c84SAndroid Build Coastguard WorkerNOSPACE=1 testcmd 'write 1' '-f foo 0x8 1 0x12 && od -t x foo' '0000000 00000000 00000000 00000012 00000000\n0000020 00000000 00000000 00000000 00000000\n0000040\n' '' '' 20*cf5a6c84SAndroid Build Coastguard WorkerNOSPACE=1 testcmd 'write 2' '-f foo 0x8 2 0x1234 && od -t x foo' '0000000 00000000 00000000 00001234 00000000\n0000020 00000000 00000000 00000000 00000000\n0000040\n' '' '' 21*cf5a6c84SAndroid Build Coastguard WorkerNOSPACE=1 testcmd 'write 4' '-f foo 0x8 4 0x12345678 && od -t x foo' '0000000 00000000 00000000 12345678 00000000\n0000020 00000000 00000000 00000000 00000000\n0000040\n' '' '' 22*cf5a6c84SAndroid Build Coastguard WorkerNOSPACE=1 testcmd 'write 8' '-f foo 0x8 8 0x12345678abcdef01 && od -t x foo' '0000000 00000000 00000000 abcdef01 12345678\n0000020 00000000 00000000 00000000 00000000\n0000040\n' '' '' 23*cf5a6c84SAndroid Build Coastguard Worker 24*cf5a6c84SAndroid Build Coastguard Workerhead -c 32 /dev/zero > foo 25*cf5a6c84SAndroid Build Coastguard WorkerNOSPACE=1 testcmd 'write --no-mmap 1' '--no-mmap -f foo 0x8 1 0x12 && od -t x foo' '0000000 00000000 00000000 00000012 00000000\n0000020 00000000 00000000 00000000 00000000\n0000040\n' '' '' 26*cf5a6c84SAndroid Build Coastguard WorkerNOSPACE=1 testcmd 'write --no-mmap 2' '--no-mmap -f foo 0x8 2 0x1234 && od -t x foo' '0000000 00000000 00000000 00001234 00000000\n0000020 00000000 00000000 00000000 00000000\n0000040\n' '' '' 27*cf5a6c84SAndroid Build Coastguard WorkerNOSPACE=1 testcmd 'write --no-mmap 4' '--no-mmap -f foo 0x8 4 0x12345678 && od -t x foo' '0000000 00000000 00000000 12345678 00000000\n0000020 00000000 00000000 00000000 00000000\n0000040\n' '' '' 28*cf5a6c84SAndroid Build Coastguard WorkerNOSPACE=1 testcmd 'write --no-mmap 8' '--no-mmap -f foo 0x8 8 0x12345678abcdef01 && od -t x foo' '0000000 00000000 00000000 abcdef01 12345678\n0000020 00000000 00000000 00000000 00000000\n0000040\n' '' '' 29*cf5a6c84SAndroid Build Coastguard Worker 30*cf5a6c84SAndroid Build Coastguard Workerhead -c 32 /dev/zero > foo 31*cf5a6c84SAndroid Build Coastguard WorkerNOSPACE=1 testcmd 'write 1 multiple' '-f foo 0x8 1 0x12 0x34 && od -t x foo' '0000000 00000000 00000000 00003412 00000000\n0000020 00000000 00000000 00000000 00000000\n0000040\n' '' '' 32*cf5a6c84SAndroid Build Coastguard WorkerNOSPACE=1 testcmd 'write 2 multiple' '-f foo 0x8 2 0x1234 0x5678 && od -t x foo' '0000000 00000000 00000000 56781234 00000000\n0000020 00000000 00000000 00000000 00000000\n0000040\n' '' '' 33*cf5a6c84SAndroid Build Coastguard WorkerNOSPACE=1 testcmd 'write 4 multiple' '-f foo 0x8 4 0x12345678 0xabcdef01 && od -t x foo' '0000000 00000000 00000000 12345678 abcdef01\n0000020 00000000 00000000 00000000 00000000\n0000040\n' '' '' 34*cf5a6c84SAndroid Build Coastguard WorkerNOSPACE=1 testcmd 'write 8 multiple' '-f foo 0x8 8 0x12345678abcdef01 0x1122334455667788 && od -t x foo' '0000000 00000000 00000000 abcdef01 12345678\n0000020 55667788 11223344 00000000 00000000\n0000040\n' '' '' 35*cf5a6c84SAndroid Build Coastguard Worker 36*cf5a6c84SAndroid Build Coastguard Workerhead -c 32 /dev/zero > foo 37*cf5a6c84SAndroid Build Coastguard WorkerNOSPACE=1 testcmd 'write --no-mmap 1 multiple' '--no-mmap -f foo 0x8 1 0x12 0x34 && od -t x foo' '0000000 00000000 00000000 00003412 00000000\n0000020 00000000 00000000 00000000 00000000\n0000040\n' '' '' 38*cf5a6c84SAndroid Build Coastguard WorkerNOSPACE=1 testcmd 'write --no-mmap 2 multiple' '--no-mmap -f foo 0x8 2 0x1234 0x5678 && od -t x foo' '0000000 00000000 00000000 56781234 00000000\n0000020 00000000 00000000 00000000 00000000\n0000040\n' '' '' 39*cf5a6c84SAndroid Build Coastguard WorkerNOSPACE=1 testcmd 'write --no-mmap 4 multiple' '--no-mmap -f foo 0x8 4 0x12345678 0xabcdef01 && od -t x foo' '0000000 00000000 00000000 12345678 abcdef01\n0000020 00000000 00000000 00000000 00000000\n0000040\n' '' '' 40*cf5a6c84SAndroid Build Coastguard WorkerNOSPACE=1 testcmd 'write --no-mmap 8 multiple' '--no-mmap -f foo 0x8 8 0x12345678abcdef01 0x1122334455667788 && od -t x foo' '0000000 00000000 00000000 abcdef01 12345678\n0000020 55667788 11223344 00000000 00000000\n0000040\n' '' '' 41