# ---------- setup file for unit tests

# ---------- Debugging
DEADLOCKGUARD=1# install guard to avoid deadlocks (SVN default!)
#DEADLOCKGUARD=0# dont install guard (needed to debug in gdb)

# also see test_unit.h@ENABLE_CRASH_TESTS

# ---------- slow tests 
#SKIP_SLOW=15# skip slow tests (run only every SKIP_SLOW minutes)
SKIP_SLOW=0# always run all tests

# ---------- warnings?
#WARN_LEVEL=1# enable warnings (recommended)
WARN_LEVEL=0# disable warnings

# ---------- only changed tests?
ONLY_CHANGED_TESTS=1# only run changed tests
#ONLY_CHANGED_TESTS=0# also run unchanged tests

# ---------- Valgrind
# @@@ valgrind makes tests fail atm
# (most likely two pt-servers try to start parallel on the same port)
VALGRIND=# do not valgrind anything
#VALGRIND=A# run valgrind after sucessful test
#VALGRIND=B# run valgrind before test (useful if test traps w/o any helpful information)
#VALGRIND=E# run external tools in valgrind (must be coded; look for make_valgrinded_call())
#VALGRIND=AE# valgrind after tests and external tools

# also see test_unit.h@ENABLE_CRASH_TESTS
# also see ../TEMPLATES/ut_valgrinded.h@VALGRIND_ONLY_SOME

# ---------- Leak checking needs VALGRIND!=0
#CHECK_LEAKS=0# check no leaks
CHECK_LEAKS=1# check definite leaks
#CHECK_LEAKS=2# check reachable leaks
# for higher leak resolution edit ../SOURCE_TOOLS/arb_valgrind@resolution

# ---------- restrict tests to modules matching regexpr 'RESTRICT_MODULE': 
RESTRICT_MODULE='.'
#RESTRICT_MODULE='ED4_mini_classes\.cxx'
#RESTRICT_MODULE='(ED4_mini_classes|ED4_cursor)\.cxx'

# ---------- restrict tests by name to test-functions matching regexpr 'RESTRICT_FUN': 
RESTRICT_FUN='.'
#RESTRICT_FUN='arb_export_tree'
#RESTRICT_FUN='tree'

# ---------- restrict what coverage is displayed
# to activate COVERAGE edit ../config.makefile@COVERAGE

RESTRICT_COVERAGE=MODULE # only show for RESTRICT_MODULE (if '.' -> restrict to tested modules)
#RESTRICT_COVERAGE=NO # show all
#RESTRICT_COVERAGE='(ED4_mini_classes|ED4_cursor)\.cxx'

# ---------- define how uncovered sections are sorted

SORT_COVERAGE=LOCATION # line order 
#SORT_COVERAGE=SIZE # sort by size (biggest uncovered region first)

# ---------- restrict tests to library with basename
# (empty=no restriction, ':'-separated list of allowed test-names)
#
RESTRICT_LIB=# run all tests

#RESTRICT_LIB=NOSUCHLIB# run no tests (useful to generate patch on successful compilation)
#RESTRICT_LIB=arb_help2xml
#RESTRICT_LIB=libARBDB
#RESTRICT_LIB=libAWT
#RESTRICT_LIB=AWTC
#RESTRICT_LIB=CONVERTALN
#RESTRICT_LIB=FAST_ALIGNER
#RESTRICT_LIB=MERGE
#RESTRICT_LIB=mkptypes
#RESTRICT_LIB=NTREE
#RESTRICT_LIB=SEQIO
#RESTRICT_LIB=libCORE
#RESTRICT_LIB=EDIT4
#RESTRICT_LIB=TREEDISP
#RESTRICT_LIB=PARSIMONY

#RESTRICT_LIB=arb_probe
#RESTRICT_LIB=arb_probe:arb_test
#RESTRICT_LIB=arb_test

#RESTRICT_LIB=libCORE:libARBDB
#RESTRICT_LIB=AWTC:FAST_ALIGNER
#RESTRICT_LIB=SEQIO:CONVERTALN
#RESTRICT_LIB=client:arb_probe:AWTC
#RESTRICT_LIB=libARBDB:libWINDOW:SEQIO
#RESTRICT_LIB=libARBDB:DBSERVER
#RESTRICT_LIB=TREE_READ:CONSENSUS_TREE:arb_consensus_tree:arb_test:TREEDISP

#RESTRICT_LIB=CONSENSUS_TREE:arb_consensus_tree:DIST:NEIGHBOURJOIN# NJ related
#RESTRICT_LIB=arb_probe:arb_test:AWTC:PTCLEAN:PROBE:MULTI_PROBE# ptserver related tests
#RESTRICT_LIB=TREE_READ:CONSENSUS_TREE:arb_consensus_tree:arb_test:TREEDISP:PARSIMONY# tree related tests
#RESTRICT_LIB=libARBDB:TREE_READ:CONSENSUS_TREE:arb_consensus_tree:arb_test:TREEDISP:PARSIMONY# tree related tests (including tree handling in ARBDB)

# ---------- unit tests create a patch each time tests pass ok
# PATCHES_KEEP_HOURS and PATCHES_MIN_KEPT define when patches are removed again 

#PATCHES_KEEP_HOURS=336# delete created patches after two weeks
PATCHES_KEEP_HOURS=168# delete created patches after one week
#PATCHES_KEEP_HOURS=72# delete created patches after 3 days
#PATCHES_KEEP_HOURS=0# delete created patches instantly (always PATCHES_MIN_KEPT patches present)

PATCHES_MIN_KEPT=50# how many patches to keep at least

# ---------- end