* added GBK_running_on_valgrind()
* skip intentionally failing assertions/segfaults when valgrinding unit-tests
* TEST_ASSERT_SEGFAULT now fails, if an assertion fails
34 lines of code changed in 3 files:
- cleanup global test data (disturbs while leakchecking)
16 lines of code changed in 2 files:
- run valgrind with reachable leak check, but in quiet mode
6 lines of code changed in 1 file:
- added -q (quiet)
8 lines of code changed in 1 file:
* nameserver usage w/o add. field was broken since [6714]
2 lines of code changed in 1 file:
* store cross-compilation compiler-/linker-flags in separate variables
- pass them down to PERL2ARBs !MakeMaker (fixes 32bit-crosscompile on 64bit-linux)
44 lines of code changed in 4 files:
added note about config.makefile
4 lines of code changed in 1 file:
* do not send uninitialized bytes to servers via aisc_put/aisc_nput/aisc_create
The whole AISC-interface using ellipses is crap, cause every caller has to take care by passing long values
19 lines of code changed in 2 files:
* fixed "uninitialised values" reported by valgrind (in aisc_get)
- the keys (like LOCS_MATCH_LIST or LOCS_MATCH_STRING) are defined as enums. When none of the defined values needs a long to represent it, int is used instead. Since aisc_get() uses a variable argument list some bytes remain uninitialized.
- fixed by declaring a XXX_FORCELONG member in all enums
* added missing va_end() in aisc_get()
4 lines of code changed in 2 files:
* stuffed memory leaks in tested code and in tests
38 lines of code changed in 3 files:
* TEST_ASSERT_EQUAL also prints hex-values on failure
* use TEST_ASSERT() instead of ARB_SIGSEGV
* if ENABLE_CRASH_TESTS is defined, TEST_ASSERT_CODE_ASSERTION_FAILS() gets a noop
18 lines of code changed in 3 files:
* added TEST for PT_FamilyFinder (pt-server test)
* added similarity checks using epsilon ("equal-assertions" for double)
98 lines of code changed in 5 files:
* changed pt-server test database (does not break existing tests)
1 lines of code changed in 2 files:
* patch_generation now done by script
* added target 'patch' to main makefile
* "moved" patchdir (UNIT_TESTS/patches -> patches.arb)
* removed obsolete solaris target 'rtc_patch'
70 lines of code changed in 4 files:
- fix for shells with built-in time command
4 lines of code changed in 1 file:
- use '=' in time command
1 lines of code changed in 1 file:
* unused line removed
* hardlink $ARBHOME/latest_test_ok.patch
7 lines of code changed in 2 files:
* added GBS_nameserver_tag() and GBS_ptserver_tag()
103 lines of code changed in 10 files:
* removed duplicated unnecessary definition of aisc_com
15 lines of code changed in 3 files:
* show coverage of PROBE_COM together with arb_probe
* COVERAGE=2 means compile with gcov info, but do not show
* generate coverage via gcov2msg.sh
- can handle special cases (PROBE_COM)
- may show additional libs (to see coverage of high-level tests)
126 lines of code changed in 6 files:
* allow restriction to '''multiple''' unit tests
* less output for skipped unit tests
* added PROBE_COM/client.test
20 lines of code changed in 3 files:
- error was dropped
1 lines of code changed in 1 file:
- unused
0 lines of code changed in 1 file:
* unit tests now also work with object files (not only with libs)
* added unit tests to 'arb_probe.o'
- added a test pt-server to arb_tcp.dat
- start small pt-server (pre-build)
- test one probe match hitting one target
- test one probe design and match designed probe
* time compilation and tests
* minor fixes for patch generation
453 lines of code changed in 9 files:
* create patch every time unit tests succeed
38 lines of code changed in 2 files:
* do not generate prototypes for 'TEST_...'-functions (re-enable with -S "" if really needed somewhere)
48 lines of code changed in 1 file:
* renamed misleading AISC_ATTR_XXX into AISC_TYPE_XXX
* added #defines for bitmasks and use them instead
85 lines of code changed in 4 files:
* 64bit fixes
* bugex_dump_value
- removed some duplication
- print all values in hex as well
* added XXX_DUMP_EXPR
29 lines of code changed in 1 file:
* generate client.h without 'extern "C" {}'-wrapper, instead only use 'extern "C"'-function prefixes
- needed to include 'client_types.h' outside of 'extern "C"'-wrapper
56 lines of code changed in 16 files:
* TEST_ASSERT_CODE_ASSERTION_FAILS now fails if an SEGV is raised by sth else than an assertion
23 lines of code changed in 2 files:
* added TEST_ASSERT_CODE_ASSERTION_FAILS (same as TEST_ASSERT_SEGFAULT, if ARB is compiled with assertions; else noop)
* added ENABLE_CRASH_TESTS (undefine it to ease debugging unit tests)
* signal handlers catching SIGSEGV did not work correctly when used _multiple_ times (first call always worked, further calls failed to catch the signal)
- replaced setjmp/longjmp by sigsetjmp/siglongjmp
- made local auto variables modified in critical section (i.e. modified between sigsetjmp and siglongjmp) volatile
- added TEST_signal_tests() to nail down behavior
* 'duration_ms' was used uninitialized if there were no tests to run (e.g. after filtering)
* renamed 'UT_sigsegv_handler' into 'UNITTEST_sigsegv_handler' (more obvious when found on stack)
* added wrapper macros for signal-handler installation (INSTALL_SIGHANDLER, UNINSTALL_SIGHANDLER)
- check and report errors
- traceable (TRACE_SIGNAL_HANDLERS)
- avoid deinstallation when installation failed
210 lines of code changed in 10 files:
- get rid of the word 'signal' in comments
6 lines of code changed in 4 files:
* warn about "disabled tests" (e.g. functions like 'NOTEST_...' or 'DONT_TEST_')
* added general toggle for warnings to Makefile.test
* arb_assert.h creates static global test data
- tested with 4.2.4(hardy) and 4.3.3
* use test global to signal assertion (undoing ugly errno-hack [6696])
* flush std-streams when printing assertion failure message
95 lines of code changed in 8 files:
- "fixed" crash when aligning multiple species against PT-Server (aisc_get()-crap)
4 lines of code changed in 1 file:
- fixed SIGSEGV in get_used_rels_for (test code)
- flagged failing tests as broken
12 lines of code changed in 1 file:
- misuse 'errno' to signal that an assertion has failed (should do no harm since errno is only changed when an assertion fails, in which case we'll abort execution anyway or at least leave the context of the assertion)
- if unit-tester catches a SIGSEGV w/o correct errno set, it will print a backtrace
14 lines of code changed in 2 files:
- moved class BackTraceInfo to separate header
63 lines of code changed in 3 files:
- rename (GB_TEST_TRANSACTION -> GB_test_transaction)
32 lines of code changed in 3 files:
* added priorities to tests ('TEST_667_')
33 lines of code changed in 2 files:
* changed behavior of dump_n_compare (prints space only where both sequences have gaps)
* stuffed memleak in debug code
* debug prints to show relatives-usage
* dont call appendNameAndUsedBasePositions() in case of earlier errors
* added test failing due to sequence checksum error
221 lines of code changed in 1 file:
* allow failures in fast_aligner
- added 'Continue on error' toggle and action-selector to aligner window
- if checked, aligner allows single alignments to fail and continues (instead of undoing all work done)
- optionally failed or succeeded species can be marked by aligner
* no longer touch progress bar from AlignBuffer
* fixed assertions in PT_FamilyFinder
249 lines of code changed in 7 files:
* valgrinded fastaligner unit-tests
- duration_ms was used uninitialized
- memleak in FastSearchSequence (TripleOffsets)
- memleak in CompactedSequence (myText, gapsBeforePosition)
- memleak in alignToNextRelative (used_relatives)
* duplicate variable name (gapsBeforePosition -> gaps_before_position)
22 lines of code changed in 5 files:
* fixed "save loaded properties" (broken since [6666])
3 lines of code changed in 2 files:
* added unit tests for aligner (covering selection of targets and references)
- implemented a FakeFamilyFinder (to simulate search of relatives (as done by PTserver) in unit tests)
* refactored aligner() -> class Aligner ["break out method object"]
- moved selection of reference to classes derived from AlignmentReference -> selection of aligned species is no longer duplicated
* bugfixes
- when aligning to relatives and only one relative found or used, that releative was never logged to field 'used_rels'
* changed behavior
- FamilyList dtor deletes whole list
- added awar FA_AWAR_CONTINUE_ON_ERROR and new GUI element (disabled because has no effect yet)
* wrapped DEBUG prints (triggered by defines now)
885 lines of code changed in 6 files:
* renamed
- AWTC_FIND_FAMILY into PT_FamilyFinder
- AWTC_FIND_FAMILY_MEMBER into FamilyList
* extracted abstract base class FamilyFinder from PT_FamilyFinder
104 lines of code changed in 4 files:
* changed interface of AWTC_FIND_FAMILY (moved several params of findFamily() to ctor; needed for planned fake family finder)
63 lines of code changed in 4 files:
- compile fix for [6684]
7 lines of code changed in 1 file:
- flush streams
30 lines of code changed in 2 files:
- prototype changed by [6668]
1 lines of code changed in 1 file:
* execute "slow" tests after other tests
* flagged save/load DB test as slow
44 lines of code changed in 4 files: