/* * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. * * Use of this source code is governed by a BSD-style license * that can be found in the LICENSE file in the root of the source * tree. An additional intellectual property rights grant can be found * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree.
*/
std::vector<std::string> ReplaceDashesWithUnderscores(int argc, char* argv[]) {
std::vector<std::string> args(argv, argv + argc); for (std::string& arg : args) { // Only replace arguments that starts with a dash. if (!arg.empty() && arg[0] == '-') { // Don't replace the 2 first characters. auto begin = arg.begin() + 2; // Replace dashes on the left of '=' or on all the arg if no '=' is found. auto end = std::find(arg.begin(), arg.end(), '=');
std::replace(begin, end, '-', '_');
}
} return args;
}
std::vector<char*> VectorOfStringsToVectorOfPointers(
std::vector<std::string>& input) {
std::vector<char*> output(input.size()); for (size_t i = 0; i < input.size(); ++i) {
output[i] = &(input[i][0]);
} return output;
}
} // namespace
int main(int argc, char* argv[]) { // Initialize the symbolizer to get a human-readable stack trace
absl::InitializeSymbolizer(argv[0]);
testing::InitGoogleMock(&argc, argv); // Before parsing the arguments with the absl flag library, any internal '-' // characters will be converted to '_' characters to make sure the string is a // valid attribute name.
std::vector<std::string> new_argv = ReplaceDashesWithUnderscores(argc, argv);
std::vector<char*> raw_new_argv = VectorOfStringsToVectorOfPointers(new_argv);
absl::ParseCommandLine(argc, &raw_new_argv[0]);
// This absl handler use unsupported features/instructions on Fuchsia #if !defined(WEBRTC_FUCHSIA)
absl::FailureSignalHandlerOptions options;
absl::InstallFailureSignalHandler(options); #endif
std::unique_ptr<webrtc::TestMain> main = webrtc::TestMain::Create(); int err_code = main->Init(); if (err_code != 0) { return err_code;
} return main->Run(argc, argv);
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.