#!/usr/bin/perl
# Creates a pair of semi-random files and check if rdiff
# correctlys updates the first to the second.

# script is "./g"

$size = 5 << 30;
$blocklen = 6000;

use Getopt::Long;
GetOptions("size=i" => \$size,
           "blocklen=i" => \$blocklen);

$runlen = $blocklen / 3;

sub makefile { # Make a moderately random $size-byte file
    ($fname,$size)=@_;
    print "Creating: $fname ($size bytes)\n";
    open OUT,">$fname" or die "Can't open $fname";
    for $i (1..$size/$runlen) {
	$ch = chr(32+int(rand(127))) ;
	print OUT ($ch x $runlen);
    }
    $ch = chr(32+int(rand(127))) ;
    print OUT ($ch x ($size % $runlen));
}

sub run {
    ($cmd)=@_;
    print "Running: $cmd\n";
    system($cmd)==0 or die "FAILED!";
}

srand(0);
makefile('old',$size);
makefile('new',$size);
run("time rdiff signature -b $blocklen old old.sig");
run("time rdiff delta -s old.sig new delta");
run("time rdiff patch -s old delta new2");
print "Comparing MD5 hashes...\n";
$sum1 = `md5sum < new`; die 'Failed 1' unless $?==0; print $sum1;
$sum2 = `md5sum < new2`; die 'Failed 2' unless $?==0; print $sum2;
die "DIFFERENT\n" unless $sum1==$sum2;
print "SUCCESS\n"
