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(); }
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"); } }