static void run_from_file(char *filename)
{
    FILE *tc_file = NULL;
    int n_failures = 0;
    char tc[100] = "";
    int num_tcs = 0;
    int len=0;

    Suite *s = suite_create("GMS Client API");


    /* Test Cases for clGmsInitialize and clGmsFinalize APIs */
    TCase *sel_tcs = tcase_create("Selected Test");
    suite_add_tcase(s, sel_tcs);

    tc_file = fopen(filename, "r");
    if (tc_file == NULL)
    {
        perror("Open Failed:");
        exit(-1);
    }

    while (1)
    {
        if (fgets (tc, 100,tc_file) != NULL)
        {
            if (tc[0] != '#')
            {
                num_tcs++;
                len=strlen(tc);
                tc[len-1] = '\0';
                tc_add(sel_tcs,tc);
            }
        } else {
            break;
        }
    }

    if (num_tcs == 0)
    {
        printf("NO Test cases are specified in the given file\n");
        exit(-1);
    } else {
        printf("%d test cases are provided\n",num_tcs);
    }


    /* Now run the tests */
    SRunner *sr = srunner_create(s);
    /* do not fork; forking seg-faults EO (why?) */
    srunner_set_fork_status(sr, CK_NOFORK);

    srunner_run_all(sr, CK_NORMAL); /* Can also use CK_VERBOSE */

    srunner_set_log(sr, "./gms_unit_test_logs.log");

    n_failures = srunner_ntests_failed(sr);

    srunner_free(sr);
}
Exemple #2
0
// Gets the local instance of a trace local variable
void* get_trace_local(tlv_id id) {
  int worker_id = 0;
  int steal_count = __cilkrts_get_steal_count(&worker_id);
  if (worker_id == 0) {
    printf("User thread???\n");
    exit(1);
  } else {
    // Shift back from [1, P] to [0, P-1]
    worker_id -= 1;
  }
  worker_table_t* our_table = &worker_tables[worker_id];
  if (our_table->wtrace_info[id].steal_count == steal_count &&
      our_table->wtrace_info[id].view != NULL) {
    return our_table->wtrace_info[id].view;
  }
  trace_initializer initializer = global_table.gtrace_info[id].initializer;
  void* new_view = (*initializer)();
  our_table->wtrace_info[id].view = new_view;
  tc_add(&REDUCER_VIEW(global_table.gtrace_info[id].reducer), new_view);
  our_table->wtrace_info[id].steal_count = steal_count;
  return new_view;
}