Commit 249470f351d88b3a94212aedfa196a5756eb9347
1 parent
d248d60b
Exists in
master
and in
1 other branch
Testing IPC plugin with valgrind.
Showing
6 changed files
with
126 additions
and
4 deletions
Show diff stats
| ... | ... | @@ -0,0 +1,48 @@ |
| 1 | +# | |
| 2 | +# "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 | |
| 3 | +# (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a | |
| 4 | +# aplicativos mainframe. Registro no INPI sob o nome G3270. | |
| 5 | +# | |
| 6 | +# Copyright (C) <2008> <Banco do Brasil S.A.> | |
| 7 | +# | |
| 8 | +# Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob | |
| 9 | +# os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela | |
| 10 | +# Free Software Foundation. | |
| 11 | +# | |
| 12 | +# Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER | |
| 13 | +# GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO | |
| 14 | +# A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para | |
| 15 | +# obter mais detalhes. | |
| 16 | +# | |
| 17 | +# Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este | |
| 18 | +# programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple | |
| 19 | +# Place, Suite 330, Boston, MA, 02111-1307, USA | |
| 20 | +# | |
| 21 | +# Contatos: | |
| 22 | +# | |
| 23 | +# perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) | |
| 24 | +# erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça) | |
| 25 | +# | |
| 26 | + | |
| 27 | +#---[ Paths ]---------------------------------------------------------------------------- | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | +#---[ Clean Targets ]-------------------------------------------------------------------- | |
| 32 | + | |
| 33 | +clean: \ | |
| 34 | + | |
| 35 | + @$(MAKE) -C client $@ | |
| 36 | + @$(MAKE) -C server $@ | |
| 37 | + | |
| 38 | +cleanDebug: | |
| 39 | + | |
| 40 | + @$(MAKE) -C client $@ | |
| 41 | + @$(MAKE) -C server $@ | |
| 42 | + | |
| 43 | +cleanRelease: | |
| 44 | + | |
| 45 | + @$(MAKE) -C client $@ | |
| 46 | + @$(MAKE) -C server $@ | |
| 47 | + | |
| 48 | + | ... | ... |
configure.ac
| ... | ... | @@ -159,6 +159,7 @@ AC_PATH_TOOL([MSGCAT], [msgcat], [no]) |
| 159 | 159 | AC_PATH_TOOL([MSGINIT], [msginit], [no]) |
| 160 | 160 | AC_PATH_TOOL([MSGMERGE], [msgmerge], [no]) |
| 161 | 161 | AC_PATH_TOOL([MSGFMT], [msgfmt], [no]) |
| 162 | +AC_PATH_TOOL([VALGRIND], [valgrind], [no]) | |
| 162 | 163 | |
| 163 | 164 | AC_SUBST(INTL_LIBS) |
| 164 | 165 | ... | ... |
server/Makefile.in
| ... | ... | @@ -59,6 +59,7 @@ XGETTEXT=@XGETTEXT@ |
| 59 | 59 | MSGCAT=@MSGCAT@ |
| 60 | 60 | WINDRES=@WINDRES@ |
| 61 | 61 | AR=@AR@ |
| 62 | +VALGRIND=@VALGRIND@ | |
| 62 | 63 | |
| 63 | 64 | #---[ Paths ]---------------------------------------------------------------------------- |
| 64 | 65 | |
| ... | ... | @@ -124,6 +125,7 @@ $(OBJDBG)/%.o: \ |
| 124 | 125 | $(CFLAGS) \ |
| 125 | 126 | -Wall -Wextra -fstack-check \ |
| 126 | 127 | -DDEBUG=1 \ |
| 128 | + -DPLUGIN_PATH=$(BINDBG) \ | |
| 127 | 129 | -o $@ -c $< |
| 128 | 130 | |
| 129 | 131 | $(OBJDBG)/%.o: \ |
| ... | ... | @@ -306,6 +308,23 @@ $(BINDBG)/$(MODULE_NAME)@DLLEXT@: \ |
| 306 | 308 | run: \ |
| 307 | 309 | run-plugin |
| 308 | 310 | |
| 311 | +check-plugin: \ | |
| 312 | + $(BINDBG)/$(MODULE_NAME)@DLLEXT@ \ | |
| 313 | + $(BINDBG)/$(MODULE_NAME)@EXEEXT@ | |
| 314 | + | |
| 315 | +ifeq ($(VALGRIND),no) | |
| 316 | + | |
| 317 | + @LD_LIBRARY_PATH=$(BINDBG) \ | |
| 318 | + $(BINDBG)/$(MODULE_NAME)@EXEEXT@ | |
| 319 | + | |
| 320 | +else | |
| 321 | + @touch valgrind.suppression | |
| 322 | + | |
| 323 | + @LD_LIBRARY_PATH=$(BINDBG) \ | |
| 324 | + $(VALGRIND) --leak-check=full --track-origins=yes --gen-suppressions=all --suppressions=valgrind.suppression \ | |
| 325 | + $(BINDBG)/$(MODULE_NAME)@EXEEXT@ | |
| 326 | +endif | |
| 327 | + | |
| 309 | 328 | run-plugin: \ |
| 310 | 329 | $(BINDBG)/$(MODULE_NAME)@DLLEXT@ \ |
| 311 | 330 | $(BINDBG)/$(MODULE_NAME)@EXEEXT@ | ... | ... |
server/pw3270-plugin-ipc.cbp
| ... | ... | @@ -8,9 +8,9 @@ |
| 8 | 8 | <Option compiler="gcc" /> |
| 9 | 9 | <Build> |
| 10 | 10 | <Target title="Debug"> |
| 11 | - <Option output=".bin/Debug/ipc3270" prefix_auto="1" extension_auto="1" /> | |
| 11 | + <Option output="../.bin/Debug/ipcserver" prefix_auto="1" extension_auto="1" /> | |
| 12 | 12 | <Option object_output=".obj/Debug/" /> |
| 13 | - <Option type="1" /> | |
| 13 | + <Option type="0" /> | |
| 14 | 14 | <Option compiler="gcc" /> |
| 15 | 15 | <Compiler> |
| 16 | 16 | <Add option="-g" /> | ... | ... |
server/src/testprogram/testprogram.c
| ... | ... | @@ -43,9 +43,13 @@ |
| 43 | 43 | |
| 44 | 44 | /*---[ Globals ]------------------------------------------------------------------------------------*/ |
| 45 | 45 | |
| 46 | - const gchar * plugin_path = ".bin/Debug"; | |
| 46 | + #ifdef _WIN32 | |
| 47 | + const gchar * plugin_path = "."; | |
| 48 | + #else | |
| 49 | + const gchar * plugin_path = G_STRINGIFY(PLUGIN_PATH); | |
| 50 | + #endif // _WIN32 | |
| 47 | 51 | const gchar * session_name = "pw3270"; |
| 48 | - const gchar * plugin_name = "ipc3270." G_MODULE_SUFFIX; | |
| 52 | + const gchar * plugin_name = "ipcserver." G_MODULE_SUFFIX; | |
| 49 | 53 | |
| 50 | 54 | /*---[ Implement ]----------------------------------------------------------------------------------*/ |
| 51 | 55 | ... | ... |
| ... | ... | @@ -0,0 +1,50 @@ |
| 1 | +{ | |
| 2 | + libcrypt_FIPS_selftest | |
| 3 | + Memcheck:Cond | |
| 4 | + ... | |
| 5 | + fun:FIPS_selftest | |
| 6 | +} | |
| 7 | + | |
| 8 | +{ | |
| 9 | + libcrypt_FIPS_mode_set | |
| 10 | + Memcheck:Cond | |
| 11 | + ... | |
| 12 | + fun:FIPS_mode_set | |
| 13 | +} | |
| 14 | + | |
| 15 | +{ | |
| 16 | + <insert_a_suppression_name_here> | |
| 17 | + Memcheck:Cond | |
| 18 | + ... | |
| 19 | + fun:BIO_new_mem_buf | |
| 20 | +} | |
| 21 | + | |
| 22 | + | |
| 23 | +{ | |
| 24 | + g_type_register_fundamental | |
| 25 | + Memcheck:Leak | |
| 26 | + ... | |
| 27 | + fun:g_type_register_fundamental | |
| 28 | +} | |
| 29 | + | |
| 30 | +{ | |
| 31 | + g_type_create_instance | |
| 32 | + Memcheck:Leak | |
| 33 | + ... | |
| 34 | + fun:g_type_create_instance | |
| 35 | +} | |
| 36 | + | |
| 37 | +{ | |
| 38 | + g_type_add_interface_static | |
| 39 | + Memcheck:Leak | |
| 40 | + ... | |
| 41 | + fun:g_type_add_interface_static | |
| 42 | +} | |
| 43 | + | |
| 44 | +{ | |
| 45 | + g_application_register | |
| 46 | + Memcheck:Leak | |
| 47 | + ... | |
| 48 | + fun:g_application_register | |
| 49 | +} | |
| 50 | + | ... | ... |