mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 16:53:09 +00:00

Perform more complex verification and validation. - signature.sh : extract and optionally compare Bench/Signature/Node count. - perft.sh : verify perft counts for a number of positions. - instrumented.sh : run a few commands or uci sequences through valgrind/sanitizer instrumented binaries. - reprosearch.sh : verify reproducibility of search. These script can be used from directly from the command line in the src directory. Update travis script to use these shell scripts. No functional change.
72 lines
2 KiB
YAML
72 lines
2 KiB
YAML
language: cpp
|
|
sudo: required
|
|
dist: trusty
|
|
|
|
matrix:
|
|
include:
|
|
- os: linux
|
|
compiler: gcc
|
|
addons:
|
|
apt:
|
|
sources: ['ubuntu-toolchain-r-test']
|
|
packages: ['g++-6', 'g++-6-multilib', 'g++-multilib', 'valgrind', 'expect']
|
|
env:
|
|
- COMPILER=g++-6
|
|
- COMP=gcc
|
|
|
|
- os: linux
|
|
compiler: clang
|
|
addons:
|
|
apt:
|
|
sources: ['ubuntu-toolchain-r-test']
|
|
packages: ['clang', 'g++-multilib', 'valgrind', 'expect']
|
|
env:
|
|
- COMPILER=clang++
|
|
- COMP=clang
|
|
|
|
- os: osx
|
|
compiler: gcc
|
|
env:
|
|
- COMPILER=g++
|
|
- COMP=gcc
|
|
|
|
- os: osx
|
|
compiler: clang
|
|
env:
|
|
- COMPILER=clang++ V='Apple LLVM 6.0' # Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn)
|
|
- COMP=clang
|
|
|
|
branches:
|
|
only:
|
|
- master
|
|
|
|
before_script:
|
|
- cd src
|
|
|
|
script:
|
|
#
|
|
# checking bench for various build types
|
|
#
|
|
# obtain reference
|
|
- make clean && make ARCH=x86-64 optimize=no debug=yes build > /dev/null && export benchref=$(../tests/signature.sh)
|
|
- echo "Reference bench:" $benchref
|
|
# verify against reference
|
|
- make clean && make ARCH=x86-64 build > /dev/null && ../tests/signature.sh $benchref
|
|
- make clean && make ARCH=x86-32 build > /dev/null && ../tests/signature.sh $benchref
|
|
#
|
|
# perft
|
|
#
|
|
- make clean && make ARCH=x86-64 build > /dev/null && ../tests/perft.sh
|
|
#
|
|
# reproducible search
|
|
#
|
|
- make clean && make ARCH=x86-64 build > /dev/null && ../tests/reprosearch.sh
|
|
#
|
|
# valgrind
|
|
#
|
|
- if [ -x "$(command -v valgrind )" ]; then make clean && make ARCH=x86-64 debug=yes optimize=no build > /dev/null && ../tests/instrumented.sh --valgrind; fi
|
|
#
|
|
# sanitizer
|
|
#
|
|
# use g++-6 as a proxy for having sanitizers, might need revision as they become available for more recent versions of clang/gcc
|
|
- if [[ "$COMPILER" == "g++-6" ]]; then make clean && make ARCH=x86-64 sanitize=yes build > /dev/null && ../tests/instrumented.sh --sanitizer; fi
|