Add Fuchsia mixin, disable unsupported absl calls for fuchsia
Add a few tests to get started on debugging.
The goal of this CL is to get the Fuchsia bots running the tests without infra specific issues. After landing this, failures will be in test framework files (e.g. test/testsupport folder) and WebRTC code.
Bug: b/232740856
Change-Id: I332607fe875334769e7dadf6696d878a23a7e69f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/280440
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Reviewed-by: Andrey Logvin <landrey@google.com>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#38596}
diff --git a/infra/specs/client.webrtc.json b/infra/specs/client.webrtc.json
index 93615be..e9e9b56 100644
--- a/infra/specs/client.webrtc.json
+++ b/infra/specs/client.webrtc.json
@@ -2692,6 +2692,10 @@
"Fuchsia Release": {
"isolated_scripts": [
{
+ "args": [
+ "--",
+ "--undefok=use-vulkan"
+ ],
"isolate_name": "audio_decoder_unittests",
"merge": {
"args": [],
@@ -2713,6 +2717,10 @@
"test_id_prefix": "ninja://modules/audio_coding:audio_decoder_unittests/"
},
{
+ "args": [
+ "--",
+ "--undefok=use-vulkan"
+ ],
"isolate_name": "common_audio_unittests",
"merge": {
"args": [],
@@ -2734,6 +2742,10 @@
"test_id_prefix": "ninja://common_audio:common_audio_unittests/"
},
{
+ "args": [
+ "--",
+ "--undefok=use-vulkan"
+ ],
"isolate_name": "common_video_unittests",
"merge": {
"args": [],
@@ -2755,6 +2767,10 @@
"test_id_prefix": "ninja://common_video:common_video_unittests/"
},
{
+ "args": [
+ "--",
+ "--undefok=use-vulkan"
+ ],
"isolate_name": "dcsctp_unittests",
"merge": {
"args": [],
@@ -2777,7 +2793,8 @@
},
{
"args": [
- "--quick"
+ "--",
+ "--undefok=use-vulkan"
],
"isolate_name": "low_bandwidth_audio_test",
"merge": {
@@ -2798,327 +2815,6 @@
]
},
"test_id_prefix": "ninja://audio:low_bandwidth_audio_test/"
- },
- {
- "isolate_name": "modules_tests",
- "merge": {
- "args": [],
- "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
- },
- "name": "modules_tests",
- "resultdb": {
- "result_format": "json"
- },
- "swarming": {
- "can_use_on_swarming_builders": true,
- "dimension_sets": [
- {
- "cpu": "x86-64",
- "os": "Ubuntu-18.04"
- }
- ],
- "shards": 2
- },
- "test_id_prefix": "ninja://modules:modules_tests/"
- },
- {
- "isolate_name": "modules_unittests",
- "merge": {
- "args": [],
- "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
- },
- "name": "modules_unittests",
- "resultdb": {
- "result_format": "json"
- },
- "swarming": {
- "can_use_on_swarming_builders": true,
- "dimension_sets": [
- {
- "cpu": "x86-64",
- "os": "Ubuntu-18.04"
- }
- ],
- "shards": 6
- },
- "test_id_prefix": "ninja://modules:modules_unittests/"
- },
- {
- "isolate_name": "peerconnection_unittests",
- "merge": {
- "args": [],
- "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
- },
- "name": "peerconnection_unittests",
- "resultdb": {
- "result_format": "json"
- },
- "swarming": {
- "can_use_on_swarming_builders": true,
- "dimension_sets": [
- {
- "cpu": "x86-64",
- "os": "Ubuntu-18.04"
- }
- ],
- "shards": 4
- },
- "test_id_prefix": "ninja://pc:peerconnection_unittests/"
- },
- {
- "isolate_name": "rtc_media_unittests",
- "merge": {
- "args": [],
- "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
- },
- "name": "rtc_media_unittests",
- "resultdb": {
- "result_format": "json"
- },
- "swarming": {
- "can_use_on_swarming_builders": true,
- "dimension_sets": [
- {
- "cpu": "x86-64",
- "os": "Ubuntu-18.04"
- }
- ]
- },
- "test_id_prefix": "ninja://media:rtc_media_unittests/"
- },
- {
- "isolate_name": "rtc_pc_unittests",
- "merge": {
- "args": [],
- "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
- },
- "name": "rtc_pc_unittests",
- "resultdb": {
- "result_format": "json"
- },
- "swarming": {
- "can_use_on_swarming_builders": true,
- "dimension_sets": [
- {
- "cpu": "x86-64",
- "os": "Ubuntu-18.04"
- }
- ]
- },
- "test_id_prefix": "ninja://pc:rtc_pc_unittests/"
- },
- {
- "isolate_name": "rtc_stats_unittests",
- "merge": {
- "args": [],
- "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
- },
- "name": "rtc_stats_unittests",
- "resultdb": {
- "result_format": "json"
- },
- "swarming": {
- "can_use_on_swarming_builders": true,
- "dimension_sets": [
- {
- "cpu": "x86-64",
- "os": "Ubuntu-18.04"
- }
- ]
- },
- "test_id_prefix": "ninja://stats:rtc_stats_unittests/"
- },
- {
- "isolate_name": "rtc_unittests",
- "merge": {
- "args": [],
- "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
- },
- "name": "rtc_unittests",
- "resultdb": {
- "result_format": "json"
- },
- "swarming": {
- "can_use_on_swarming_builders": true,
- "dimension_sets": [
- {
- "cpu": "x86-64",
- "os": "Ubuntu-18.04"
- }
- ],
- "shards": 6
- },
- "test_id_prefix": "ninja://:rtc_unittests/"
- },
- {
- "isolate_name": "slow_peer_connection_unittests",
- "merge": {
- "args": [],
- "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
- },
- "name": "slow_peer_connection_unittests",
- "resultdb": {
- "result_format": "json"
- },
- "swarming": {
- "can_use_on_swarming_builders": true,
- "dimension_sets": [
- {
- "cpu": "x86-64",
- "os": "Ubuntu-18.04"
- }
- ]
- },
- "test_id_prefix": "ninja://pc:slow_peer_connection_unittests/"
- },
- {
- "isolate_name": "svc_tests",
- "merge": {
- "args": [],
- "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
- },
- "name": "svc_tests",
- "resultdb": {
- "result_format": "json"
- },
- "swarming": {
- "can_use_on_swarming_builders": true,
- "dimension_sets": [
- {
- "cpu": "x86-64",
- "os": "Ubuntu-18.04"
- }
- ],
- "shards": 4
- },
- "test_id_prefix": "ninja://pc:svc_tests/"
- },
- {
- "isolate_name": "system_wrappers_unittests",
- "merge": {
- "args": [],
- "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
- },
- "name": "system_wrappers_unittests",
- "resultdb": {
- "result_format": "json"
- },
- "swarming": {
- "can_use_on_swarming_builders": true,
- "dimension_sets": [
- {
- "cpu": "x86-64",
- "os": "Ubuntu-18.04"
- }
- ]
- },
- "test_id_prefix": "ninja://system_wrappers:system_wrappers_unittests/"
- },
- {
- "isolate_name": "test_support_unittests",
- "merge": {
- "args": [],
- "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
- },
- "name": "test_support_unittests",
- "resultdb": {
- "result_format": "json"
- },
- "swarming": {
- "can_use_on_swarming_builders": true,
- "dimension_sets": [
- {
- "cpu": "x86-64",
- "os": "Ubuntu-18.04"
- }
- ]
- },
- "test_id_prefix": "ninja://test:test_support_unittests/"
- },
- {
- "isolate_name": "tools_unittests",
- "merge": {
- "args": [],
- "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
- },
- "name": "tools_unittests",
- "resultdb": {
- "result_format": "json"
- },
- "swarming": {
- "can_use_on_swarming_builders": true,
- "dimension_sets": [
- {
- "cpu": "x86-64",
- "os": "Ubuntu-18.04"
- }
- ]
- },
- "test_id_prefix": "ninja://rtc_tools:tools_unittests/"
- },
- {
- "isolate_name": "video_engine_tests",
- "merge": {
- "args": [],
- "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
- },
- "name": "video_engine_tests",
- "resultdb": {
- "result_format": "json"
- },
- "swarming": {
- "can_use_on_swarming_builders": true,
- "dimension_sets": [
- {
- "cpu": "x86-64",
- "os": "Ubuntu-18.04"
- }
- ],
- "shards": 4
- },
- "test_id_prefix": "ninja://:video_engine_tests/"
- },
- {
- "isolate_name": "voip_unittests",
- "merge": {
- "args": [],
- "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
- },
- "name": "voip_unittests",
- "resultdb": {
- "result_format": "json"
- },
- "swarming": {
- "can_use_on_swarming_builders": true,
- "dimension_sets": [
- {
- "cpu": "x86-64",
- "os": "Ubuntu-18.04"
- }
- ]
- },
- "test_id_prefix": "ninja://:voip_unittests/"
- },
- {
- "isolate_name": "webrtc_nonparallel_tests",
- "merge": {
- "args": [],
- "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
- },
- "name": "webrtc_nonparallel_tests",
- "resultdb": {
- "result_format": "json"
- },
- "swarming": {
- "can_use_on_swarming_builders": true,
- "dimension_sets": [
- {
- "cpu": "x86-64",
- "os": "Ubuntu-18.04"
- }
- ]
- },
- "test_id_prefix": "ninja://:webrtc_nonparallel_tests/"
}
]
},
diff --git a/infra/specs/mixins.pyl b/infra/specs/mixins.pyl
index 49566ff..3e3c9b7 100644
--- a/infra/specs/mixins.pyl
+++ b/infra/specs/mixins.pyl
@@ -59,6 +59,11 @@
}
}
},
+ 'fuchsia': {
+ '$mixin_append': {
+ 'args': ['--', '--undefok=use-vulkan']
+ }
+ },
'hammerhead': {
'swarming': {
'dimensions': {
diff --git a/infra/specs/mixins_webrtc.pyl b/infra/specs/mixins_webrtc.pyl
index 1d270f4..357b94e 100644
--- a/infra/specs/mixins_webrtc.pyl
+++ b/infra/specs/mixins_webrtc.pyl
@@ -184,6 +184,11 @@
}
}
},
+ 'fuchsia': {
+ '$mixin_append': {
+ 'args': ['--', '--undefok=use-vulkan']
+ }
+ },
'resultdb-gtest-json-format': {
'$mixin_append': {
'args': [
diff --git a/infra/specs/test_suites.pyl b/infra/specs/test_suites.pyl
index 88de021..06338d3 100644
--- a/infra/specs/test_suites.pyl
+++ b/infra/specs/test_suites.pyl
@@ -116,6 +116,13 @@
'voip_unittests': {},
'webrtc_nonparallel_tests': {},
},
+ 'fuchsia_compatible_tests': {
+ 'audio_decoder_unittests': {},
+ 'common_audio_unittests': {},
+ 'common_video_unittests': {},
+ 'dcsctp_unittests': {},
+ 'low_bandwidth_audio_test': {},
+ },
'ios_device_tests': {
# TODO(bugs.webrtc.org/11362): Real XCTests fail to start on devices.
#'apprtcmobile_tests': {'mixins': ['xcodebuild-device-runner']},
diff --git a/infra/specs/tryserver.webrtc.json b/infra/specs/tryserver.webrtc.json
index a5dc5ae..302c94c 100644
--- a/infra/specs/tryserver.webrtc.json
+++ b/infra/specs/tryserver.webrtc.json
@@ -2828,7 +2828,135 @@
"android_compile_x64_rel": {},
"android_compile_x86_dbg": {},
"android_compile_x86_rel": {},
- "fuchsia_rel": {},
+ "fuchsia_rel": {
+ "isolated_scripts": [
+ {
+ "args": [
+ "--",
+ "--undefok=use-vulkan"
+ ],
+ "isolate_name": "audio_decoder_unittests",
+ "merge": {
+ "args": [],
+ "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+ },
+ "name": "audio_decoder_unittests",
+ "resultdb": {
+ "result_format": "json"
+ },
+ "swarming": {
+ "can_use_on_swarming_builders": true,
+ "dimension_sets": [
+ {
+ "cpu": "x86-64",
+ "os": "Ubuntu-18.04"
+ }
+ ]
+ },
+ "test_id_prefix": "ninja://modules/audio_coding:audio_decoder_unittests/"
+ },
+ {
+ "args": [
+ "--",
+ "--undefok=use-vulkan"
+ ],
+ "isolate_name": "common_audio_unittests",
+ "merge": {
+ "args": [],
+ "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+ },
+ "name": "common_audio_unittests",
+ "resultdb": {
+ "result_format": "json"
+ },
+ "swarming": {
+ "can_use_on_swarming_builders": true,
+ "dimension_sets": [
+ {
+ "cpu": "x86-64",
+ "os": "Ubuntu-18.04"
+ }
+ ]
+ },
+ "test_id_prefix": "ninja://common_audio:common_audio_unittests/"
+ },
+ {
+ "args": [
+ "--",
+ "--undefok=use-vulkan"
+ ],
+ "isolate_name": "common_video_unittests",
+ "merge": {
+ "args": [],
+ "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+ },
+ "name": "common_video_unittests",
+ "resultdb": {
+ "result_format": "json"
+ },
+ "swarming": {
+ "can_use_on_swarming_builders": true,
+ "dimension_sets": [
+ {
+ "cpu": "x86-64",
+ "os": "Ubuntu-18.04"
+ }
+ ]
+ },
+ "test_id_prefix": "ninja://common_video:common_video_unittests/"
+ },
+ {
+ "args": [
+ "--",
+ "--undefok=use-vulkan"
+ ],
+ "isolate_name": "dcsctp_unittests",
+ "merge": {
+ "args": [],
+ "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+ },
+ "name": "dcsctp_unittests",
+ "resultdb": {
+ "result_format": "json"
+ },
+ "swarming": {
+ "can_use_on_swarming_builders": true,
+ "dimension_sets": [
+ {
+ "cpu": "x86-64",
+ "os": "Ubuntu-18.04"
+ }
+ ]
+ },
+ "test_id_prefix": "ninja://net/dcsctp:dcsctp_unittests/"
+ },
+ {
+ "args": [
+ "--",
+ "--undefok=use-vulkan"
+ ],
+ "isolate_name": "low_bandwidth_audio_test",
+ "merge": {
+ "args": [],
+ "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
+ },
+ "name": "low_bandwidth_audio_test",
+ "resultdb": {
+ "result_format": "json"
+ },
+ "swarming": {
+ "can_use_on_swarming_builders": true,
+ "dimension_sets": [
+ {
+ "cpu": "x86-64",
+ "os": "Ubuntu-18.04"
+ }
+ ]
+ },
+ "test_id_prefix": "ninja://audio:low_bandwidth_audio_test/"
+ }
+ ]
+ },
"ios_compile_arm64_dbg": {},
"ios_compile_arm64_rel": {},
"ios_sim_x64_dbg_ios12": {
diff --git a/infra/specs/waterfalls.pyl b/infra/specs/waterfalls.pyl
index 1a9257e..2dcaac9 100644
--- a/infra/specs/waterfalls.pyl
+++ b/infra/specs/waterfalls.pyl
@@ -67,9 +67,10 @@
'Android64 Builder x64 (dbg)': {},
'Fuchsia Release': {
'os_type': 'linux',
- 'mixins': ['linux-bionic', 'x86-64', 'resultdb-json-format'],
+ 'mixins':
+ ['linux-bionic', 'x86-64', 'resultdb-json-format', 'fuchsia'],
'test_suites': {
- 'isolated_scripts': 'desktop_tests',
+ 'isolated_scripts': 'fuchsia_compatible_tests',
},
},
'Linux (more configs)': {
@@ -458,9 +459,10 @@
'android_compile_x86_rel': {},
'fuchsia_rel': {
'os_type': 'linux',
- 'mixins': ['linux-bionic', 'x86-64', 'resultdb-json-format'],
- 'test_suties': {
- 'isolateds_scripts': 'desktop_tests',
+ 'mixins':
+ ['linux-bionic', 'x86-64', 'resultdb-json-format', 'fuchsia'],
+ 'test_suites': {
+ 'isolated_scripts': 'fuchsia_compatible_tests',
},
},
'ios_compile_arm64_dbg': {},
diff --git a/test/test_main.cc b/test/test_main.cc
index f919c4b..27c3d8c 100644
--- a/test/test_main.cc
+++ b/test/test_main.cc
@@ -22,8 +22,11 @@
testing::InitGoogleMock(&argc, argv);
absl::ParseCommandLine(argc, argv);
+// This absl handler use unsupported features/instructions on Fuchsia
+#if !defined(WEBRTC_FUCHSIA)
absl::FailureSignalHandlerOptions options;
absl::InstallFailureSignalHandler(options);
+#endif
std::unique_ptr<webrtc::TestMain> main = webrtc::TestMain::Create();
int err_code = main->Init();