From 51d49b49837fe80519f39b9a0b263f82afb12c6c Mon Sep 17 00:00:00 2001 From: oprypin Date: Tue, 22 Aug 2017 10:55:47 -0700 Subject: [PATCH] Reland of Stop silently accepting unsupported flags in test binaries (patchset #1 id:1 of https://codereview.webrtc.org/3002963002/ ) Reason for revert: Relanding without changes. Problem with unused flags was fixed in https://codereview.webrtc.org/2998143002/ Original issue's description: > Revert of Stop silently accepting unsupported flags in test binaries (patchset #5 id:150001 of https://codereview.webrtc.org/2968003003/ ) > > Reason for revert: > Causes failures on perf bots > https://luci-milo.appspot.com/buildbot/client.webrtc.perf/Mac%2010.11/3567 > > Original issue's description: > > 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} > > Committed: https://chromium.googlesource.com/external/webrtc/+/a2782f6f5d350e423b8166d603f44e17e1d7540b > > TBR=kjellander@webrtc.org,henrika@webrtc.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=webrtc:7568 > > Review-Url: https://codereview.webrtc.org/3002963002 > Cr-Commit-Position: refs/heads/master@{#19413} > Committed: https://chromium.googlesource.com/external/webrtc/+/d64072c598875cdf3a8ce5806d3410125363596d TBR=kjellander@webrtc.org,henrika@webrtc.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=webrtc:7568 Review-Url: https://codereview.webrtc.org/2999383002 Cr-Commit-Position: refs/heads/master@{#19455} --- tools_webrtc/gtest-parallel-wrapper.py | 4 ++++ tools_webrtc/valgrind/webrtc_tests.py | 10 ++++++++++ .../modules/audio_coding/codecs/isac/fix/test/kenny.cc | 6 ++---- webrtc/test/test_main.cc | 8 +++++--- .../voice_engine/test/auto_test/voe_standard_test.cc | 3 --- 5 files changed, 21 insertions(+), 10 deletions(-) diff --git a/tools_webrtc/gtest-parallel-wrapper.py b/tools_webrtc/gtest-parallel-wrapper.py index e7a659f286..de845b0ca7 100755 --- a/tools_webrtc/gtest-parallel-wrapper.py +++ b/tools_webrtc/gtest-parallel-wrapper.py @@ -81,6 +81,10 @@ def get_args_and_env(): parser.add_argument('--isolated-script-test-chartjson-output', type=str, 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 # argument to the executable by the swarming scripts, and we want to pass it # to gtest-parallel instead. diff --git a/tools_webrtc/valgrind/webrtc_tests.py b/tools_webrtc/valgrind/webrtc_tests.py index 627025cd75..dcd88e8566 100755 --- a/tools_webrtc/valgrind/webrtc_tests.py +++ b/tools_webrtc/valgrind/webrtc_tests.py @@ -24,6 +24,7 @@ Chrome's suppression files and our own, so we can easily maintain WebRTC specific suppressions in our own files. """ +import argparse import logging import optparse import os @@ -124,6 +125,15 @@ def main(_): help="run the tests with --test-launcher-shard-index") 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: logging_utils.config_root(logging.DEBUG) else: diff --git a/webrtc/modules/audio_coding/codecs/isac/fix/test/kenny.cc b/webrtc/modules/audio_coding/codecs/isac/fix/test/kenny.cc index e39f1efa26..79a525bccf 100644 --- a/webrtc/modules/audio_coding/codecs/isac/fix/test/kenny.cc +++ b/webrtc/modules/audio_coding/codecs/isac/fix/test/kenny.cc @@ -384,10 +384,8 @@ TEST(IsacFixTest, Kenny) { sscanf(argv[CodingMode+1], "%s", bottleneck_file); f_bn = fopen(bottleneck_file, "rb"); if (f_bn == NULL) { - printf("No value provided for BottleNeck and cannot read file %s\n", - bottleneck_file); - exit(0); // TODO(oprypin): don't silence this error - // FAIL() << "Cannot read file " << bottleneck_file; + printf("No value provided for BottleNeck\n"); + FAIL() << "Cannot read file " << bottleneck_file; } else { int aux_var; printf("reading bottleneck rates from file %s\n\n",bottleneck_file); diff --git a/webrtc/test/test_main.cc b/webrtc/test/test_main.cc index 2d7dbe2225..3f6d4f187c 100644 --- a/webrtc/test/test_main.cc +++ b/webrtc/test/test_main.cc @@ -19,6 +19,11 @@ #if defined(WEBRTC_IOS) #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 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) 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); webrtc::test::SetExecutablePath(argv[0]); diff --git a/webrtc/voice_engine/test/auto_test/voe_standard_test.cc b/webrtc/voice_engine/test/auto_test/voe_standard_test.cc index 4cb6d52946..5449a2f680 100644 --- a/webrtc/voice_engine/test/auto_test/voe_standard_test.cc +++ b/webrtc/voice_engine/test/auto_test/voe_standard_test.cc @@ -101,9 +101,6 @@ int main(int argc, char** argv) { // This function and RunInAutomatedMode is defined in automated_mode.cc // to avoid macro clashes with googletest (for instance ASSERT_TRUE). 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); if (FLAGS_automated) {