Download | Plain Text | No Line Numbers
- #!/bin/bash
-
- in="${1:-/lib/libc.so.6}"
- size="${2:-500}"
- chunksize="${3:-50}"
- ref="refdata"
- out="outdata"
-
- echo "Creating reference data ..."
- dd if="$in" of="$ref" bs=1 count="$size" status=noxfer
-
- echo "Create chunk files ..."
- split -b $chunksize -d "$ref" CHUNK
-
- echo "Starting ./gluefile -s $size $out ..."
- ./gluefile -s $size $out &
- pid=$!
- echo " done (pid=$pid)"
-
- ps -p $pid >/dev/null
- status=$?
- while [ $status -eq 0 ]
- do
- let "num = $RANDOM % ($size/$chunksize)"
- let "offset = $num * $chunksize"
- echo "Executing ./insertfile -o $offset CHUNK$num ..."
- num2=$(printf "%02d" $num)
- ./insertfile -o $offset CHUNK$num2
-
- ps -p $pid >/dev/null
- status=$?
- done
- echo "done..."
-
- echo "Checking MD5SUMs ..."
- if [ "$(md5sum < $ref)" = "$(md5sum < $out)" ]
- then
- echo "-> SUCCESS"
- rm -f "$ref" "$out" CHUNK*
- else
- echo "-> FAILURE"
- exit 1
- fi
-