Hash :
d827b11b
Author :
Date :
2019-06-28T13:20:54
tests: execute leak checker via CTest directly Right now, we have an awful hack in our test CI setup that extracts the test command from CTest's output and then prepends the leak checker. This is dependent on non-machine-parseable output from CMake and also breaks on various ocassions, like for example when we have spaces in the current path or when the path contains backslashes. Both conditions may easily be triggered on Win32 systems, and in fact they do break our Azure Pipelines builds. Remove the awful hack in favour of a new CMake build option "USE_LEAK_CHECKER". If specifying e.g. "-DUSE_LEAK_CHECKER=valgrind", then we will set up all tests to be run under valgrind. Like this, we can again simply execute ctest without needing to rely on evil sourcery.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
{
ignore-zlib-errors-cond
Memcheck:Cond
obj:*libz.so*
}
{
ignore-giterror-set-leak
Memcheck:Leak
...
fun:giterror_set
}
{
ignore-git-global-state-leak
Memcheck:Leak
...
fun:git__global_state
}
{
ignore-openssl-ssl-leak
Memcheck:Leak
...
obj:*libssl.so*
...
}
{
ignore-openssl-crypto-leak
Memcheck:Leak
...
obj:*libcrypto.so*
...
}
{
ignore-openssl-crypto-cond
Memcheck:Cond
obj:*libcrypto.so*
...
}
{
ignore-glibc-getaddrinfo-cache
Memcheck:Leak
...
fun:__check_pf
}
{
ignore-curl-global-init
Memcheck:Leak
...
fun:curl_global_init
}
{
ignore-libssh2-gcrypt-control-leak
Memcheck:Leak
...
fun:gcry_control
obj:*libssh2.so*
}
{
ignore-libssh2-gcrypt-mpinew-leak
Memcheck:Leak
...
fun:gcry_mpi_new
obj:*libssh2.so*
}
{
ignore-libssh2-gcrypt-mpiscan-leak
Memcheck:Leak
...
fun:gcry_mpi_scan
obj:*libssh2.so*
}
{
ignore-libssh2-gcrypt-randomize-leak
Memcheck:Leak
...
fun:gcry_randomize
obj:*libssh2.so*
}
{
ignore-libssh2-gcrypt-sexpfindtoken-leak
Memcheck:Leak
...
fun:gcry_sexp_find_token
obj:*libssh2.so*
}
{
ignore-libssh2-gcrypt-pksign-leak
Memcheck:Leak
...
fun:gcry_pk_sign
obj:*libssh2.so*
}
{
ignore-noai6ai_cached-double-free
Memcheck:Free
fun:free
fun:__libc_freeres
...
fun:exit
...
}