webrtc_m130/test/test_main.cc

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

87 lines
2.8 KiB
C++
Raw Normal View History

/*
* 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.
*/
#include "rtc_base/file.h"
#include "rtc_base/flags.h"
#include "rtc_base/logging.h"
#include "system_wrappers/include/metrics_default.h"
#include "test/field_trial.h"
#include "test/gmock.h"
#include "test/gtest.h"
#include "test/testsupport/fileutils.h"
#include "test/testsupport/perf_test.h"
#if defined(WEBRTC_IOS)
#include "test/ios/test_support.h"
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}
2017-08-22 10:55:47 -07:00
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");
DEFINE_string(force_fieldtrials, "",
"Field trials control experimental feature code which can be forced. "
"E.g. running with --force_fieldtrials=WebRTC-FooFeature/Enable/"
" will assign the group Enable to field trial WebRTC-FooFeature.");
Revert "Reland "iOS: Save perf results under Documents/perf_result.json"" This reverts commit 8b886bb077d54e2bf6198559557ae97b03023611. Reason for revert: Breaks downstream projects. Original change's description: > Reland "iOS: Save perf results under Documents/perf_result.json" > > This will require a manual roll to downstream projects, since > the //test:perf_test target was introduced. > > This is a reland of 10a8e7a9b5261a7e3ce19900ba3511be3b5911f8 > Original change's description: > > iOS: Save perf results under Documents/perf_result.json > > > > TBR=henrika@webrtc.org > > > > Bug: webrtc:7156 > > Change-Id: Ib00992cce0007e0b5c9274340df1a892f810b0c5 > > Reviewed-on: https://webrtc-review.googlesource.com/29202 > > Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org> > > Reviewed-by: Henrik Andreassson <henrika@webrtc.org> > > Reviewed-by: Patrik Höglund <phoglund@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#21244} > > TBR=henrika@webrtc.org, phoglund@webrtc.org > > No-Try: true > Bug: webrtc:7156 > Change-Id: Iecdb108f605fd1c98acde4d50ab4f5a7b5f6bfaf > Reviewed-on: https://webrtc-review.googlesource.com/32761 > Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org> > Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#21252} TBR=phoglund@webrtc.org,ehmaldonado@webrtc.org,henrika@webrtc.org Change-Id: If4c72fa61dba3a3157fb9696b7f22664522b9467 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webrtc:7156 Reviewed-on: https://webrtc-review.googlesource.com/33040 Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#21279}
2017-12-14 12:51:07 +00:00
DEFINE_string(
perf_results_json_path,
Revert "Reland "iOS: Save perf results under Documents/perf_result.json"" This reverts commit 8b886bb077d54e2bf6198559557ae97b03023611. Reason for revert: Breaks downstream projects. Original change's description: > Reland "iOS: Save perf results under Documents/perf_result.json" > > This will require a manual roll to downstream projects, since > the //test:perf_test target was introduced. > > This is a reland of 10a8e7a9b5261a7e3ce19900ba3511be3b5911f8 > Original change's description: > > iOS: Save perf results under Documents/perf_result.json > > > > TBR=henrika@webrtc.org > > > > Bug: webrtc:7156 > > Change-Id: Ib00992cce0007e0b5c9274340df1a892f810b0c5 > > Reviewed-on: https://webrtc-review.googlesource.com/29202 > > Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org> > > Reviewed-by: Henrik Andreassson <henrika@webrtc.org> > > Reviewed-by: Patrik Höglund <phoglund@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#21244} > > TBR=henrika@webrtc.org, phoglund@webrtc.org > > No-Try: true > Bug: webrtc:7156 > Change-Id: Iecdb108f605fd1c98acde4d50ab4f5a7b5f6bfaf > Reviewed-on: https://webrtc-review.googlesource.com/32761 > Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org> > Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#21252} TBR=phoglund@webrtc.org,ehmaldonado@webrtc.org,henrika@webrtc.org Change-Id: If4c72fa61dba3a3157fb9696b7f22664522b9467 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webrtc:7156 Reviewed-on: https://webrtc-review.googlesource.com/33040 Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#21279}
2017-12-14 12:51:07 +00:00
"",
"Path where the perf results should be stored it the JSON format described "
"by "
"https://github.com/catapult-project/catapult/blob/master/dashboard/docs/"
"data-format.md.");
DEFINE_bool(help, false, "Print this message.");
int main(int argc, char* argv[]) {
::testing::InitGoogleMock(&argc, argv);
// Default to LS_INFO, even for release builds to provide better test logging.
// TODO(pbos): Consider adding a command-line override.
if (rtc::LogMessage::GetLogToDebug() > rtc::LS_INFO)
rtc::LogMessage::LogToDebug(rtc::LS_INFO);
if (rtc::FlagList::SetFlagsFromCommandLine(&argc, argv, false)) {
return 1;
}
if (FLAG_help) {
rtc::FlagList::Print(nullptr, false);
return 0;
}
webrtc::test::SetExecutablePath(argv[0]);
std::string fieldtrials = FLAG_force_fieldtrials;
webrtc::test::InitFieldTrialsFromString(fieldtrials);
webrtc::metrics::Enable();
rtc::LogMessage::SetLogToStderr(FLAG_logs);
#if defined(WEBRTC_IOS)
Revert "Reland "iOS: Save perf results under Documents/perf_result.json"" This reverts commit 8b886bb077d54e2bf6198559557ae97b03023611. Reason for revert: Breaks downstream projects. Original change's description: > Reland "iOS: Save perf results under Documents/perf_result.json" > > This will require a manual roll to downstream projects, since > the //test:perf_test target was introduced. > > This is a reland of 10a8e7a9b5261a7e3ce19900ba3511be3b5911f8 > Original change's description: > > iOS: Save perf results under Documents/perf_result.json > > > > TBR=henrika@webrtc.org > > > > Bug: webrtc:7156 > > Change-Id: Ib00992cce0007e0b5c9274340df1a892f810b0c5 > > Reviewed-on: https://webrtc-review.googlesource.com/29202 > > Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org> > > Reviewed-by: Henrik Andreassson <henrika@webrtc.org> > > Reviewed-by: Patrik Höglund <phoglund@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#21244} > > TBR=henrika@webrtc.org, phoglund@webrtc.org > > No-Try: true > Bug: webrtc:7156 > Change-Id: Iecdb108f605fd1c98acde4d50ab4f5a7b5f6bfaf > Reviewed-on: https://webrtc-review.googlesource.com/32761 > Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org> > Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#21252} TBR=phoglund@webrtc.org,ehmaldonado@webrtc.org,henrika@webrtc.org Change-Id: If4c72fa61dba3a3157fb9696b7f22664522b9467 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webrtc:7156 Reviewed-on: https://webrtc-review.googlesource.com/33040 Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#21279}
2017-12-14 12:51:07 +00:00
rtc::test::InitTestSuite(RUN_ALL_TESTS, argc, argv);
rtc::test::RunTestsFromIOSApp();
Revert "Reland "iOS: Save perf results under Documents/perf_result.json"" This reverts commit 8b886bb077d54e2bf6198559557ae97b03023611. Reason for revert: Breaks downstream projects. Original change's description: > Reland "iOS: Save perf results under Documents/perf_result.json" > > This will require a manual roll to downstream projects, since > the //test:perf_test target was introduced. > > This is a reland of 10a8e7a9b5261a7e3ce19900ba3511be3b5911f8 > Original change's description: > > iOS: Save perf results under Documents/perf_result.json > > > > TBR=henrika@webrtc.org > > > > Bug: webrtc:7156 > > Change-Id: Ib00992cce0007e0b5c9274340df1a892f810b0c5 > > Reviewed-on: https://webrtc-review.googlesource.com/29202 > > Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org> > > Reviewed-by: Henrik Andreassson <henrika@webrtc.org> > > Reviewed-by: Patrik Höglund <phoglund@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#21244} > > TBR=henrika@webrtc.org, phoglund@webrtc.org > > No-Try: true > Bug: webrtc:7156 > Change-Id: Iecdb108f605fd1c98acde4d50ab4f5a7b5f6bfaf > Reviewed-on: https://webrtc-review.googlesource.com/32761 > Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org> > Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#21252} TBR=phoglund@webrtc.org,ehmaldonado@webrtc.org,henrika@webrtc.org Change-Id: If4c72fa61dba3a3157fb9696b7f22664522b9467 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webrtc:7156 Reviewed-on: https://webrtc-review.googlesource.com/33040 Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#21279}
2017-12-14 12:51:07 +00:00
#endif
int exit_code = RUN_ALL_TESTS();
std::string perf_results_json_path = FLAG_perf_results_json_path;
if (perf_results_json_path != "") {
Revert "Reland "iOS: Save perf results under Documents/perf_result.json"" This reverts commit 8b886bb077d54e2bf6198559557ae97b03023611. Reason for revert: Breaks downstream projects. Original change's description: > Reland "iOS: Save perf results under Documents/perf_result.json" > > This will require a manual roll to downstream projects, since > the //test:perf_test target was introduced. > > This is a reland of 10a8e7a9b5261a7e3ce19900ba3511be3b5911f8 > Original change's description: > > iOS: Save perf results under Documents/perf_result.json > > > > TBR=henrika@webrtc.org > > > > Bug: webrtc:7156 > > Change-Id: Ib00992cce0007e0b5c9274340df1a892f810b0c5 > > Reviewed-on: https://webrtc-review.googlesource.com/29202 > > Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org> > > Reviewed-by: Henrik Andreassson <henrika@webrtc.org> > > Reviewed-by: Patrik Höglund <phoglund@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#21244} > > TBR=henrika@webrtc.org, phoglund@webrtc.org > > No-Try: true > Bug: webrtc:7156 > Change-Id: Iecdb108f605fd1c98acde4d50ab4f5a7b5f6bfaf > Reviewed-on: https://webrtc-review.googlesource.com/32761 > Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org> > Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#21252} TBR=phoglund@webrtc.org,ehmaldonado@webrtc.org,henrika@webrtc.org Change-Id: If4c72fa61dba3a3157fb9696b7f22664522b9467 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webrtc:7156 Reviewed-on: https://webrtc-review.googlesource.com/33040 Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#21279}
2017-12-14 12:51:07 +00:00
std::string json_results = webrtc::test::GetPerfResultsJSON();
rtc::File json_file = rtc::File::Open(perf_results_json_path);
json_file.Write(reinterpret_cast<const uint8_t*>(json_results.c_str()),
json_results.size());
json_file.Close();
}
return exit_code;
}