"Fossies" - the Fresh Open Source Software Archive

Member "stockfish-11-linux/tests/reprosearch.sh" (18 Jan 2020, 1277 Bytes) of package /linux/privat/stockfish-11-linux.zip:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Bash source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 #!/bin/bash
    2 # verify reproducible search
    3 
    4 error()
    5 {
    6   echo "reprosearch testing failed on line $1"
    7   exit 1
    8 }
    9 trap 'error ${LINENO}' ERR
   10 
   11 echo "reprosearch testing started"
   12 
   13 # repeat two short games, separated by ucinewgame. 
   14 # with go nodes $nodes they should result in exactly
   15 # the same node count for each iteration.
   16 cat << EOF > repeat.exp
   17  set timeout 10
   18  spawn ./stockfish
   19  lassign \$argv nodes
   20 
   21  send "uci\n"
   22  expect "uciok"
   23 
   24  send "ucinewgame\n"
   25  send "position startpos\n"
   26  send "go nodes \$nodes\n"
   27  expect "bestmove"
   28 
   29  send "position startpos moves e2e4 e7e6\n"
   30  send "go nodes \$nodes\n"
   31  expect "bestmove"
   32 
   33  send "ucinewgame\n"
   34  send "position startpos\n"
   35  send "go nodes \$nodes\n"
   36  expect "bestmove"
   37 
   38  send "position startpos moves e2e4 e7e6\n"
   39  send "go nodes \$nodes\n"
   40  expect "bestmove"
   41 
   42  send "quit\n"
   43  expect eof
   44 EOF
   45 
   46 # to increase the likelyhood of finding a non-reproducible case,
   47 # the allowed number of nodes are varied systematically
   48 for i in `seq 1 20`
   49 do
   50 
   51   nodes=$((100*3**i/2**i))
   52   echo "reprosearch testing with $nodes nodes"
   53 
   54   # each line should appear exactly an even number of times
   55   expect repeat.exp $nodes 2>&1 | grep -o "nodes [0-9]*" | sort | uniq -c | awk '{if ($1%2!=0) exit(1)}'
   56 
   57 done
   58 
   59 rm repeat.exp
   60 
   61 echo "reprosearch testing OK"