#!/bin/sh while (true) do generations=`random_numbers 1 1 8` lines=`random_numbers 1 10 5000` max_mutation=`expr 1 \* $lines` max_mutation=`expr $max_mutation \/ 5` mutations=`random_numbers 1 1 $max_mutation` genfile $lines > original cp original save_orig echo testing lines=$lines mutations=$max_mutation generations=$generations rm -f patch_file while [ $generations -ne 0 ]; do ptype=`random_numbers 1 0 99999` ptype=`expr $ptype \% 3` if [ $ptype -eq 0 ]; then ptype="-c" elif [ $ptype -eq 1 ]; then ptype=" " else ptype="-e" fi echo "Creating generation $generations of type ($ptype)..." mutatefile $max_mutation $lines original > mutant echo "Index:original" >> patch_file diff $ptype original mutant >> patch_file mv mutant original generations=`expr $generations - 1` done cp original expected cp save_orig original echo Patching file... ../patch original < patch_file if [ $? -ne 0 ]; then echo Patch returned $? diff original expected > failure exit fi diff original expected > failure if [ $? -ne 0 ]; then echo diff returned $? exit fi done