From: <dg...@su...> - 2009-01-05 09:41:08
|
Author: bellmich Date: Mon Jan 5 10:40:36 2009 New Revision: 880 URL: http://libsyncml.opensync.org/changeset/880 Log: The environment must be configured correctly to get useful results from memory checkers. Modified: trunk/tests/check_base64.c trunk/tests/check_devinf.c trunk/tests/check_ds.c trunk/tests/check_elements.c trunk/tests/check_error.c trunk/tests/check_http.c trunk/tests/check_manager.c trunk/tests/check_md5.c trunk/tests/check_obex.c trunk/tests/check_san.c trunk/tests/check_session.c trunk/tests/check_sync.c trunk/tests/check_wbxml_assembler.c trunk/tests/check_wbxml_parser.c trunk/tests/check_xml_assembler.c trunk/tests/check_xml_fix_broken_item_data.c trunk/tests/check_xml_parser.c trunk/tests/mobiles/test_mobile.c trunk/tests/support.c trunk/tests/support.h Modified: trunk/tests/check_base64.c ============================================================================== --- trunk/tests/check_base64.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_base64.c Mon Jan 5 10:40:36 2009 (r880) @@ -268,6 +268,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = base64_suite(); Modified: trunk/tests/check_devinf.c ============================================================================== --- trunk/tests/check_devinf.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_devinf.c Mon Jan 5 10:40:36 2009 (r880) @@ -413,6 +413,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = devinf_suite(); Modified: trunk/tests/check_ds.c ============================================================================== --- trunk/tests/check_ds.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_ds.c Mon Jan 5 10:40:36 2009 (r880) @@ -2483,6 +2483,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = datasync_suite(); Modified: trunk/tests/check_elements.c ============================================================================== --- trunk/tests/check_elements.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_elements.c Mon Jan 5 10:40:36 2009 (r880) @@ -342,6 +342,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = elements_suite(); Modified: trunk/tests/check_error.c ============================================================================== --- trunk/tests/check_error.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_error.c Mon Jan 5 10:40:36 2009 (r880) @@ -238,6 +238,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = error_suite(); Modified: trunk/tests/check_http.c ============================================================================== --- trunk/tests/check_http.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_http.c Mon Jan 5 10:40:36 2009 (r880) @@ -962,6 +962,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = http_suite(); Modified: trunk/tests/check_manager.c ============================================================================== --- trunk/tests/check_manager.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_manager.c Mon Jan 5 10:40:36 2009 (r880) @@ -684,6 +684,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = manager_suite(); Modified: trunk/tests/check_md5.c ============================================================================== --- trunk/tests/check_md5.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_md5.c Mon Jan 5 10:40:36 2009 (r880) @@ -137,6 +137,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = md5_suite(); Modified: trunk/tests/check_obex.c ============================================================================== --- trunk/tests/check_obex.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_obex.c Mon Jan 5 10:40:36 2009 (r880) @@ -913,6 +913,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = obex_suite(); Modified: trunk/tests/check_san.c ============================================================================== --- trunk/tests/check_san.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_san.c Mon Jan 5 10:40:36 2009 (r880) @@ -526,6 +526,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = san_suite(); Modified: trunk/tests/check_session.c ============================================================================== --- trunk/tests/check_session.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_session.c Mon Jan 5 10:40:36 2009 (r880) @@ -2647,6 +2647,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = session_suite(); Modified: trunk/tests/check_sync.c ============================================================================== --- trunk/tests/check_sync.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_sync.c Mon Jan 5 10:40:36 2009 (r880) @@ -2094,6 +2094,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = sync_suite(); Modified: trunk/tests/check_wbxml_assembler.c ============================================================================== --- trunk/tests/check_wbxml_assembler.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_wbxml_assembler.c Mon Jan 5 10:40:36 2009 (r880) @@ -922,6 +922,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = assembler_suite(); Modified: trunk/tests/check_wbxml_parser.c ============================================================================== --- trunk/tests/check_wbxml_parser.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_wbxml_parser.c Mon Jan 5 10:40:36 2009 (r880) @@ -786,6 +786,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = parser_suite(); Modified: trunk/tests/check_xml_assembler.c ============================================================================== --- trunk/tests/check_xml_assembler.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_xml_assembler.c Mon Jan 5 10:40:36 2009 (r880) @@ -1787,6 +1787,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = assembler_suite(); Modified: trunk/tests/check_xml_fix_broken_item_data.c ============================================================================== --- trunk/tests/check_xml_fix_broken_item_data.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_xml_fix_broken_item_data.c Mon Jan 5 10:40:36 2009 (r880) @@ -194,6 +194,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = parser_suite(); Modified: trunk/tests/check_xml_parser.c ============================================================================== --- trunk/tests/check_xml_parser.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/check_xml_parser.c Mon Jan 5 10:40:36 2009 (r880) @@ -1722,6 +1722,8 @@ int main(void) { + configure_environment(); + int nf; Suite *s = parser_suite(); Modified: trunk/tests/mobiles/test_mobile.c ============================================================================== --- trunk/tests/mobiles/test_mobile.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/mobiles/test_mobile.c Mon Jan 5 10:40:36 2009 (r880) @@ -53,6 +53,8 @@ int main(int argc, char **argv) { + configure_environment(); + int nf; /* init test environment */ Modified: trunk/tests/support.c ============================================================================== --- trunk/tests/support.c Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/support.c Mon Jan 5 10:40:36 2009 (r880) @@ -21,6 +21,36 @@ #include "support.h" #include <libsyncml/sml_error_internals.h> +void configure_environment() +{ + /* Several libraries do things which confuse debuggers and + * memory checkers like Valgrind. Therefore it is often + * possible to configure such libraries via environment + * variables to use a more conventional behaviour. + * + * If the user already set an environment variable + * then this variable is not touched. + */ + + /* The glib uses some memory caching mechanisms for performance + * enhancements which confuses memory checkers like Valgrind. + * Therefore it is necessary to deactivate these mechanisms for + * testing. + */ + if (!g_setenv("G_SLICE", "always-malloc", FALSE)) + g_warning("G_SLICE is already set."); + + /* The check library usually forks test suites to safely survive + * things like segmentation faults and to have a clean separated + * address space for every test suite. This behaviour makes it + * difficult for memory checks like Valgrind to detect real + * problems correctly. Usually you get tons of false positives. + * Therefore forking is disabled. + */ + if (!g_setenv("CK_FORK", "no", FALSE)) + g_warning("CK_FORK is already set."); +} + char *olddir = NULL; char *setup_testbed(char *fkt_name) Modified: trunk/tests/support.h ============================================================================== --- trunk/tests/support.h Fri Jan 2 16:42:10 2009 (r879) +++ trunk/tests/support.h Mon Jan 5 10:40:36 2009 (r880) @@ -22,6 +22,7 @@ #include <libsyncml/syncml.h> #include <libsyncml/syncml_internals.h> +void configure_environment(); char *setup_testbed(char *fkt_name); void destroy_testbed(char *path); void create_case(Suite *s, const char *name, TFun function); |