diff --git a/call/BUILD.gn b/call/BUILD.gn index 373d20ebe2..82f6ca1dc1 100644 --- a/call/BUILD.gn +++ b/call/BUILD.gn @@ -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", diff --git a/modules/audio_coding/BUILD.gn b/modules/audio_coding/BUILD.gn index dc55621ef3..9c674d4ead 100644 --- a/modules/audio_coding/BUILD.gn +++ b/modules/audio_coding/BUILD.gn @@ -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", ] diff --git a/modules/audio_processing/BUILD.gn b/modules/audio_processing/BUILD.gn index dca2478845..b190f0222f 100644 --- a/modules/audio_processing/BUILD.gn +++ b/modules/audio_processing/BUILD.gn @@ -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", ] diff --git a/modules/remote_bitrate_estimator/BUILD.gn b/modules/remote_bitrate_estimator/BUILD.gn index 93b8322e55..f0fac54376 100644 --- a/modules/remote_bitrate_estimator/BUILD.gn +++ b/modules/remote_bitrate_estimator/BUILD.gn @@ -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", diff --git a/rtc_base/unittest_main.cc b/rtc_base/unittest_main.cc index 330bd3f813..80b988d256 100644 --- a/rtc_base/unittest_main.cc +++ b/rtc_base/unittest_main.cc @@ -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(); diff --git a/test/BUILD.gn b/test/BUILD.gn index d48c9cd79f..bd671168f3 100644 --- a/test/BUILD.gn +++ b/test/BUILD.gn @@ -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", diff --git a/test/ios/test_support.h b/test/ios/test_support.h index 0178fca76b..7bc2993b9e 100644 --- a/test/ios/test_support.h +++ b/test/ios/test_support.h @@ -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 diff --git a/test/ios/test_support.mm b/test/ios/test_support.mm index 5b7f2f9350..603bc8c19c 100644 --- a/test/ios/test_support.mm +++ b/test/ios/test_support.mm @@ -11,10 +11,8 @@ #import #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* 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() { diff --git a/test/test_main.cc b/test/test_main.cc index 4b36271333..c6c00c599d 100644 --- a/test/test_main.cc +++ b/test/test_main.cc @@ -8,6 +8,8 @@ * be found in the AUTHORS file in the root of the source tree. */ +#include + #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 } diff --git a/test/testsupport/perf_test.cc b/test/testsupport/perf_test.cc index 3719916423..c2a2a502f9 100644 --- a/test/testsupport/perf_test.cc +++ b/test/testsupport/perf_test.cc @@ -12,7 +12,6 @@ #include "rtc_base/criticalsection.h" #include -#include #include #include #include @@ -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, diff --git a/test/testsupport/perf_test.h b/test/testsupport/perf_test.h index f28dd2b2ac..1a72c042fe 100644 --- a/test/testsupport/perf_test.h +++ b/test/testsupport/perf_test.h @@ -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. diff --git a/tools_webrtc/ios/tests/perf_tests.json b/tools_webrtc/ios/tests/perf_tests.json index b871173c96..f87322153a 100644 --- a/tools_webrtc/ios/tests/perf_tests.json +++ b/tools_webrtc/ios/tests/perf_tests.json @@ -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" diff --git a/tools_webrtc/ios/tests/perf_trybot_tests.json b/tools_webrtc/ios/tests/perf_trybot_tests.json index 17301ba148..3b53e94480 100644 --- a/tools_webrtc/ios/tests/perf_trybot_tests.json +++ b/tools_webrtc/ios/tests/perf_trybot_tests.json @@ -2,10 +2,6 @@ "tests": [ { "app": "webrtc_perf_tests", - "test args": [ - "--gtest_filter=AudioEncoderOpusComplexityAdaptationTest.AdaptationOn", - "--save_chartjson_result" - ], "bot_id": "build16-a7", "pool": "WebRTC" } diff --git a/video/BUILD.gn b/video/BUILD.gn index dcc27626f5..95b6e31dae 100644 --- a/video/BUILD.gn +++ b/video/BUILD.gn @@ -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",