Exemplo n.º 1
0
int main(int argc, char** argv) {
    baidu::zling::FileInputer  inputer(stdin);
    baidu::zling::FileOutputer outputer(stdout);
    DemoActionHandler demo_handler;

#if defined(__MINGW32__) || defined(__MINGW64__)
    setmode(fileno(stdin),  O_BINARY);  // set stdio to binary mode for windows
    setmode(fileno(stdout), O_BINARY);
#endif

    // welcome message
    fprintf(stderr, "zling:\n");
    fprintf(stderr, "   light-weight lossless data compression utility\n");
    fprintf(stderr, "   by Zhang Li <zhangli10 at baidu.com>\n");
    fprintf(stderr, "\n");

    // zling <e/d> __argv2__ __argv3__
    if (argc == 4) {
        if (freopen(argv[3], "wb", stdout) == NULL) {
            fprintf(stderr, "error: cannot open file '%s' for write.\n", argv[3]);
            return -1;
        }
        argc = 3;
    }

    // zling <e/d> __argv2__ (stdout)
    if (argc == 3) {
        if (freopen(argv[2], "rb", stdin) == NULL) {
            fprintf(stderr, "error: cannot open file '%s' for read.\n", argv[2]);
            return -1;
        }
        argc = 2;
    }

    // zling <e/d> (stdin) (stdout)
    try {
        if (argc == 2 && strcmp(argv[1], "e") == 0) {
            return baidu::zling::Encode(&inputer, &outputer, &demo_handler);
        }
        if (argc == 2 && strcmp(argv[1], "d") == 0) {
            return baidu::zling::Decode(&inputer, &outputer, &demo_handler);
        }

    } catch (const std::runtime_error& e) {
        fprintf(stderr, "zling: runtime error: %s\n", e.what());
        return -1;

    } catch (const std::bad_alloc& e) {
        fprintf(stderr, "zling: allocation failed.");
        return -1;
    }

    // help message
    fprintf(stderr, "usage:\n");
    fprintf(stderr, "   zling e source target\n");
    fprintf(stderr, "   zling d source target\n");
    fprintf(stderr, "    * source: default to stdin\n");
    fprintf(stderr, "    * target: default to stdout\n");
    return -1;
}
void OsiTransportTest::run()
{
    // Do processing here

	CppUnit::TextTestRunner runner;
	runner.addTest(test1);
	runner.addTest(test2);
	runner.addTest(test3);

	runner.run();

	std::ofstream outFile("testResult.xml");
	CppUnit::XmlOutputter outputer(&runner.result(), outFile);
	outputer.write();

	emit finished();
}
Exemplo n.º 3
0
void NMTDCmd::execute(TRAPS) {
  const char* scale_value = _scale.value();
  size_t scale_unit;
  if (strcmp(scale_value, "KB") == 0 || strcmp(scale_value, "kb") == 0) {
    scale_unit = K;
  } else if (strcmp(scale_value, "MB") == 0 ||
             strcmp(scale_value, "mb") == 0) {
    scale_unit = M;
  } else if (strcmp(scale_value, "GB") == 0 ||
             strcmp(scale_value, "gb") == 0) {
    scale_unit = G;
  } else {
    output()->print_cr("Incorrect scale value: %s", scale_value);
    return;
  }

  int nopt = 0;
  if(_summary.is_set()) { ++nopt; }
  if(_detail.is_set()) { ++nopt; }
  if(_baseline.is_set()) { ++nopt; }
  if(_summary_diff.is_set()) { ++nopt; }
  if(_detail_diff.is_set()) { ++nopt; }
  if(_shutdown.is_set()) { ++nopt; }
#ifndef PRODUCT
  if(_debug.is_set()) { ++nopt; }
#endif

  if(nopt > 1) {
      output()->print_cr("At most one of the following option can be specified: " \
        "summary, detail, baseline, summary.diff, detail.diff, shutdown"
#ifndef PRODUCT
        " ,debug"
#endif
      );
      return;
  }

  if(nopt == 0) {
      _summary.set_value(true);
  }

#ifndef PRODUCT
  if (_debug.value()) {
    output()->print_cr("debug command is NOT thread-safe, may cause crash");
    MemTracker::print_tracker_stats(output());
    return;
  }
#endif

  // native memory tracking has to be on
  if (!MemTracker::is_on() || MemTracker::shutdown_in_progress()) {
    // if it is not on, what's the reason?
    output()->print_cr(MemTracker::reason());
    return;
  }

  if (_summary.value()) {
    BaselineTTYOutputer outputer(output());
    MemTracker::print_memory_usage(outputer, scale_unit, true);
  } else if (_detail.value()) {
    BaselineTTYOutputer outputer(output());
    MemTracker::print_memory_usage(outputer, scale_unit, false);
  } else if (_baseline.value()) {
    if (MemTracker::baseline()) {
      output()->print_cr("Successfully baselined.");
    } else {
      output()->print_cr("Baseline failed.");
    }
  } else if (_summary_diff.value()) {
    if (MemTracker::has_baseline()) {
      BaselineTTYOutputer outputer(output());
      MemTracker::compare_memory_usage(outputer, scale_unit, true);
    } else {
      output()->print_cr("No baseline to compare, run 'baseline' command first");
    }
  } else if (_detail_diff.value()) {
    if (MemTracker::has_baseline()) {
      BaselineTTYOutputer outputer(output());
      MemTracker::compare_memory_usage(outputer, scale_unit, false);
    } else {
      output()->print_cr("No baseline to compare to, run 'baseline' command first");
    }
  } else if (_shutdown.value()) {
    MemTracker::shutdown(MemTracker::NMT_shutdown_user);
    output()->print_cr("Shutdown is in progress, it will take a few moments to " \
      "completely shutdown");
  } else {
    ShouldNotReachHere();
    output()->print_cr("Unknown command");
  }
}