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 Worker# These tests are from RFC 1321 appendix 5, reshuffled slightly to test 8*cf5a6c84SAndroid Build Coastguard Worker# varying argument numbers 9*cf5a6c84SAndroid Build Coastguard Worker 10*cf5a6c84SAndroid Build Coastguard Workertesting "''" "md5sum" "d41d8cd98f00b204e9800998ecf8427e -\n" "" "" 11*cf5a6c84SAndroid Build Coastguard Workertesting "infile" "md5sum input" \ 12*cf5a6c84SAndroid Build Coastguard Worker "0cc175b9c0f1b6a831c399e269772661 input\n" "a" "" 13*cf5a6c84SAndroid Build Coastguard Workertesting "two files" "md5sum - input" \ 14*cf5a6c84SAndroid Build Coastguard Worker "900150983cd24fb0d6963f7d28e17f72 -\nf96b697d7cb7938d525a2f31aaf161d0 input\n" \ 15*cf5a6c84SAndroid Build Coastguard Worker "message digest" "abc" 16*cf5a6c84SAndroid Build Coastguard Workertesting "4" "md5sum" "c3fcd3d76192e4007dfb496cca67e13b -\n" \ 17*cf5a6c84SAndroid Build Coastguard Worker "" "abcdefghijklmnopqrstuvwxyz" 18*cf5a6c84SAndroid Build Coastguard Workertesting "5" "md5sum" "d174ab98d277d9f5a5611c2c9f419d9f -\n" \ 19*cf5a6c84SAndroid Build Coastguard Worker "" "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" 20*cf5a6c84SAndroid Build Coastguard Workertesting "6" "md5sum" "57edf4a22be3c955ac49da2e2107b67a -\n" \ 21*cf5a6c84SAndroid Build Coastguard Worker "" "12345678901234567890123456789012345678901234567890123456789012345678901234567890" 22*cf5a6c84SAndroid Build Coastguard Worker 23*cf5a6c84SAndroid Build Coastguard Workerecho -n "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" > "te st" 24*cf5a6c84SAndroid Build Coastguard Workertouch empty 25*cf5a6c84SAndroid Build Coastguard Workertesting "-c spaces" "md5sum -c input || echo ok" \ 26*cf5a6c84SAndroid Build Coastguard Worker "te st: OK\nempty: FAILED\n-: OK\nok\n" \ 27*cf5a6c84SAndroid Build Coastguard Worker"$(printf "d174ab98d277d9f5a5611c2c9f419d9f te st\n12345678901234567890123456789012 empty\nd41d8cd98f00b204e9800998ecf8427e -\n")" "" 28*cf5a6c84SAndroid Build Coastguard Workerrm "te st" empty 29*cf5a6c84SAndroid Build Coastguard Worker 30*cf5a6c84SAndroid Build Coastguard Workertesting "-c nolines" "md5sum -c input 2>/dev/null || echo ok" "ok\n" "" "" 31*cf5a6c84SAndroid Build Coastguard Worker 32*cf5a6c84SAndroid Build Coastguard Workertouch empty 33*cf5a6c84SAndroid Build Coastguard Workerecho "d41d8cd98f00b204e9800998ecf8427e empty" > list 34*cf5a6c84SAndroid Build Coastguard Workerecho "041d8cd98f00b204e9800998ecf8427e empty" > badlist 35*cf5a6c84SAndroid Build Coastguard Workertesting "--status okay" "md5sum --status -c list ; echo \$?" "0\n" "" "" 36*cf5a6c84SAndroid Build Coastguard Workertesting "--status fail" "md5sum --status -c badlist ; echo \$?" "1\n" "" "" 37*cf5a6c84SAndroid Build Coastguard Workertesting "-c multiple" "md5sum -c list badlist --status ; echo \$?" "1\n" "" "" 38*cf5a6c84SAndroid Build Coastguard Worker 39*cf5a6c84SAndroid Build Coastguard Workerrm empty list badlist 40