Merge pull request #462 from bebehei/valgrind
Add valgrind to travis configuration and check for leaks
This commit is contained in:
commit
5a9f37b07f
@ -12,13 +12,14 @@ addons:
|
|||||||
- libcairo2-dev
|
- libcairo2-dev
|
||||||
- libnotify-dev
|
- libnotify-dev
|
||||||
- libgtk-3-dev
|
- libgtk-3-dev
|
||||||
|
- valgrind
|
||||||
dist: trusty
|
dist: trusty
|
||||||
sudo: false
|
sudo: false
|
||||||
language: c
|
language: c
|
||||||
before_install:
|
before_install:
|
||||||
- pip install --user cpp-coveralls
|
- pip install --user cpp-coveralls
|
||||||
script:
|
script:
|
||||||
- CFLAGS="-fprofile-arcs -ftest-coverage -Werror" make all dunstify test
|
- CFLAGS="-fprofile-arcs -ftest-coverage -Werror" make all dunstify test-valgrind
|
||||||
- coveralls
|
- coveralls
|
||||||
compiler:
|
compiler:
|
||||||
- gcc
|
- gcc
|
||||||
|
10
.valgrind.suppressions
Normal file
10
.valgrind.suppressions
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
xdgBaseDir_leak
|
||||||
|
# see https://github.com/devnev/libxdg-basedir/pull/6
|
||||||
|
Memcheck:Leak
|
||||||
|
fun:malloc
|
||||||
|
...
|
||||||
|
fun:xdgInitHandle
|
||||||
|
...
|
||||||
|
fun:main
|
||||||
|
}
|
12
Makefile
12
Makefile
@ -44,10 +44,20 @@ dunst: ${OBJ} main.o
|
|||||||
dunstify: dunstify.o
|
dunstify: dunstify.o
|
||||||
${CC} ${CFLAGS} -o $@ dunstify.o ${LDFLAGS}
|
${CC} ${CFLAGS} -o $@ dunstify.o ${LDFLAGS}
|
||||||
|
|
||||||
.PHONY: test
|
.PHONY: test test-valgrind
|
||||||
test: test/test
|
test: test/test
|
||||||
cd test && ./test
|
cd test && ./test
|
||||||
|
|
||||||
|
test-valgrind: test/test
|
||||||
|
cd ./test \
|
||||||
|
&& valgrind \
|
||||||
|
--suppressions=../.valgrind.suppressions \
|
||||||
|
--leak-check=full \
|
||||||
|
--show-leak-kinds=definite \
|
||||||
|
--errors-for-leak-kinds=definite \
|
||||||
|
--error-exitcode=123 \
|
||||||
|
./test
|
||||||
|
|
||||||
test/test: ${OBJ} ${TEST_OBJ}
|
test/test: ${OBJ} ${TEST_OBJ}
|
||||||
${CC} ${CFLAGS} -o $@ ${TEST_OBJ} ${OBJ} ${LDFLAGS}
|
${CC} ${CFLAGS} -o $@ ${TEST_OBJ} ${OBJ} ${LDFLAGS}
|
||||||
|
|
||||||
|
@ -29,9 +29,9 @@ char *string_replace_at(char *buf, int pos, int len, const char *repl)
|
|||||||
tmp = buf;
|
tmp = buf;
|
||||||
} else {
|
} else {
|
||||||
tmp = g_malloc(size);
|
tmp = g_malloc(size);
|
||||||
|
memcpy(tmp, buf, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
memcpy(tmp, buf, pos);
|
|
||||||
memcpy(tmp + pos, repl, repl_len);
|
memcpy(tmp + pos, repl, repl_len);
|
||||||
memmove(tmp + pos + repl_len, buf + pos + len, buf_len - (pos + len) + 1);
|
memmove(tmp + pos + repl_len, buf + pos + len, buf_len - (pos + len) + 1);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user