/* * Some simple tests */ static void base_test(void) { printf("*****************\n"); printf(" BASE TESTS\n"); printf("*****************\n\n"); init_test_bench(&bench, &poly_table); bench.show_details = true; test_activate(&bench, 10); test_activate(&bench, 2); test_activate(&bench, 4); test_propagate(&bench); test_push(&bench); test_activate(&bench, 24); test_activate(&bench, 23); test_activate(&bench, 41); test_activate(&bench, 49); test_activate(&bench, 55); test_propagate(&bench); test_assert_eq(&bench, 4, 2, -12); test_assert_eq(&bench, 4, 10, 0); test_propagate(&bench); test_increase_dlevel(&bench); test_assert_eq(&bench, 5, -1, 1223); test_propagate(&bench); test_assert_eq(&bench, 2, 10, 20); // cause a conflict test_propagate(&bench); test_backtrack(&bench); test_propagate(&bench); test_pop(&bench); test_propagate(&bench); delete_test_bench(&bench); }
// attempt to activate n polynomials static void random_activate(test_bench_t *bench, uint32_t n) { int32_t id; while (n > 0) { n --; id = random_inactive_poly(bench); if (id > 0) { test_activate(bench, id); } } }
int main (int argc, char *argv[]) { int test_status; int test_passed; test_passed = 0; bonobo_activation_init (argc, argv); g_message ("testing async interfaces\n"); g_message ("testing activate_async... "); /* this should fail */ test_status = test_activate (""); if (test_status == FALSE) { test_passed++; g_message (" passed\n"); } else if (test_status == TRUE || test_status == -1) { g_message (" failed\n"); } g_message ("testing activate_async... "); test_status = test_activate ("has (repo_ids, 'IDL:Empty:1.0')"); if (test_status == TRUE) { test_passed++; printf (" passed\n"); } else if (test_status == FALSE || test_status == -1) { g_message (" failed\n"); } g_message ("testing activate_from_id_async... "); test_status = test_activate_from_id (""); if (test_status == FALSE) { test_passed++; g_message (" passed\n"); } else if (test_status == TRUE || test_status == -1) { g_message (" failed\n"); } g_message ("testing activate_from_id_async... "); test_status = test_activate_from_id ("OAFIID:Empty:19991025"); if (test_status == TRUE) { test_passed++; g_message (" passed\n"); } else if (test_status == FALSE || test_status == -1) { g_message (" failed\n"); } g_message ("Async Test Results: %d passed upon %d \n", test_passed, TOTAL_TESTS); if (test_passed != TOTAL_TESTS) { return 1; } if (bonobo_activation_debug_shutdown ()) { return 0; } else { return 1; } }