Esempio n. 1
0
int main(int argc, char *argv[])
{
  int exit_status = 0;

  init_testing();

  if(argc == 1) {
    process_file(stdin, stdout);

  } else {
    FILE *ifp;
    int i;

    for(i = 1; i < argc; ++i) {
      if(strcmp(argv[i], "-") == 0) {
	ifp = stdin;
	printf("# [stdin]\n");
      } else if((ifp = fopen(argv[i], "r")) == NULL) {
	fprintf(stderr, "Cannot open '%s': %s\n", 
		argv[i], strerror(errno));
	return 1;
      } else {
	printf("# %s\n", argv[i]);
      }

      if(process_file(ifp, stdout) != 0)
	exit_status = 1;

      fclose(ifp);
    }
  }
    
  return exit_status;
}
Esempio n. 2
0
int main(int argc, char** argv)
{
	const char* test_name = NULL;
	int i = 1;
	test_suite suite;

	test_runner = run_test_in_child;
	fallback_function = exit_fallback;

	while (i < argc) {
		if (*(argv[i]) != '-') {
			test_name = argv[i];
			break;
		} else {
			switch (*(argv[i]+1)) {
				case 'f':
					test_runner = run_test_in_child;
					break;
				case 's':
					test_runner = run_test;
					break;
				case 'S':
					test_runner = run_test_with_siglongjmp;
					fallback_function = siglongjmp_fallback;
					break;
				case 'v':
					verbose_mode = TRUE;
					break;
				case 'h':
					printUsage(argv[0]);
					return OK;
				default:
					fprintf(stderr, "Invalid option: %s\n", argv[i]);
					printUsage(argv[0]);
					return USAGE;
			}
		}
		++i;
	}

	if (!init_testing()) {
		fprintf(stderr, "Unable to initialize testing runtime\n");
		return TEST_INIT;
	}

	suite = get_suite();

	if (!run_tests(suite, test_name)) {
		return TEST_NOT_FOUND;
	}

	printResults();
	release_suite(suite);

	return (cleanup_testing()) ? OK : TEST_CLEANUP;
}