Stop silently accepting unsupported flags in test binaries

Instead explicitly ignore only the flags we know should be ignored.

BUG=webrtc:7568

Review-Url: https://codereview.webrtc.org/2968003003
Cr-Commit-Position: refs/heads/master@{#19412}
This commit is contained in:
oprypin
2017-08-18 07:12:20 -07:00
committed by Commit Bot
parent 81bc523f5d
commit a2782f6f5d
5 changed files with 21 additions and 10 deletions

View File

@ -81,6 +81,10 @@ def get_args_and_env():
parser.add_argument('--isolated-script-test-chartjson-output', type=str, parser.add_argument('--isolated-script-test-chartjson-output', type=str,
default=None) default=None)
# No-sandbox is a Chromium-specific flag, ignore it.
# TODO(oprypin): Remove (bugs.webrtc.org/8115)
parser.add_argument('--no-sandbox', action='store_true', default=False)
# We have to do this, since --isolated-script-test-output is passed as an # We have to do this, since --isolated-script-test-output is passed as an
# argument to the executable by the swarming scripts, and we want to pass it # argument to the executable by the swarming scripts, and we want to pass it
# to gtest-parallel instead. # to gtest-parallel instead.

View File

@ -24,6 +24,7 @@ Chrome's suppression files and our own, so we can easily maintain WebRTC
specific suppressions in our own files. specific suppressions in our own files.
""" """
import argparse
import logging import logging
import optparse import optparse
import os import os
@ -124,6 +125,15 @@ def main(_):
help="run the tests with --test-launcher-shard-index") help="run the tests with --test-launcher-shard-index")
options, args = parser.parse_args() options, args = parser.parse_args()
ignore_parser = argparse.ArgumentParser()
# Ignore Chromium-specific flags
# TODO(oprypin): Remove (bugs.webrtc.org/8115)
ignore_parser.add_argument('--isolated-script-test-output',
type=str, default=None)
ignore_parser.add_argument('--isolated-script-test-chartjson-output',
type=str, default=None)
_, args = ignore_parser.parse_known_args(args)
if options.verbose: if options.verbose:
logging_utils.config_root(logging.DEBUG) logging_utils.config_root(logging.DEBUG)
else: else:

View File

@ -384,10 +384,8 @@ TEST(IsacFixTest, Kenny) {
sscanf(argv[CodingMode+1], "%s", bottleneck_file); sscanf(argv[CodingMode+1], "%s", bottleneck_file);
f_bn = fopen(bottleneck_file, "rb"); f_bn = fopen(bottleneck_file, "rb");
if (f_bn == NULL) { if (f_bn == NULL) {
printf("No value provided for BottleNeck and cannot read file %s\n", printf("No value provided for BottleNeck\n");
bottleneck_file); FAIL() << "Cannot read file " << bottleneck_file;
exit(0); // TODO(oprypin): don't silence this error
// FAIL() << "Cannot read file " << bottleneck_file;
} else { } else {
int aux_var; int aux_var;
printf("reading bottleneck rates from file %s\n\n",bottleneck_file); printf("reading bottleneck rates from file %s\n\n",bottleneck_file);

View File

@ -19,6 +19,11 @@
#if defined(WEBRTC_IOS) #if defined(WEBRTC_IOS)
#include "webrtc/test/ios/test_support.h" #include "webrtc/test/ios/test_support.h"
DEFINE_string(NSTreatUnknownArgumentsAsOpen, "",
"Intentionally ignored flag intended for iOS simulator.");
DEFINE_string(ApplePersistenceIgnoreState, "",
"Intentionally ignored flag intended for iOS simulator.");
#endif #endif
DEFINE_bool(logs, false, "print logs to stderr"); DEFINE_bool(logs, false, "print logs to stderr");
@ -36,9 +41,6 @@ int main(int argc, char* argv[]) {
if (rtc::LogMessage::GetLogToDebug() > rtc::LS_INFO) if (rtc::LogMessage::GetLogToDebug() > rtc::LS_INFO)
rtc::LogMessage::LogToDebug(rtc::LS_INFO); rtc::LogMessage::LogToDebug(rtc::LS_INFO);
// AllowCommandLineParsing allows us to ignore flags passed on to us by
// Chromium build bots without having to explicitly disable them.
google::AllowCommandLineReparsing();
google::ParseCommandLineFlags(&argc, &argv, false); google::ParseCommandLineFlags(&argc, &argv, false);
webrtc::test::SetExecutablePath(argv[0]); webrtc::test::SetExecutablePath(argv[0]);

View File

@ -101,9 +101,6 @@ int main(int argc, char** argv) {
// This function and RunInAutomatedMode is defined in automated_mode.cc // This function and RunInAutomatedMode is defined in automated_mode.cc
// to avoid macro clashes with googletest (for instance ASSERT_TRUE). // to avoid macro clashes with googletest (for instance ASSERT_TRUE).
webrtc::voetest::InitializeGoogleTest(&argc, argv); webrtc::voetest::InitializeGoogleTest(&argc, argv);
// AllowCommandLineParsing allows us to ignore flags passed on to us by
// Chromium build bots without having to explicitly disable them.
google::AllowCommandLineReparsing();
google::ParseCommandLineFlags(&argc, &argv, true); google::ParseCommandLineFlags(&argc, &argv, true);
if (FLAGS_automated) { if (FLAGS_automated) {