static void main_helper (void *closure, int argc, char **argv) { gnc_module_system_init (); gnc_module_load("gnucash/engine", 0); gnc_module_load("gnucash/app-utils", 0); xaccLogDisable (); /* scm conversion doesn't handle binary atm */ kvp_exclude_type (KVP_TYPE_BINARY); /* double->string->double is not idempotent */ kvp_exclude_type (KVP_TYPE_DOUBLE); /* Initialize to a known RNG position */ guid_init(); srand(1); run_tests (); print_test_results (); exit (get_rv ()); }
static void main_helper (void *closure, int argc, char **argv) { int count = 50; gnc_module_load("gnucash/engine", 0); gnc_module_load("gnucash/app-utils", 0); if (argc > 1) count = atoi (argv[1]); if (count < 0) count = 0; xaccLogDisable (); /* scm conversion doesn't handle binary atm */ kvp_exclude_type (KVP_TYPE_BINARY); run_tests (count); print_test_results (); exit (get_rv ()); }
int main (int argc, char** argv) { qof_init (); cashobjects_register (); xaccLogDisable (); gnc_transaction_xml_v2_testing = TRUE; book = qof_book_new (); if (argc > 1) { test_files_in_dir (argc, argv, test_real_transaction, gnc_transaction_sixtp_parser_create (), "gnc:transaction", book); } else { test_transaction (); } print_test_results (); qof_close (); exit (get_rv ()); }
int main (int argc, char **argv) { int i; qof_init(); g_log_set_always_fatal( G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING ); xaccLogDisable (); /* Always start from the same random seed so we fail consistently */ srand(0); if (!cashobjects_register()) { failure("can't register cashbojects"); goto cleanup; } /* Loop the test. */ for (i = 0; i < 10; i++) { run_test (); } success("queries seem to work"); cleanup: qof_close(); return get_rv(); }
void gnc_clear_current_session() { if (current_session) { xaccLogDisable(); qof_session_destroy(current_session); xaccLogEnable(); current_session = NULL; } }
static void gxi_session_destroy (GncXmlImportData *data) { if (data->session) { xaccLogDisable (); qof_session_destroy (data->session); xaccLogEnable (); data->session = NULL; } }
int main (int argc, char ** argv) { const char *location = g_getenv("GNC_TEST_FILES"); int files_tested = 0; GDir *xml2_dir; qof_init(); cashobjects_register(); do_test(qof_load_backend_library ("../.libs/", GNC_LIB_NAME), " loading gnc-backend-xml GModule failed"); if (!location) { location = "test-files/xml2"; } xaccLogDisable(); if ((xml2_dir = g_dir_open(location, 0, NULL)) == NULL) { failure("unable to open xml2 directory"); } else { const gchar *entry; while ((entry = g_dir_read_name(xml2_dir)) != NULL) { if (g_str_has_suffix(entry, ".gml2")) { gchar *to_open = g_build_filename(location, entry, (gchar*)NULL); if (!g_file_test(to_open, G_FILE_TEST_IS_DIR)) { test_load_file(to_open); files_tested++; } g_free(to_open); } } } g_dir_close(xml2_dir); if (files_tested == 0) { failure("handled 0 files in test-load-xml2"); } print_test_results(); qof_close(); exit(get_rv()); }
int main (int argc, char **argv) { qof_init(); if (cashobjects_register()) { xaccLogDisable (); run_test (); print_test_results(); } qof_close(); return get_rv(); }
static void main_helper (void *closure, int argc, char **argv) { gnc_module_system_init (); gnc_module_load("gnucash/engine", 0); xaccLogDisable (); run_tests (); print_test_results (); exit (get_rv ()); }
int main (int argc, char ** argv) { gchar* filename; QofSession* session_1; qof_init(); cashobjects_register(); xaccLogDisable(); qof_load_backend_library ("../.libs/", GNC_LIB_NAME); // Create a session with data session_1 = create_session(); filename = tempnam( "/tmp", "test-sqlite3-" ); printf( "Using filename: %s\n", filename ); test_dbi_store_and_reload( "sqlite3", session_1, filename ); session_1 = create_session(); test_dbi_safe_save( "sqlite3", filename ); test_dbi_version_control( "sqlite3", filename ); #ifdef TEST_MYSQL_URL printf( "TEST_MYSQL_URL='%s'\n", TEST_MYSQL_URL ); if ( strlen( TEST_MYSQL_URL ) > 0 ) { session_1 = create_session(); test_dbi_store_and_reload( "mysql", session_1, TEST_MYSQL_URL ); session_1 = create_session(); test_dbi_safe_save( "mysql", filename ); test_dbi_version_control( "mysql", filename ); } #endif #ifdef TEST_PGSQL_URL printf( "TEST_PGSQL_URL='%s'\n", TEST_PGSQL_URL ); if ( strlen( TEST_PGSQL_URL ) > 0 ) { session_1 = create_session(); test_dbi_store_and_reload( "pgsql", session_1, TEST_PGSQL_URL ); session_1 = create_session(); test_dbi_safe_save( "pgsql", filename ); test_dbi_version_control( "pgsql", filename ); } #endif print_test_results(); qof_close(); exit(get_rv()); }
int main (int argc, char ** argv) { gchar* filename; QofSession* session_1; qof_init(); cashobjects_register(); xaccLogDisable(); qof_load_backend_library ("../.libs/", GNC_LIB_NAME); // Create a session with data session_1 = qof_session_new(); qof_session_begin( session_1, DBI_TEST_XML_FILENAME, FALSE, FALSE ); qof_session_load( session_1, NULL ); filename = tempnam( "/tmp", "test-sqlite3-" ); printf( "Using filename: %s\n", filename ); test_dbi_store_and_reload( "sqlite3", session_1, filename ); printf( "TEST_MYSQL_URL='%s'\n", TEST_MYSQL_URL ); if ( strlen( TEST_MYSQL_URL ) > 0 ) { session_1 = qof_session_new(); qof_session_begin( session_1, DBI_TEST_XML_FILENAME, FALSE, FALSE ); qof_session_load( session_1, NULL ); test_dbi_store_and_reload( "mysql", session_1, TEST_MYSQL_URL ); } printf( "TEST_PGSQL_URL='%s'\n", TEST_PGSQL_URL ); if ( strlen( TEST_PGSQL_URL ) > 0 ) { session_1 = qof_session_new(); qof_session_begin( session_1, DBI_TEST_XML_FILENAME, FALSE, FALSE ); qof_session_load( session_1, NULL ); test_dbi_store_and_reload( "pgsql", session_1, TEST_PGSQL_URL ); } print_test_results(); qof_close(); exit(get_rv()); }
int main (int argc, char *argv[]) { qof_init(); /* Initialize the GObject system */ qof_log_init_filename_special("stderr"); /* Init the log system */ g_test_init ( &argc, &argv, NULL ); /* initialize test program */ //qof_log_set_level("gnc", G_LOG_LEVEL_DEBUG); g_test_bug_base("https://bugzilla.gnome.org/show_bug.cgi?id="); /* init the bugzilla URL */ /* Disable the transaction log */ xaccLogDisable(); test_suite_account(); test_suite_budget(); test_suite_gncEntry(); test_suite_gncInvoice(); test_suite_transaction(); test_suite_split(); test_suite_engine_kvp_properties (); return g_test_run( ); }
static void main_helper (void *closure, int argc, char **argv) { int count = 50; gnc_module_load("gnucash/engine", 0); gnc_module_load("gnucash/app-utils", 0); if (argc > 1) count = atoi (argv[1]); if (count < 0) count = 0; xaccLogDisable (); run_tests (count); print_test_results (); exit (get_rv ()); }
static gboolean gxi_parse_file (GncXmlImportData *data) { QofSession *session = NULL; QofBook *book; QofBackend *backend; QofBackendError io_err = ERR_BACKEND_NO_ERR; gchar *message = NULL; gboolean success = FALSE; if (data->n_unassigned || data->n_impossible) goto cleanup_parse_file; /* fill subst hash table with byte sequence substitutions */ data->subst = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); g_hash_table_foreach (data->ambiguous_ht, (GHFunc) subst_insert_amb, data); g_hash_table_foreach (data->unique, (GHFunc) subst_insert_unique, data); if (!data->subst) goto cleanup_parse_file; /* create a temporary QofSession */ gxi_session_destroy (data); session = qof_session_new (); data->session = session; qof_session_begin (session, data->filename, TRUE, FALSE, FALSE); io_err = qof_session_get_error (session); if (io_err != ERR_BACKEND_NO_ERR) { message = _("The file could not be reopened."); goto cleanup_parse_file; } xaccLogDisable (); gxi_update_progress_bar (_("Reading file..."), 0.0); qof_session_load (session, gxi_update_progress_bar); gxi_update_progress_bar (NULL, -1.0); xaccLogEnable (); io_err = qof_session_get_error (session); if (io_err == ERR_BACKEND_NO_ERR) { /* loaded sucessfully now. strange, but ok */ success = TRUE; goto cleanup_parse_file; } else if (io_err != ERR_FILEIO_NO_ENCODING) { /* another error, cannot handle this here */ message = _("The file could not be reopened."); goto cleanup_parse_file; } qof_session_pop_error (session); book = qof_session_get_book (session); backend = qof_book_get_backend (book); gxi_update_progress_bar (_("Parsing file..."), 0.0); success = gnc_xml2_parse_with_subst (backend, book, data->subst); gxi_update_progress_bar (NULL, -1.0); if (success) data->session = session; else message = _("There was an error parsing the file."); cleanup_parse_file: if (data->subst) { g_hash_table_destroy (data->subst); data->subst = NULL; } if (message) { gnc_error_dialog (data->assistant, "%s", message); } if (!success) gxi_session_destroy (data); return success; }
void gnc_file_log_replay (void) { char *selected_filename; char *default_dir; char read_buf[256]; char *read_retval; GtkFileFilter *filter; FILE *log_file; char * record_start_str = "===== START"; /* NOTE: This string must match src/engine/TransLog.cpp (sans newline) */ char * expected_header_orig = "mod\ttrans_guid\tsplit_guid\ttime_now\t" "date_entered\tdate_posted\tacc_guid\tacc_name\tnum\tdescription\t" "notes\tmemo\taction\treconciled\tamount\tvalue\tdate_reconciled"; static char *expected_header = NULL; /* Use g_strdup_printf so we don't get accidental tab -> space conversion */ if (!expected_header) expected_header = g_strdup(expected_header_orig); qof_log_set_level(GNC_MOD_IMPORT, QOF_LOG_DEBUG); ENTER(" "); /* Don't log the log replay. This would only result in redundant logs */ xaccLogDisable(); default_dir = gnc_get_default_directory(GCONF_SECTION); filter = gtk_file_filter_new(); gtk_file_filter_set_name(filter, "*.log"); gtk_file_filter_add_pattern(filter, "*.[Ll][Oo][Gg]"); selected_filename = gnc_file_dialog(_("Select a .log file to replay"), g_list_prepend(NULL, filter), default_dir, GNC_FILE_DIALOG_OPEN); g_free(default_dir); if (selected_filename != NULL) { /* Remember the directory as the default. */ default_dir = g_path_get_dirname(selected_filename); gnc_set_default_directory(GCONF_SECTION, default_dir); g_free(default_dir); /*strncpy(file,selected_filename, 255);*/ DEBUG("Filename found: %s", selected_filename); if (xaccFileIsCurrentLog(selected_filename)) { g_warning("Cannot open the current log file: %s", selected_filename); gnc_error_dialog(NULL, /* Translators: %s is the file name. */ _("Cannot open the current log file: %s"), selected_filename); } else { DEBUG("Opening selected file"); log_file = g_fopen(selected_filename, "r"); if (!log_file || ferror(log_file) != 0) { int err = errno; perror("File open failed"); gnc_error_dialog(NULL, /* Translation note: * First argument is the filename, * second argument is the error. */ _("Failed to open log file: %s: %s"), selected_filename, strerror(err)); } else { if ((read_retval = fgets(read_buf, sizeof(read_buf), log_file)) == NULL) { DEBUG("Read error or EOF"); gnc_info_dialog(NULL, "%s", _("The log file you selected was empty.")); } else { if (strncmp(expected_header, read_buf, strlen(expected_header)) != 0) { PERR("File header not recognised:\n%s", read_buf); PERR("Expected:\n%s", expected_header); gnc_error_dialog(NULL, "%s", _("The log file you selected cannot be read. " "The file header was not recognized.")); } else { do { read_retval = fgets(read_buf, sizeof(read_buf), log_file); /*DEBUG("Chunk read: %s",read_retval);*/ if (strncmp(record_start_str, read_buf, strlen(record_start_str)) == 0) /* If a record started */ { process_trans_record(log_file); } } while (feof(log_file) == 0); } } fclose(log_file); } } g_free(selected_filename); } /* Start logging again */ xaccLogEnable(); LEAVE(""); }