diff --git a/.gitignore b/.gitignore index eee931eb..fe8a94c7 100644 --- a/.gitignore +++ b/.gitignore @@ -24,6 +24,7 @@ .gdbinit /Makefile /out +/third_party/edo/edo /third_party/fuchsia/.cipd /third_party/fuchsia/clang /third_party/fuchsia/qemu diff --git a/BUILD.gn b/BUILD.gn index f47c6aa2..0ea3187b 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -121,7 +121,9 @@ if (crashpad_is_in_chromium || crashpad_is_in_fuchsia) { } package("crashpad_database_util") { - deps = [ "tools:crashpad_database_util" ] + deps = [ + "tools:crashpad_database_util", + ] binaries = [ { @@ -189,3 +191,12 @@ if (crashpad_is_in_chromium || crashpad_is_in_fuchsia) { } } } + +if (crashpad_is_ios) { + group("ios_xcuitests") { + testonly = true + deps = [ + "test/ios:all_tests", + ] + } +} diff --git a/DEPS b/DEPS index 5d0e0f77..6e4ac6d8 100644 --- a/DEPS +++ b/DEPS @@ -26,6 +26,11 @@ deps = { 'buildtools': Var('chromium_git') + '/chromium/src/buildtools.git@' + '3e50219fc4503f461b2176a9976891b28d80f9ab', + 'crashpad/third_party/edo/edo': { + 'url': Var('chromium_git') + '/external/github.com/google/eDistantObject.git@' + + '243fc89ae95b24717d41f3786f6a9abeeef87c92', + 'condition': 'checkout_ios', + }, 'crashpad/third_party/gtest/gtest': Var('chromium_git') + '/external/github.com/google/googletest@' + 'eb78ee170ac9eb21487f4d127720c060351fa8a2', diff --git a/test/ios/BUILD.gn b/test/ios/BUILD.gn new file mode 100644 index 00000000..722c4cae --- /dev/null +++ b/test/ios/BUILD.gn @@ -0,0 +1,50 @@ +# Copyright 2020 The Crashpad Authors. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("../../build/crashpad_buildconfig.gni") + +if (crashpad_is_in_chromium) { + import("//build/config/ios/rules.gni") +} else if (crashpad_is_standalone) { + import("//third_party/mini_chromium/mini_chromium/build/ios/rules.gni") +} + +group("all_tests") { + testonly = true + deps = [ + ":ios_crash_xcuitests_module", + "host:ios_crash_xcuitests", + ] +} + +source_set("xcuitests") { + testonly = true + sources = [ + "crash_type_xctest.mm", + ] + configs += [ "../..:crashpad_config" ] + deps = [ + "../../build:ios_enable_arc", + "../../build:ios_xctest", + "../../test/ios/host:app_shared_sources", + "../../third_party/edo", + ] +} + +ios_xcuitest_test("ios_crash_xcuitests_module") { + xcode_test_application_name = "ios_crash_xcuitests" + deps = [ + ":xcuitests", + ] +} diff --git a/test/ios/crash_type_xctest.mm b/test/ios/crash_type_xctest.mm new file mode 100644 index 00000000..ed72f613 --- /dev/null +++ b/test/ios/crash_type_xctest.mm @@ -0,0 +1,39 @@ +// Copyright 2020 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#import + +#import "Service/Sources/EDOClientService.h" +#import "test/ios/host/edo_placeholder.h" + +#if !defined(__has_feature) || !__has_feature(objc_arc) +#error "This file requires ARC support." +#endif + +@interface CPTestTestCase : XCTestCase +@end + +@implementation CPTestTestCase + +- (void)setUp { + [[[XCUIApplication alloc] init] launch]; +} + +- (void)testEDO { + EDOPlaceholder* rootObject = [EDOClientService rootObjectWithPort:12345]; + NSString* result = [rootObject testEDO]; + XCTAssertEqualObjects(result, @"crashpad"); +} + +@end diff --git a/test/ios/host/BUILD.gn b/test/ios/host/BUILD.gn new file mode 100644 index 00000000..39c8d999 --- /dev/null +++ b/test/ios/host/BUILD.gn @@ -0,0 +1,62 @@ +# Copyright 2020 The Crashpad Authors. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("../../../build/crashpad_buildconfig.gni") + +if (crashpad_is_in_chromium) { + import("//build/config/ios/rules.gni") +} else if (crashpad_is_standalone) { + import("//third_party/mini_chromium/mini_chromium/build/ios/rules.gni") +} + +source_set("app_shared_sources") { + testonly = true + sources = [ + "edo_placeholder.h", + ] + configs += [ "../../..:crashpad_config" ] + deps = [ + "../../../build:ios_enable_arc", + ] + libs = [ "UIKit.framework" ] +} + +static_library("app_host_sources") { + testonly = true + sources = [ + "application_delegate.h", + "application_delegate.mm", + "crash_view_controller.h", + "crash_view_controller.mm", + "main.mm", + ] + configs += [ "../../..:crashpad_config" ] + deps = [ + ":app_shared_sources", + "../../../build:ios_enable_arc", + "../../../third_party/edo", + ] + libs = [ + "Foundation.framework", + "UIKit.framework", + ] +} + +ios_app_bundle("ios_crash_xcuitests") { + info_plist = "Info.plist" + testonly = true + deps = [ + ":app_host_sources", + ] +} diff --git a/test/ios/host/Info.plist b/test/ios/host/Info.plist new file mode 100644 index 00000000..8944a2e4 --- /dev/null +++ b/test/ios/host/Info.plist @@ -0,0 +1,112 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + ${PRODUCT_NAME} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${IOS_BUNDLE_ID_PREFIX}.gtest.${EXECUTABLE_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + UILaunchImages + + + UILaunchImageMinimumOSVersion + 9.0 + UILaunchImageName + Default + UILaunchImageSize + {320, 480} + + + UILaunchImageMinimumOSVersion + 9.0 + UILaunchImageName + Default + UILaunchImageSize + {320, 568} + + + UILaunchImageMinimumOSVersion + 9.0 + UILaunchImageName + Default + UILaunchImageSize + {375, 667} + + + UILaunchImageMinimumOSVersion + 9.0 + UILaunchImageName + Default + UILaunchImageSize + {414, 736} + + + UILaunchImageMinimumOSVersion + 9.0 + UILaunchImageName + Default + UILaunchImageSize + {375, 812} + + + UILaunchImageMinimumOSVersion + 9.0 + UILaunchImageName + Default + UILaunchImageSize + {414, 896} + + + UILaunchImages~ipad + + + UILaunchImageMinimumOSVersion + 9.0 + UILaunchImageName + Default + UILaunchImageSize + {768, 1024} + + + UILaunchImageMinimumOSVersion + 9.0 + UILaunchImageName + Default + UILaunchImageSize + {1024, 1366} + + + UILaunchImageMinimumOSVersion + 9.0 + UILaunchImageName + Default + UILaunchImageSize + {832, 1114} + + + UISupportedInterfaceOrientation + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/test/ios/host/application_delegate.h b/test/ios/host/application_delegate.h new file mode 100644 index 00000000..3405e7a8 --- /dev/null +++ b/test/ios/host/application_delegate.h @@ -0,0 +1,23 @@ +// Copyright 2020 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef CRASHPAD_TEST_IOS_HOST_APPLICATION_DELEGATE_H_ +#define CRASHPAD_TEST_IOS_HOST_APPLICATION_DELEGATE_H_ + +#import + +@interface ApplicationDelegate : UIResponder +@end + +#endif // CRASHPAD_TEST_IOS_HOST_APPLICATION_DELEGATE_H_ diff --git a/test/ios/host/application_delegate.mm b/test/ios/host/application_delegate.mm new file mode 100644 index 00000000..115d0ae5 --- /dev/null +++ b/test/ios/host/application_delegate.mm @@ -0,0 +1,53 @@ +// Copyright 2020 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#import "test/ios/host/application_delegate.h" + +#import "Service/Sources/EDOHostNamingService.h" +#import "Service/Sources/EDOHostService.h" +#import "test/ios/host/crash_view_controller.h" +#import "test/ios/host/edo_placeholder.h" + +#if !defined(__has_feature) || !__has_feature(objc_arc) +#error "This file requires ARC support." +#endif + +@implementation ApplicationDelegate +@synthesize window = _window; + +- (BOOL)application:(UIApplication*)application + didFinishLaunchingWithOptions:(NSDictionary*)launchOptions { + self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; + [self.window makeKeyAndVisible]; + self.window.backgroundColor = UIColor.greenColor; + + CrashViewController* controller = [[CrashViewController alloc] init]; + self.window.rootViewController = controller; + + // Start up EDO. + [EDOHostService serviceWithPort:12345 + rootObject:[[EDOPlaceholder alloc] init] + queue:dispatch_get_main_queue()]; + [EDOHostNamingService.sharedService start]; + + return YES; +} + +@end + +@implementation EDOPlaceholder +- (NSString*)testEDO { + return @"crashpad"; +} +@end diff --git a/test/ios/host/crash_view_controller.h b/test/ios/host/crash_view_controller.h new file mode 100644 index 00000000..fdbdfc1a --- /dev/null +++ b/test/ios/host/crash_view_controller.h @@ -0,0 +1,23 @@ +// Copyright 2020 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef CRASHPAD_TEST_IOS_HOST_CRASH_VIEW_CONTROLLER_H_ +#define CRASHPAD_TEST_IOS_HOST_CRASH_VIEW_CONTROLLER_H_ + +#import + +@interface CrashViewController : UIViewController +@end + +#endif // CRASHPAD_TEST_IOS_HOST_CRASH_VIEW_CONTROLLER_H_ diff --git a/test/ios/host/crash_view_controller.mm b/test/ios/host/crash_view_controller.mm new file mode 100644 index 00000000..f8c05f76 --- /dev/null +++ b/test/ios/host/crash_view_controller.mm @@ -0,0 +1,33 @@ +// Copyright 2020 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#import "test/ios/host/crash_view_controller.h" + +#if !defined(__has_feature) || !__has_feature(objc_arc) +#error "This file requires ARC support." +#endif + +@implementation CrashViewController + +- (void)loadView { + self.view = [[UIView alloc] init]; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + + self.view.backgroundColor = UIColor.redColor; +} + +@end diff --git a/test/ios/host/edo_placeholder.h b/test/ios/host/edo_placeholder.h new file mode 100644 index 00000000..84bf0c44 --- /dev/null +++ b/test/ios/host/edo_placeholder.h @@ -0,0 +1,24 @@ +// Copyright 2020 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef CRASHPAD_TEST_IOS_HOST_EDO_PLACEHOLDER_H_ +#define CRASHPAD_TEST_IOS_HOST_EDO_PLACEHOLDER_H_ + +#import + +@interface EDOPlaceholder : NSObject +- (NSString*)testEDO; +@end + +#endif // CRASHPAD_TEST_IOS_HOST_EDO_PLACEHOLDER_H_ diff --git a/test/ios/host/main.mm b/test/ios/host/main.mm new file mode 100644 index 00000000..932cd897 --- /dev/null +++ b/test/ios/host/main.mm @@ -0,0 +1,30 @@ +// Copyright 2020 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#import + +#import "test/ios/host/application_delegate.h" + +#if !defined(__has_feature) || !__has_feature(objc_arc) +#error "This file requires ARC support." +#endif + +int main(int argc, char* argv[]) { + NSString* appDelegateClassName; + @autoreleasepool { + // Setup code that might create autoreleased objects goes here. + appDelegateClassName = NSStringFromClass([ApplicationDelegate class]); + } + return UIApplicationMain(argc, argv, nil, appDelegateClassName); +} diff --git a/third_party/edo/BUILD.gn b/third_party/edo/BUILD.gn new file mode 100644 index 00000000..0205489f --- /dev/null +++ b/third_party/edo/BUILD.gn @@ -0,0 +1,142 @@ +# Copyright 2018 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("../../build/crashpad_buildconfig.gni") + +if (crashpad_is_in_chromium) { + group("edo") { + testonly = true + public_deps = [ + "//ios/third_party/edo", + ] + } +} else { + config("config") { + include_dirs = [ "../../third_party/edo/edo" ] + } + + source_set("edo") { + testonly = true + + sources = [ + "edo/Channel/Sources/EDOBlockingQueue.h", + "edo/Channel/Sources/EDOBlockingQueue.m", + "edo/Channel/Sources/EDOChannel.h", + "edo/Channel/Sources/EDOChannelErrors.h", + "edo/Channel/Sources/EDOChannelErrors.m", + "edo/Channel/Sources/EDOChannelForwarder.h", + "edo/Channel/Sources/EDOChannelForwarder.m", + "edo/Channel/Sources/EDOChannelMultiplexer.h", + "edo/Channel/Sources/EDOChannelMultiplexer.m", + "edo/Channel/Sources/EDOChannelPool.h", + "edo/Channel/Sources/EDOChannelPool.m", + "edo/Channel/Sources/EDOChannelUtil.h", + "edo/Channel/Sources/EDOChannelUtil.m", + "edo/Channel/Sources/EDOHostPort.h", + "edo/Channel/Sources/EDOHostPort.m", + "edo/Channel/Sources/EDOListenSocket.h", + "edo/Channel/Sources/EDOListenSocket.m", + "edo/Channel/Sources/EDOSocket.h", + "edo/Channel/Sources/EDOSocket.m", + "edo/Channel/Sources/EDOSocketChannel.h", + "edo/Channel/Sources/EDOSocketChannel.m", + "edo/Channel/Sources/EDOSocketPort.h", + "edo/Channel/Sources/EDOSocketPort.m", + "edo/Device/Sources/EDODeviceChannel.h", + "edo/Device/Sources/EDODeviceChannel.m", + "edo/Device/Sources/EDODeviceConnector.h", + "edo/Device/Sources/EDODeviceConnector.m", + "edo/Device/Sources/EDODeviceDetector.h", + "edo/Device/Sources/EDODeviceDetector.m", + "edo/Device/Sources/EDOUSBMuxUtil.h", + "edo/Device/Sources/EDOUSBMuxUtil.m", + "edo/DeviceForwarder/Sources/EDODeviceForwardersManager.h", + "edo/DeviceForwarder/Sources/EDODeviceForwardersManager.m", + "edo/Measure/Sources/EDONumericMeasure.h", + "edo/Measure/Sources/EDONumericMeasure.m", + "edo/Service/Sources/EDOBlockObject.h", + "edo/Service/Sources/EDOBlockObject.m", + "edo/Service/Sources/EDOClassMessage.h", + "edo/Service/Sources/EDOClassMessage.m", + "edo/Service/Sources/EDOClientService+Private.h", + "edo/Service/Sources/EDOClientService.h", + "edo/Service/Sources/EDOClientService.m", + "edo/Service/Sources/EDOClientServiceStatsCollector.h", + "edo/Service/Sources/EDOClientServiceStatsCollector.m", + "edo/Service/Sources/EDODeallocationTracker.h", + "edo/Service/Sources/EDODeallocationTracker.m", + "edo/Service/Sources/EDOExecutor.h", + "edo/Service/Sources/EDOExecutor.m", + "edo/Service/Sources/EDOExecutorMessage.h", + "edo/Service/Sources/EDOExecutorMessage.m", + "edo/Service/Sources/EDOHostNamingService+Private.h", + "edo/Service/Sources/EDOHostNamingService.h", + "edo/Service/Sources/EDOHostNamingService.m", + "edo/Service/Sources/EDOHostService+Handlers.h", + "edo/Service/Sources/EDOHostService+Handlers.m", + "edo/Service/Sources/EDOHostService+Private.h", + "edo/Service/Sources/EDOHostService.h", + "edo/Service/Sources/EDOHostService.m", + "edo/Service/Sources/EDOInvocationMessage.h", + "edo/Service/Sources/EDOInvocationMessage.m", + "edo/Service/Sources/EDOMessage.h", + "edo/Service/Sources/EDOMessage.m", + "edo/Service/Sources/EDOMethodSignatureMessage.h", + "edo/Service/Sources/EDOMethodSignatureMessage.m", + "edo/Service/Sources/EDOObject+EDOParameter.m", + "edo/Service/Sources/EDOObject+Invocation.m", + "edo/Service/Sources/EDOObject+Private.h", + "edo/Service/Sources/EDOObject.h", + "edo/Service/Sources/EDOObject.m", + "edo/Service/Sources/EDOObjectAliveMessage.h", + "edo/Service/Sources/EDOObjectAliveMessage.m", + "edo/Service/Sources/EDOObjectMessage.h", + "edo/Service/Sources/EDOObjectMessage.m", + "edo/Service/Sources/EDOObjectReleaseMessage.h", + "edo/Service/Sources/EDOObjectReleaseMessage.m", + "edo/Service/Sources/EDOParameter.h", + "edo/Service/Sources/EDOParameter.m", + "edo/Service/Sources/EDOProtocolObject.h", + "edo/Service/Sources/EDOProtocolObject.m", + "edo/Service/Sources/EDORemoteVariable.h", + "edo/Service/Sources/EDORemoteVariable.m", + "edo/Service/Sources/EDOServiceError.h", + "edo/Service/Sources/EDOServiceError.m", + "edo/Service/Sources/EDOServiceException.h", + "edo/Service/Sources/EDOServiceException.m", + "edo/Service/Sources/EDOServicePort.h", + "edo/Service/Sources/EDOServicePort.m", + "edo/Service/Sources/EDOServiceRequest.h", + "edo/Service/Sources/EDOServiceRequest.m", + "edo/Service/Sources/EDOTimingFunctions.h", + "edo/Service/Sources/EDOTimingFunctions.m", + "edo/Service/Sources/EDOValueObject+EDOParameter.m", + "edo/Service/Sources/EDOValueObject.h", + "edo/Service/Sources/EDOValueObject.m", + "edo/Service/Sources/EDOValueType.m", + "edo/Service/Sources/EDOWeakObject.h", + "edo/Service/Sources/EDOWeakObject.m", + "edo/Service/Sources/NSBlock+EDOInvocation.m", + "edo/Service/Sources/NSKeyedArchiver+EDOAdditions.h", + "edo/Service/Sources/NSKeyedArchiver+EDOAdditions.m", + "edo/Service/Sources/NSKeyedUnarchiver+EDOAdditions.h", + "edo/Service/Sources/NSKeyedUnarchiver+EDOAdditions.m", + "edo/Service/Sources/NSObject+EDOParameter.h", + "edo/Service/Sources/NSObject+EDOParameter.m", + "edo/Service/Sources/NSObject+EDOValue.h", + "edo/Service/Sources/NSObject+EDOValue.m", + "edo/Service/Sources/NSObject+EDOValueObject.h", + "edo/Service/Sources/NSObject+EDOValueObject.m", + "edo/Service/Sources/NSObject+EDOWeakObject.h", + "edo/Service/Sources/NSObject+EDOWeakObject.m", + "edo/Service/Sources/NSProxy+EDOParameter.h", + "edo/Service/Sources/NSProxy+EDOParameter.m", + ] + + public_configs = [ ":config" ] + deps = [ + "../../build:ios_enable_arc", + ] + } +} diff --git a/third_party/edo/README.crashpad b/third_party/edo/README.crashpad new file mode 100644 index 00000000..fb831582 --- /dev/null +++ b/third_party/edo/README.crashpad @@ -0,0 +1,10 @@ +Name: eDistantObject +Short Name: EDO +URL: https://github.com/google/eDistantObject +Revision: See DEPS +License: Apache 2.0 +License File: edo/LICENSE +Security Critical: no + +Description: +iOS remote method invocations (distant object) over Inter-process communication layer. diff --git a/third_party/gtest/BUILD.gn b/third_party/gtest/BUILD.gn index ae55259f..58197334 100644 --- a/third_party/gtest/BUILD.gn +++ b/third_party/gtest/BUILD.gn @@ -18,20 +18,28 @@ import("../../build/test.gni") if (crashpad_is_in_chromium) { group("gtest") { testonly = true - public_deps = [ "//testing/gtest" ] + public_deps = [ + "//testing/gtest", + ] } group("gmock") { testonly = true - public_deps = [ "//testing/gmock" ] + public_deps = [ + "//testing/gmock", + ] } } else if (crashpad_is_in_dart || crashpad_is_in_fuchsia) { group("gtest") { testonly = true - public_deps = [ "//third_party/googletest:gtest" ] + public_deps = [ + "//third_party/googletest:gtest", + ] } group("gmock") { testonly = true - public_deps = [ "//third_party/googletest:gmock" ] + public_deps = [ + "//third_party/googletest:gmock", + ] } } else if (crashpad_is_standalone) { config("gtest_private_config") { @@ -64,7 +72,6 @@ if (crashpad_is_in_chromium) { "gtest/googletest/include/gtest/internal/gtest-death-test-internal.h", "gtest/googletest/include/gtest/internal/gtest-filepath.h", "gtest/googletest/include/gtest/internal/gtest-internal.h", - "gtest/googletest/include/gtest/internal/gtest-param-util-generated.h", "gtest/googletest/include/gtest/internal/gtest-param-util.h", "gtest/googletest/include/gtest/internal/gtest-port-arch.h", "gtest/googletest/include/gtest/internal/gtest-port.h", @@ -88,7 +95,9 @@ if (crashpad_is_in_chromium) { ] configs += [ ":gtest_private_config" ] if (crashpad_is_fuchsia) { - deps = [ "../fuchsia" ] + deps = [ + "../fuchsia", + ] } } @@ -97,8 +106,12 @@ if (crashpad_is_in_chromium) { visibility = [ ":*" ] testonly = true - sources = [ "gtest/googletest/src/gtest_main.cc" ] - deps = [ ":gtest" ] + sources = [ + "gtest/googletest/src/gtest_main.cc", + ] + deps = [ + ":gtest", + ] } test("gtest_all_test") { @@ -136,19 +149,31 @@ if (crashpad_is_in_chromium) { } test("gtest_environment_test") { - sources = [ "gtest/googletest/test/gtest_environment_test.cc" ] + sources = [ + "gtest/googletest/test/gtest_environment_test.cc", + ] configs += [ ":gtest_private_config" ] - deps = [ ":gtest" ] + deps = [ + ":gtest", + ] } test("gtest_listener_test") { - sources = [ "gtest/googletest/test/googletest-listener-test.cc" ] - deps = [ ":gtest" ] + sources = [ + "gtest/googletest/test/googletest-listener-test.cc", + ] + deps = [ + ":gtest", + ] } test("gtest_no_test") { - sources = [ "gtest/googletest/test/gtest_no_test_unittest.cc" ] - deps = [ ":gtest" ] + sources = [ + "gtest/googletest/test/gtest_no_test_unittest.cc", + ] + deps = [ + ":gtest", + ] } test("gtest_param_test") { @@ -161,7 +186,9 @@ if (crashpad_is_in_chromium) { "//third_party/mini_chromium/mini_chromium/build:Wexit_time_destructors", ] configs += [ ":gtest_private_config" ] - deps = [ ":gtest" ] + deps = [ + ":gtest", + ] if (crashpad_is_clang) { cflags_cc = [ @@ -173,18 +200,28 @@ if (crashpad_is_in_chromium) { } test("gtest_premature_exit_test") { - sources = [ "gtest/googletest/test/gtest_premature_exit_test.cc" ] - deps = [ ":gtest" ] + sources = [ + "gtest/googletest/test/gtest_premature_exit_test.cc", + ] + deps = [ + ":gtest", + ] } test("gtest_repeat_test") { - sources = [ "gtest/googletest/test/gtest_repeat_test.cc" ] + sources = [ + "gtest/googletest/test/gtest_repeat_test.cc", + ] configs += [ ":gtest_private_config" ] - deps = [ ":gtest" ] + deps = [ + ":gtest", + ] } test("gtest_sole_header_test") { - sources = [ "gtest/googletest/test/gtest_sole_header_test.cc" ] + sources = [ + "gtest/googletest/test/gtest_sole_header_test.cc", + ] deps = [ ":gtest", ":gtest_main", @@ -192,14 +229,22 @@ if (crashpad_is_in_chromium) { } test("gtest_stress_test") { - sources = [ "gtest/googletest/test/gtest_stress_test.cc" ] + sources = [ + "gtest/googletest/test/gtest_stress_test.cc", + ] configs += [ ":gtest_private_config" ] - deps = [ ":gtest" ] + deps = [ + ":gtest", + ] } test("gtest_unittest_api_test") { - sources = [ "gtest/googletest/test/gtest-unittest-api_test.cc" ] - deps = [ ":gtest" ] + sources = [ + "gtest/googletest/test/gtest-unittest-api_test.cc", + ] + deps = [ + ":gtest", + ] } group("gtest_all_tests") { @@ -256,7 +301,6 @@ if (crashpad_is_in_chromium) { "gtest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h", "gtest/googlemock/include/gmock/internal/custom/gmock-matchers.h", "gtest/googlemock/include/gmock/internal/custom/gmock-port.h", - "gtest/googlemock/include/gmock/internal/gmock-generated-internal-utils.h", "gtest/googlemock/include/gmock/internal/gmock-internal-utils.h", "gtest/googlemock/include/gmock/internal/gmock-port.h", "gtest/googlemock/include/gmock/internal/gmock-pp.h", @@ -273,14 +317,18 @@ if (crashpad_is_in_chromium) { "//third_party/mini_chromium/mini_chromium/build:Wexit_time_destructors", ] configs += [ ":gmock_private_config" ] - deps = [ ":gtest" ] + deps = [ + ":gtest", + ] } static_library("gmock_main") { # Tests outside of this file should use ../../test:gmock_main instead. visibility = [ ":*" ] testonly = true - sources = [ "gtest/googlemock/src/gmock_main.cc" ] + sources = [ + "gtest/googlemock/src/gmock_main.cc", + ] deps = [ ":gmock", ":gtest", @@ -339,7 +387,9 @@ if (crashpad_is_in_chromium) { } test("gmock_stress_test") { - sources = [ "gtest/googlemock/test/gmock_stress_test.cc" ] + sources = [ + "gtest/googlemock/test/gmock_stress_test.cc", + ] configs -= [ "//third_party/mini_chromium/mini_chromium/build:Wexit_time_destructors", ]