From 95192fbb1ebf4f402654b43b9b3ac215d3ef0481 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20Bostr=C3=B6m?= Date: Thu, 29 Oct 2015 12:41:56 +0100 Subject: [PATCH] Create a 'webrtc_nonparallel_tests' target. Used for tests that cannot be run in parallel due to using non-virtual resources such as filesystems and sockets. Initially moves socket unittests from rtc_unittest since PhysicalSocketTest.TestUdpReadyToSendIPv4 is one of the worst flake offenders. Future prospect targets are GTEST_DEATH tests that are flaky on Mac in parallel for instance. BUG=chromium:445880 R=kjellander@webrtc.org Review URL: https://codereview.webrtc.org/1426643003 . Cr-Commit-Position: refs/heads/master@{#10446} --- webrtc/base/base_tests.gyp | 14 +-------- webrtc/build/apk_tests.gyp | 14 +++++++++ webrtc/test/test.gyp | 1 + webrtc/webrtc_tests.gypi | 59 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 75 insertions(+), 13 deletions(-) diff --git a/webrtc/base/base_tests.gyp b/webrtc/base/base_tests.gyp index 4c3dd3dba1..ee371f4a62 100644 --- a/webrtc/base/base_tests.gyp +++ b/webrtc/base/base_tests.gyp @@ -78,10 +78,8 @@ 'multipart_unittest.cc', 'nat_unittest.cc', 'network_unittest.cc', - 'nullsocketserver_unittest.cc', 'optionsfile_unittest.cc', 'pathutils_unittest.cc', - 'physicalsocketserver_unittest.cc', 'profiler_unittest.cc', 'proxy_unittest.cc', 'proxydetect_unittest.cc', @@ -96,9 +94,6 @@ 'sigslot_unittest.cc', 'sigslottester.h', 'sigslottester.h.pump', - 'socket_unittest.cc', - 'socket_unittest.h', - 'socketaddress_unittest.cc', 'stream_unittest.cc', 'stringencode_unittest.cc', 'stringutils_unittest.cc', @@ -111,7 +106,6 @@ 'timeutils_unittest.cc', 'urlencode_unittest.cc', 'versionparsing_unittest.cc', - 'virtualsocket_unittest.cc', # TODO(ronghuawu): Reenable this test. # 'windowpicker_unittest.cc', ], @@ -128,23 +122,17 @@ 'sources': [ 'win32_unittest.cc', 'win32regkey_unittest.cc', - 'win32socketserver_unittest.cc', 'win32window_unittest.cc', 'win32windowpicker_unittest.cc', 'winfirewall_unittest.cc', ], 'sources!': [ - # TODO(ronghuawu): Fix TestUdpReadyToSendIPv6 on windows bot - # then reenable these tests. - 'physicalsocketserver_unittest.cc', - 'socket_unittest.cc', - 'win32socketserver_unittest.cc', + # TODO(pbos): Reenable this test. 'win32windowpicker_unittest.cc', ], }], ['OS=="mac"', { 'sources': [ - 'macsocketserver_unittest.cc', 'macutils_unittest.cc', ], }], diff --git a/webrtc/build/apk_tests.gyp b/webrtc/build/apk_tests.gyp index a9481d22d2..a3833ff524 100644 --- a/webrtc/build/apk_tests.gyp +++ b/webrtc/build/apk_tests.gyp @@ -201,6 +201,20 @@ '../../build/apk_test.gypi', ], }, + { + 'target_name': 'webrtc_nonparallel_tests_apk', + 'type': 'none', + 'variables': { + 'test_suite_name': 'webrtc_nonparallel_tests', + 'input_shlib_path': '<(SHARED_LIB_DIR)/<(SHARED_LIB_PREFIX)webrtc_nonparallel_tests<(SHARED_LIB_SUFFIX)', + }, + 'dependencies': [ + '<(webrtc_root)/webrtc.gyp:webrtc_nonparallel_tests', + ], + 'includes': [ + '../../build/apk_test.gypi', + ], + }, { 'target_name': 'audio_codec_speed_tests_apk', 'type': 'none', diff --git a/webrtc/test/test.gyp b/webrtc/test/test.gyp index 442b08723a..0d251dffdd 100644 --- a/webrtc/test/test.gyp +++ b/webrtc/test/test.gyp @@ -103,6 +103,7 @@ 'dependencies': [ 'field_trial', 'histogram', + 'test_support', '<(DEPTH)/testing/gtest.gyp:gtest', '<(DEPTH)/third_party/gflags/gflags.gyp:gflags', ], diff --git a/webrtc/webrtc_tests.gypi b/webrtc/webrtc_tests.gypi index 0e245c5426..547b99b693 100644 --- a/webrtc/webrtc_tests.gypi +++ b/webrtc/webrtc_tests.gypi @@ -42,6 +42,7 @@ 'video_loopback', 'video_replay', 'webrtc_perf_tests', + 'webrtc_nonparallel_tests', ], }, { @@ -232,6 +233,57 @@ }], ], }, + { + 'target_name': 'webrtc_nonparallel_tests', + 'type': '<(gtest_target_type)', + 'sources': [ + 'base/nullsocketserver_unittest.cc', + 'base/physicalsocketserver_unittest.cc', + 'base/socket_unittest.cc', + 'base/socket_unittest.h', + 'base/socketaddress_unittest.cc', + 'base/virtualsocket_unittest.cc', + ], + 'defines': [ + 'GTEST_RELATIVE_PATH', + ], + 'dependencies': [ + '<(DEPTH)/testing/gtest.gyp:gtest', + 'base/base.gyp:rtc_base', + 'test/test.gyp:test_main', + ], + 'conditions': [ + ['OS=="android"', { + 'dependencies': [ + '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code', + ], + }], + ['OS=="win"', { + 'sources': [ + 'base/win32socketserver_unittest.cc', + ], + 'sources!': [ + # TODO(ronghuawu): Fix TestUdpReadyToSendIPv6 on windows bot + # then reenable these tests. + # TODO(pbos): Move test disabling to ifdefs within the test files + # instead of here. + 'base/physicalsocketserver_unittest.cc', + 'base/socket_unittest.cc', + 'base/win32socketserver_unittest.cc', + ], + }], + ['OS=="mac"', { + 'sources': [ + 'base/macsocketserver_unittest.cc', + ], + }], + ['OS=="ios" or (OS=="mac" and target_arch!="ia32")', { + 'defines': [ + 'CARBON_DEPRECATED=YES', + ], + }], + ], + }, ], 'conditions': [ ['OS=="android"', { @@ -257,6 +309,13 @@ '<(apk_tests_path):webrtc_perf_tests_apk', ], }, + { + 'target_name': 'webrtc_nonparallel_tests_apk_target', + 'type': 'none', + 'dependencies': [ + '<(apk_tests_path):webrtc_nonparallel_tests_apk', + ], + }, ], }], ['test_isolation_mode != "noop"', {