Revert "iOS: Save perf results under Documents/perf_result.json"

This reverts commit 10a8e7a9b5261a7e3ce19900ba3511be3b5911f8.

Reason for revert: Speculative revert for broken downstream project.

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=phoglund@webrtc.org,ehmaldonado@webrtc.org,henrika@webrtc.org

Change-Id: Id10bbddbdfad7042a99cb52f44ac0a753c207d3b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7156
Reviewed-on: https://webrtc-review.googlesource.com/32641
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21247}
This commit is contained in:
Rasmus Brandt 2017-12-13 14:25:49 +00:00 committed by Commit Bot
parent fd731cb7d9
commit 081c651148
14 changed files with 22 additions and 91 deletions

View File

@ -260,7 +260,6 @@ if (rtc_include_tests) {
"../test:direct_transport",
"../test:fake_audio_device",
"../test:field_trial",
"../test:perf_test",
"../test:test_common",
"../test:test_support",
"../test:video_test_common",

View File

@ -1344,7 +1344,6 @@ if (rtc_include_tests) {
"../../rtc_base:rtc_base_approved",
"../../system_wrappers",
"../../system_wrappers:field_trial_api",
"../../test:perf_test",
"../../test:test_support",
]
@ -1840,7 +1839,6 @@ if (rtc_include_tests) {
deps = [
":isac_fix",
"../../test:perf_test",
"../../test:test_support",
]

View File

@ -719,7 +719,6 @@ if (rtc_include_tests) {
"../../rtc_base:protobuf_utils",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers",
"../../test:perf_test",
"../../test:test_support",
]

View File

@ -148,7 +148,6 @@ if (rtc_include_tests) {
"../../rtc_base:rtc_numerics",
"../../system_wrappers",
"../../system_wrappers:field_trial_api",
"../../test:perf_test",
"../../test:test_support",
"../../voice_engine",
"../bitrate_controller",

View File

@ -109,7 +109,7 @@ int main(int argc, char* argv[]) {
rtc::SSLStreamAdapter::enable_time_callback_for_testing();
#if defined(WEBRTC_IOS)
rtc::test::InitTestSuite(RUN_ALL_TESTS, argc, argv, false);
rtc::test::InitTestSuite(RUN_ALL_TESTS, argc, argv);
rtc::test::RunTestsFromIOSApp();
#endif
const int res = RUN_ALL_TESTS();

View File

@ -115,19 +115,6 @@ rtc_source_set("field_trial") {
]
}
rtc_source_set("perf_test") {
testonly = true
sources = [
"testsupport/perf_test.cc",
"testsupport/perf_test.h",
]
deps = [
"..:webrtc_common",
"../api:array_view",
"../rtc_base:rtc_base_approved",
]
}
if (is_ios) {
rtc_source_set("test_support_objc") {
testonly = true
@ -137,7 +124,6 @@ if (is_ios) {
"ios/test_support.mm",
]
deps = [
":perf_test",
"../sdk:common_objc",
]
}
@ -151,6 +137,8 @@ rtc_source_set("test_support") {
"gtest.h",
"testsupport/packet_reader.cc",
"testsupport/packet_reader.h",
"testsupport/perf_test.cc",
"testsupport/perf_test.h",
"testsupport/unittest_utils.h",
]
@ -202,7 +190,6 @@ if (rtc_include_tests) {
]
deps = [
":field_trial",
":perf_test",
"../rtc_base:rtc_base_approved",
"../system_wrappers:metrics_default",
"//testing/gmock",
@ -303,7 +290,6 @@ if (rtc_include_tests) {
rtc_test("test_support_unittests") {
deps = [
":fake_audio_device",
":perf_test",
":rtp_test_utils",
"../api:video_frame_api",
"../api:video_frame_api_i420",

View File

@ -17,8 +17,7 @@ namespace test {
// This is necessary as iOS doesn't like processes without a gui
// running for longer than a few seconds.
void RunTestsFromIOSApp();
void InitTestSuite(int (*test_suite)(void), int argc, char* argv[],
bool save_chartjson_result);
void InitTestSuite(int (*test_suite)(void), int argc, char* argv[]);
} // namespace test
} // namespace rtc

View File

@ -11,10 +11,8 @@
#import <UIKit/UIKit.h>
#include "test/ios/test_support.h"
#include "test/testsupport/perf_test.h"
#import "sdk/objc/Framework/Classes/Common/RTCUIApplicationStatusObserver.h"
#include "sdk/objc/Framework/Classes/Common/helpers.h"
// Springboard will kill any iOS app that fails to check in after launch within
// a given time. Starting a UIApplication before invoking TestSuite::Run
@ -33,7 +31,6 @@
static int (*g_test_suite)(void) = NULL;
static int g_argc;
static char **g_argv;
static bool g_save_chartjson_result;
@interface UIApplication (Testing)
- (void)_terminateWithStatus:(int)status;
@ -78,20 +75,6 @@ static bool g_save_chartjson_result;
- (void)runTests {
int exitStatus = g_test_suite();
if (g_save_chartjson_result) {
// Stores data into a json file under the app's document directory.
NSString* fileName = @"perf_result.json";
NSArray<NSString*>* outputDirectories = NSSearchPathForDirectoriesInDomains(
NSDocumentDirectory, NSUserDomainMask, YES);
if ([outputDirectories count] != 0) {
NSString* outputPath =
[outputDirectories[0] stringByAppendingPathComponent:fileName];
webrtc::test::WritePerfResults(
webrtc::ios::StdStringFromNSString(outputPath));
}
}
// If a test app is too fast, it will exit before Instruments has has a
// a chance to initialize and no test results will be seen.
// TODO(crbug.com/137010): Figure out how much time is actually needed, and
@ -110,14 +93,10 @@ static bool g_save_chartjson_result;
namespace rtc {
namespace test {
// Note: This is not thread safe, and must be called from the same thread as
// runTests above.
void InitTestSuite(int (*test_suite)(void), int argc, char *argv[],
bool save_chartjson_result) {
void InitTestSuite(int (*test_suite)(void), int argc, char *argv[]) {
g_test_suite = test_suite;
g_argc = argc;
g_argv = argv;
g_save_chartjson_result = save_chartjson_result;
}
void RunTestsFromIOSApp() {

View File

@ -8,6 +8,8 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#include <fstream>
#include "rtc_base/flags.h"
#include "rtc_base/logging.h"
#include "system_wrappers/include/metrics_default.h"
@ -24,24 +26,6 @@ DEFINE_string(NSTreatUnknownArgumentsAsOpen, "",
"Intentionally ignored flag intended for iOS simulator.");
DEFINE_string(ApplePersistenceIgnoreState, "",
"Intentionally ignored flag intended for iOS simulator.");
DEFINE_bool(
save_chartjson_result,
false,
"Store the perf results in Documents/perf_result.json in the format "
"described by "
"https://github.com/catapult-project/catapult/blob/master/dashboard/docs/"
"data-format.md.");
#else
DEFINE_string(
chartjson_result_file,
"",
"Path where the perf results should be stored in the JSON format described "
"by "
"https://github.com/catapult-project/catapult/blob/master/dashboard/docs/"
"data-format.md.");
#endif
DEFINE_bool(logs, false, "print logs to stderr");
@ -51,6 +35,13 @@ DEFINE_string(force_fieldtrials, "",
"E.g. running with --force_fieldtrials=WebRTC-FooFeature/Enable/"
" will assign the group Enable to field trial WebRTC-FooFeature.");
DEFINE_string(
chartjson_result_file,
"",
"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.");
@ -75,25 +66,21 @@ int main(int argc, char* argv[]) {
webrtc::test::InitFieldTrialsFromString(fieldtrials);
webrtc::metrics::Enable();
rtc::LogMessage::SetLogToStderr(FLAG_logs);
#if defined(WEBRTC_IOS)
rtc::test::InitTestSuite(RUN_ALL_TESTS, argc, argv,
FLAG_save_chartjson_result);
rtc::test::InitTestSuite(RUN_ALL_TESTS, argc, argv);
rtc::test::RunTestsFromIOSApp();
#else
#endif
int exit_code = RUN_ALL_TESTS();
std::string chartjson_result_file = FLAG_chartjson_result_file;
if (chartjson_result_file != "") {
webrtc::test::WritePerfResults(chartjson_result_file);
std::string json_results = webrtc::test::GetPerfResultsJSON();
std::fstream json_file(chartjson_result_file, std::fstream::out);
json_file << json_results;
json_file.close();
}
return exit_code;
#endif
}

View File

@ -12,7 +12,6 @@
#include "rtc_base/criticalsection.h"
#include <stdio.h>
#include <fstream>
#include <map>
#include <sstream>
#include <vector>
@ -155,13 +154,6 @@ std::string GetPerfResultsJSON() {
return GetPerfResultsLogger().ToJSON();
}
void WritePerfResults(const std::string& output_path) {
std::string json_results = GetPerfResultsJSON();
std::fstream json_file(output_path, std::fstream::out);
json_file << json_results;
json_file.close();
}
void PrintResult(const std::string& measurement,
const std::string& modifier,
const std::string& trace,

View File

@ -61,10 +61,8 @@ void PrintResultList(const std::string& measurement,
const std::string& units,
bool important);
// Write all perf results to date to a JSON file formatted as described in
// Get all perf results to date in a JSON format as described in
// https://github.com/catapult-project/catapult/blob/master/dashboard/docs/data-format.md
void WritePerfResults(const std::string& output_path);
std::string GetPerfResultsJSON();
// You shouldn't use this function. It's only used to test the functions above.

View File

@ -3,7 +3,7 @@
{
"app": "webrtc_perf_tests",
"test args": [
"--save_chartjson_result"
"--perf_results_json_path=Documents/perf_result.json"
],
"bot_id": "build15-a7",
"pool": "WebRTC"

View File

@ -2,10 +2,6 @@
"tests": [
{
"app": "webrtc_perf_tests",
"test args": [
"--gtest_filter=AudioEncoderOpusComplexityAdaptationTest.AdaptationOn",
"--save_chartjson_result"
],
"bot_id": "build16-a7",
"pool": "WebRTC"
}

View File

@ -303,7 +303,6 @@ if (rtc_include_tests) {
"../system_wrappers:metrics_default",
"../test:direct_transport",
"../test:field_trial",
"../test:perf_test",
"../test:rtp_test_utils",
"../test:test_common",
"../test:test_support",