1#!/usr/local/bin/perl
2# $Id: test.pl,v 1.4 2002/10/01 22:26:00 rowan Exp $
3#
4# tests for differences between pmars and exhaust
5#
6
7
8die "usage: $0: start_ix warriorA warriorB\n" if @ARGV < 3;
9
10$start = $ARGV[0];
11$WA = $ARGV[1];
12$WB = $ARGV[2];
13
14for ($i = $start; $i < 8000; $i++) {
15    $F = $i;
16    if ( $F >= 100 && $F <= 8000-100 ) {
17	if (1) {
18	    print( "(i=$i): $F\n")  if $i % 25 == 0;
19	    if ( 0 != play( $F ) ) {
20		print "(i=$i): difference at position $F\n";
21		last;
22	    }
23	}
24    }
25}
26exit 0;
27
28sub play {
29    my $F = shift;
30    my $p, $e;
31    do { $p = `pmars-server -bkF $F $WA $WB 2>/dev/null`} && $? == 0
32	or die "$0: execution of  'pmars-server' failed: $?\n";
33    do { $e = `exhaust -bkF $F $WA $WB` } && $? == 0
34	or die "$0: execution of 'exhaust' failed: $?\n";
35    return $p cmp $e;
36}
37