int main(int argc, char **argv){
  struct argument_s arguments;
  ssh_session session;
  int i;

  arguments_init(&arguments);
  cmdline_parse(argc, argv, &arguments);
  if (arguments.nhosts==0){
    fprintf(stderr,"At least one host (-h) must be specified\n");
    return EXIT_FAILURE;
  }
  if (arguments.ntests==0){
    for(i=0; i < BENCHMARK_NUMBER ; ++i){
      benchmarks[i].enabled=1;
    }
    arguments.ntests=BENCHMARK_NUMBER;
  }
  buffer=malloc(arguments.chunksize > 1024 ? arguments.chunksize : 1024);
  if(buffer == NULL){
    fprintf(stderr,"Allocation of chunk buffer failed\n");
    return EXIT_FAILURE;
  }
  if (arguments.verbose > 0){
    fprintf(stdout, "Will try hosts ");
    for(i=0;i<arguments.nhosts;++i){
      fprintf(stdout,"\"%s\" ", arguments.hosts[i]);
    }
    fprintf(stdout,"with benchmarks ");
    for(i=0;i<BENCHMARK_NUMBER;++i){
      if(benchmarks[i].enabled)
        fprintf(stdout,"\"%s\" ",benchmarks[i].name);
    }
    fprintf(stdout,"\n");
  }

  for(i=0; i<arguments.nhosts;++i){
    if(arguments.verbose > 0)
      fprintf(stdout,"Connecting to \"%s\"...\n",arguments.hosts[i]);
    session=connect_host(arguments.hosts[i], arguments.verbose, arguments.cipher);
    if(session != NULL && arguments.verbose > 0)
      fprintf(stdout,"Success\n");
    if(session == NULL){
      fprintf(stderr,"Errors occurred, stopping\n");
      return EXIT_FAILURE;
    }
    do_benchmarks(session, &arguments, arguments.hosts[i]);
    ssh_disconnect(session);
    ssh_free(session);
  }
  return EXIT_SUCCESS;
}
示例#2
0
int main(int ac, char **av) {
  printf("Passed %d of %d tests\n", test_harness(), sizeof(tests)/sizeof(test_entry_t));

  do_benchmarks();

}