bool run_script(FILE *script) { bool eof = false; rt = rt_make(); unexpected_fails = 0; tests_performed = tests_failed = 0; last_expression = NULL; while (!eof) { char *line = my_getline(script, &eof); is_empty(line) || is_comment(line) || run_command(line) || parse_line(line); mem_free(line); } mem_free(last_expression); mem_free(current_test_name); rt_free(rt); printf( "Summary:\n" "* %d/%d tests succeeded,\n" "* %d pending unexpected failures.\n", tests_performed - tests_failed, tests_performed, unexpected_fails); return true; }
rt_public char *retrieve_all(EIF_INTEGER f_desc, long position) { RT_GET_CONTEXT EIF_GET_CONTEXT /* Return object graph retrieved in file `file_ptr' read at * position. */ char *result; file_descriptor = (int)f_desc; if (lseek(file_descriptor, position, SEEK_SET) == -1) esys(); /* bail out */ current_position = 0; end_of_buffer = 0; rt_kind = BASIC_STORE; rt_kind_version = BASIC_STORE_6_6; rt_kind_properties = 0; result = rt_make(); ht_free(rt_table); /* Free hash table descriptor */ #ifdef ISE_GC if (nb_recorded) { eif_ostack_npop(&hec_stack, nb_recorded); /* Pop hector records */ nb_recorded = 0; } #endif return result; }
void run_command_test(char *args) { int len = strlen(args); mem_free(last_expression); mem_free(current_test_name); rt_free(rt); rt = rt_make(); current_test_name = (char*)mem_malloc(len); memcpy(current_test_name, args, len - 1); current_test_name[len - 1] = '\0'; last_expression = NULL; unexpected_fails = 0; }