On Fri, Nov 13, 2009 at 5:29 PM, Laszlo Papp <djszapi2@gmail.com> wrote:
Signed-off-by: Laszlo Papp <djszapi@archlinux.us> --- HACKING | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/HACKING b/HACKING index 09e782d..954d4b7 100644 --- a/HACKING +++ b/HACKING @@ -133,6 +133,16 @@ For pacman: #include "anythingelse.h" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+How to test pacman more using valgrind? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Try to run some commands using valgrind with a command like: + +valgrind --leak-check=full --trace-children=yes -- src/pacman/.libs/pacman -Syu + +Be careful, valgrind reports lots of errors, even some errors that may not be related to +pacman. You should have a little experience of valgrind to ignore the noise.
1. Try it without trace-children; you'll be surprised at how clean it is...[1] 2. Running src/pacman/.libs/pacman will cause you to use the libalpm installed on the system and not the one built in the source tree. You need to run lt-pacman instead. I've taken the jist of this patch and put it into the HACKING file, but made it a bit more general and correct. Thanks! -Dan [1] $ sudo valgrind --leak-check=full ./src/pacman/.libs/lt-pacman -Sy Password: ==29264== /home/dmcgee/.valgrindrc was not read as it is world writeable or not owned by the current user ==29264== Memcheck, a memory error detector ==29264== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al. ==29264== Using Valgrind-3.5.0 and LibVEX; rerun with -h for copyright info ==29264== Command: ./src/pacman/.libs/lt-pacman -Sy ==29264== :: Synchronizing package databases... testing 7.9K 36.6K/s 00:00:00 [####################################################################################] 100% core 34.8K 98.8K/s 00:00:00 [####################################################################################] 100% extra 438.5K 132.0K/s 00:00:03 [####################################################################################] 100% community-testing 1.9K 164.0K/s 00:00:00 [####################################################################################] 100% community 369.2K 136.5K/s 00:00:03 [####################################################################################] 100% ==29264== ==29264== HEAP SUMMARY: ==29264== in use at exit: 0 bytes in 0 blocks ==29264== total heap usage: 145,140 allocs, 145,140 frees, 166,708,494 bytes allocated ==29264== ==29264== All heap blocks were freed -- no leaks are possible ==29264== ==29264== For counts of detected and suppressed errors, rerun with: -v ==29264== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 7 from 7)