[pacman-dev] [PATCH] Add valgrind usage for testing purpose into the HACKING guide

Dan McGee dpmcgee at gmail.com
Sun Nov 15 21:21:35 EST 2009


On Fri, Nov 13, 2009 at 5:29 PM, Laszlo Papp <djszapi2 at gmail.com> wrote:
> Signed-off-by: Laszlo Papp <djszapi at 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)


More information about the pacman-dev mailing list