diff --git a/packages/pigeon/platform_tests/README.md b/packages/pigeon/platform_tests/README.md index 0a8f8dd686fb..5421536a6d03 100644 --- a/packages/pigeon/platform_tests/README.md +++ b/packages/pigeon/platform_tests/README.md @@ -29,3 +29,10 @@ supported plugin languages. It covers: Dart unit tests for null-safe mode. This is a legacy structure from before NNBD was the only mode Pigeon supported; these should be folded back into the main tests. + +## ios\_unit\_tests + +This is a legacy harness that is only necessary for CI, and will be +removed in the future. See +[this PR](https://github.com/flutter/packages/pull/2816) for more +details. diff --git a/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/Podfile b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/Podfile index d207307f86d7..0a6a3794e384 100644 --- a/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/Podfile +++ b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/Podfile @@ -29,6 +29,10 @@ flutter_ios_podfile_setup target 'Runner' do flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) + + target 'RunnerTests' do + inherit! :search_paths + end end post_install do |installer| diff --git a/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/Runner.xcodeproj/project.pbxproj b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/Runner.xcodeproj/project.pbxproj index 3f77f8343018..0ed178fafd98 100644 --- a/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/Runner.xcodeproj/project.pbxproj +++ b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/Runner.xcodeproj/project.pbxproj @@ -8,14 +8,39 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 33A341A5291EBA9100D34E0F /* AsyncHandlersTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 33A34196291EBA9000D34E0F /* AsyncHandlersTest.m */; }; + 33A341A6291EBA9100D34E0F /* HandlerBinaryMessenger.m in Sources */ = {isa = PBXBuildFile; fileRef = 33A34197291EBA9000D34E0F /* HandlerBinaryMessenger.m */; }; + 33A341A7291EBA9100D34E0F /* ListTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 33A34198291EBA9000D34E0F /* ListTest.m */; }; + 33A341A8291EBA9100D34E0F /* AllDatatypesTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 33A34199291EBA9000D34E0F /* AllDatatypesTest.m */; }; + 33A341A9291EBA9100D34E0F /* NonNullFieldsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 33A3419B291EBA9000D34E0F /* NonNullFieldsTest.m */; }; + 33A341AA291EBA9100D34E0F /* NullableReturnsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 33A3419D291EBA9000D34E0F /* NullableReturnsTest.m */; }; + 33A341AB291EBA9100D34E0F /* EnumTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 33A3419E291EBA9000D34E0F /* EnumTest.m */; }; + 33A341AC291EBA9100D34E0F /* MultipleArityTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 33A341A0291EBA9000D34E0F /* MultipleArityTest.m */; }; + 33A341AD291EBA9100D34E0F /* EchoMessenger.m in Sources */ = {isa = PBXBuildFile; fileRef = 33A341A1291EBA9000D34E0F /* EchoMessenger.m */; }; + 33A341AE291EBA9100D34E0F /* NullFieldsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 33A341A2291EBA9100D34E0F /* NullFieldsTest.m */; }; + 33A341AF291EBA9100D34E0F /* MockBinaryMessenger.m in Sources */ = {isa = PBXBuildFile; fileRef = 33A341A3291EBA9100D34E0F /* MockBinaryMessenger.m */; }; + 33A341B0291EBA9100D34E0F /* PrimitiveTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 33A341A4291EBA9100D34E0F /* PrimitiveTest.m */; }; + 33AA1662291EB8B600ECBEEB /* RunnerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 33AA1661291EB8B600ECBEEB /* RunnerTests.m */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 704994D29C27E76CD86C70BB /* libPods-RunnerTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 066DE82583FFABE4243776FB /* libPods-RunnerTests.a */; }; 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; }; 97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + EB2133B34553CD36D4AE374F /* libPods-Runner.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F87F49FAD891F66A75D95E85 /* libPods-Runner.a */; }; /* End PBXBuildFile section */ +/* Begin PBXContainerItemProxy section */ + 33AA1663291EB8B600ECBEEB /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 97C146E61CF9000F007C117D /* Project object */; + proxyType = 1; + remoteGlobalIDString = 97C146ED1CF9000F007C117D; + remoteInfo = Runner; + }; +/* End PBXContainerItemProxy section */ + /* Begin PBXCopyFilesBuildPhase section */ 9705A1C41CF9048500538489 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; @@ -30,9 +55,32 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 02A70E05D812113F13F5A217 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 066DE82583FFABE4243776FB /* libPods-RunnerTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RunnerTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 078F27A33C9DB47686C00E70 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 33A34196291EBA9000D34E0F /* AsyncHandlersTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AsyncHandlersTest.m; sourceTree = ""; }; + 33A34197291EBA9000D34E0F /* HandlerBinaryMessenger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HandlerBinaryMessenger.m; sourceTree = ""; }; + 33A34198291EBA9000D34E0F /* ListTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ListTest.m; sourceTree = ""; }; + 33A34199291EBA9000D34E0F /* AllDatatypesTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AllDatatypesTest.m; sourceTree = ""; }; + 33A3419A291EBA9000D34E0F /* MockBinaryMessenger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MockBinaryMessenger.h; sourceTree = ""; }; + 33A3419B291EBA9000D34E0F /* NonNullFieldsTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NonNullFieldsTest.m; sourceTree = ""; }; + 33A3419C291EBA9000D34E0F /* EchoMessenger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EchoMessenger.h; sourceTree = ""; }; + 33A3419D291EBA9000D34E0F /* NullableReturnsTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NullableReturnsTest.m; sourceTree = ""; }; + 33A3419E291EBA9000D34E0F /* EnumTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EnumTest.m; sourceTree = ""; }; + 33A3419F291EBA9000D34E0F /* HandlerBinaryMessenger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HandlerBinaryMessenger.h; sourceTree = ""; }; + 33A341A0291EBA9000D34E0F /* MultipleArityTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MultipleArityTest.m; sourceTree = ""; }; + 33A341A1291EBA9000D34E0F /* EchoMessenger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EchoMessenger.m; sourceTree = ""; }; + 33A341A2291EBA9100D34E0F /* NullFieldsTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NullFieldsTest.m; sourceTree = ""; }; + 33A341A3291EBA9100D34E0F /* MockBinaryMessenger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MockBinaryMessenger.m; sourceTree = ""; }; + 33A341A4291EBA9100D34E0F /* PrimitiveTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PrimitiveTest.m; sourceTree = ""; }; + 33AA165F291EB8B600ECBEEB /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 33AA1661291EB8B600ECBEEB /* RunnerTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RunnerTests.m; sourceTree = ""; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 561E2904E07F35F0B04F5B46 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 6113B2770ED5A74828978171 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 62B4FD6165884218124CB1E9 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; @@ -44,19 +92,75 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + C47E6C31D80944C08FAD78CC /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + F87F49FAD891F66A75D95E85 /* libPods-Runner.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Runner.a"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ + 33AA165C291EB8B600ECBEEB /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 704994D29C27E76CD86C70BB /* libPods-RunnerTests.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 97C146EB1CF9000F007C117D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + EB2133B34553CD36D4AE374F /* libPods-Runner.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 00DD93B7FA51A2141F86E724 /* Frameworks */ = { + isa = PBXGroup; + children = ( + F87F49FAD891F66A75D95E85 /* libPods-Runner.a */, + 066DE82583FFABE4243776FB /* libPods-RunnerTests.a */, + ); + name = Frameworks; + sourceTree = ""; + }; + 33AA1660291EB8B600ECBEEB /* RunnerTests */ = { + isa = PBXGroup; + children = ( + 33A34199291EBA9000D34E0F /* AllDatatypesTest.m */, + 33A34196291EBA9000D34E0F /* AsyncHandlersTest.m */, + 33A3419C291EBA9000D34E0F /* EchoMessenger.h */, + 33A341A1291EBA9000D34E0F /* EchoMessenger.m */, + 33A3419E291EBA9000D34E0F /* EnumTest.m */, + 33A3419F291EBA9000D34E0F /* HandlerBinaryMessenger.h */, + 33A34197291EBA9000D34E0F /* HandlerBinaryMessenger.m */, + 33A34198291EBA9000D34E0F /* ListTest.m */, + 33A3419A291EBA9000D34E0F /* MockBinaryMessenger.h */, + 33A341A3291EBA9100D34E0F /* MockBinaryMessenger.m */, + 33A341A0291EBA9000D34E0F /* MultipleArityTest.m */, + 33A3419B291EBA9000D34E0F /* NonNullFieldsTest.m */, + 33A3419D291EBA9000D34E0F /* NullableReturnsTest.m */, + 33A341A2291EBA9100D34E0F /* NullFieldsTest.m */, + 33A341A4291EBA9100D34E0F /* PrimitiveTest.m */, + 33AA1661291EB8B600ECBEEB /* RunnerTests.m */, + ); + path = RunnerTests; + sourceTree = ""; + }; + 7ADF8AD6006543AA8B1E20C1 /* Pods */ = { + isa = PBXGroup; + children = ( + 02A70E05D812113F13F5A217 /* Pods-Runner.debug.xcconfig */, + 6113B2770ED5A74828978171 /* Pods-Runner.release.xcconfig */, + 62B4FD6165884218124CB1E9 /* Pods-Runner.profile.xcconfig */, + 078F27A33C9DB47686C00E70 /* Pods-RunnerTests.debug.xcconfig */, + 561E2904E07F35F0B04F5B46 /* Pods-RunnerTests.release.xcconfig */, + C47E6C31D80944C08FAD78CC /* Pods-RunnerTests.profile.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; 9740EEB11CF90186004384FC /* Flutter */ = { isa = PBXGroup; children = ( @@ -73,7 +177,10 @@ children = ( 9740EEB11CF90186004384FC /* Flutter */, 97C146F01CF9000F007C117D /* Runner */, + 33AA1660291EB8B600ECBEEB /* RunnerTests */, 97C146EF1CF9000F007C117D /* Products */, + 7ADF8AD6006543AA8B1E20C1 /* Pods */, + 00DD93B7FA51A2141F86E724 /* Frameworks */, ); sourceTree = ""; }; @@ -81,6 +188,7 @@ isa = PBXGroup; children = ( 97C146EE1CF9000F007C117D /* Runner.app */, + 33AA165F291EB8B600ECBEEB /* RunnerTests.xctest */, ); name = Products; sourceTree = ""; @@ -112,10 +220,30 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ + 33AA165E291EB8B600ECBEEB /* RunnerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 33AA1668291EB8B600ECBEEB /* Build configuration list for PBXNativeTarget "RunnerTests" */; + buildPhases = ( + 81D50B6E064849557BD0D347 /* [CP] Check Pods Manifest.lock */, + 33AA165B291EB8B600ECBEEB /* Sources */, + 33AA165C291EB8B600ECBEEB /* Frameworks */, + 33AA165D291EB8B600ECBEEB /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 33AA1664291EB8B600ECBEEB /* PBXTargetDependency */, + ); + name = RunnerTests; + productName = RunnerTests; + productReference = 33AA165F291EB8B600ECBEEB /* RunnerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; 97C146ED1CF9000F007C117D /* Runner */ = { isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( + F4137F1E25211755D7761631 /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, @@ -141,6 +269,10 @@ LastUpgradeCheck = 1300; ORGANIZATIONNAME = ""; TargetAttributes = { + 33AA165E291EB8B600ECBEEB = { + CreatedOnToolsVersion = 14.0; + TestTargetID = 97C146ED1CF9000F007C117D; + }; 97C146ED1CF9000F007C117D = { CreatedOnToolsVersion = 7.3.1; }; @@ -160,11 +292,19 @@ projectRoot = ""; targets = ( 97C146ED1CF9000F007C117D /* Runner */, + 33AA165E291EB8B600ECBEEB /* RunnerTests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ + 33AA165D291EB8B600ECBEEB /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 97C146EC1CF9000F007C117D /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -194,6 +334,28 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; + 81D50B6E064849557BD0D347 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -209,9 +371,51 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; + F4137F1E25211755D7761631 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ + 33AA165B291EB8B600ECBEEB /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 33A341A8291EBA9100D34E0F /* AllDatatypesTest.m in Sources */, + 33A341AC291EBA9100D34E0F /* MultipleArityTest.m in Sources */, + 33AA1662291EB8B600ECBEEB /* RunnerTests.m in Sources */, + 33A341AE291EBA9100D34E0F /* NullFieldsTest.m in Sources */, + 33A341AB291EBA9100D34E0F /* EnumTest.m in Sources */, + 33A341AD291EBA9100D34E0F /* EchoMessenger.m in Sources */, + 33A341A7291EBA9100D34E0F /* ListTest.m in Sources */, + 33A341A6291EBA9100D34E0F /* HandlerBinaryMessenger.m in Sources */, + 33A341B0291EBA9100D34E0F /* PrimitiveTest.m in Sources */, + 33A341AF291EBA9100D34E0F /* MockBinaryMessenger.m in Sources */, + 33A341AA291EBA9100D34E0F /* NullableReturnsTest.m in Sources */, + 33A341A5291EBA9100D34E0F /* AsyncHandlersTest.m in Sources */, + 33A341A9291EBA9100D34E0F /* NonNullFieldsTest.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 97C146EA1CF9000F007C117D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -224,6 +428,14 @@ }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXTargetDependency section */ + 33AA1664291EB8B600ECBEEB /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 97C146ED1CF9000F007C117D /* Runner */; + targetProxy = 33AA1663291EB8B600ECBEEB /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + /* Begin PBXVariantGroup section */ 97C146FA1CF9000F007C117D /* Main.storyboard */ = { isa = PBXVariantGroup; @@ -312,6 +524,48 @@ }; name = Profile; }; + 33AA1665291EB8B600ECBEEB /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 078F27A33C9DB47686C00E70 /* Pods-RunnerTests.debug.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.plugins.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Debug; + }; + 33AA1666291EB8B600ECBEEB /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 561E2904E07F35F0B04F5B46 /* Pods-RunnerTests.release.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.plugins.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Release; + }; + 33AA1667291EB8B600ECBEEB /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = C47E6C31D80944C08FAD78CC /* Pods-RunnerTests.profile.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.plugins.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Profile; + }; 97C147031CF9000F007C117D /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -456,6 +710,16 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ + 33AA1668291EB8B600ECBEEB /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33AA1665291EB8B600ECBEEB /* Debug */, + 33AA1666291EB8B600ECBEEB /* Release */, + 33AA1667291EB8B600ECBEEB /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index c87d15a33520..e283d743f3bd 100644 --- a/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -37,6 +37,17 @@ + + + + + + diff --git a/packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/AllDatatypesTest.m b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/AllDatatypesTest.m similarity index 97% rename from packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/AllDatatypesTest.m rename to packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/AllDatatypesTest.m index f857920dba9f..8fbd6ef60a23 100644 --- a/packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/AllDatatypesTest.m +++ b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/AllDatatypesTest.m @@ -2,9 +2,15 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import -#import +@import Flutter; +@import XCTest; + +#ifdef LEGACY_HARNESS #import "AllDatatypes.gen.h" +#else +@import alternate_language_test_plugin; +#endif + #import "EchoMessenger.h" /////////////////////////////////////////////////////////////////////////////////////////// diff --git a/packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/AsyncHandlersTest.m b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/AsyncHandlersTest.m similarity index 98% rename from packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/AsyncHandlersTest.m rename to packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/AsyncHandlersTest.m index 8ed0467be615..7831c71833ab 100644 --- a/packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/AsyncHandlersTest.m +++ b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/AsyncHandlersTest.m @@ -2,9 +2,15 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import -#import +@import Flutter; +@import XCTest; + +#ifdef LEGACY_HARNESS #import "AsyncHandlers.gen.h" +#else +@import alternate_language_test_plugin; +#endif + #import "MockBinaryMessenger.h" /////////////////////////////////////////////////////////////////////////////////////////// diff --git a/packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/EchoMessenger.h b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/EchoMessenger.h similarity index 88% rename from packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/EchoMessenger.h rename to packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/EchoMessenger.h index 2054d6584454..e08bf4973756 100644 --- a/packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/EchoMessenger.h +++ b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/EchoMessenger.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import -#import +@import Flutter; +@import Foundation; NS_ASSUME_NONNULL_BEGIN diff --git a/packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/EchoMessenger.m b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/EchoMessenger.m similarity index 100% rename from packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/EchoMessenger.m rename to packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/EchoMessenger.m diff --git a/packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/EnumTest.m b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/EnumTest.m similarity index 90% rename from packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/EnumTest.m rename to packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/EnumTest.m index 96a76073f70f..8ee85c2b4f68 100644 --- a/packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/EnumTest.m +++ b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/EnumTest.m @@ -2,10 +2,16 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import -#import -#import "EchoMessenger.h" +@import Flutter; +@import XCTest; + +#ifdef LEGACY_HARNESS #import "Enum.gen.h" +#else +@import alternate_language_test_plugin; +#endif + +#import "EchoMessenger.h" /////////////////////////////////////////////////////////////////////////////////////////// @interface EnumTest : XCTestCase diff --git a/packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/HandlerBinaryMessenger.h b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/HandlerBinaryMessenger.h similarity index 91% rename from packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/HandlerBinaryMessenger.h rename to packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/HandlerBinaryMessenger.h index a7443f3ac96e..e05042ea27e3 100644 --- a/packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/HandlerBinaryMessenger.h +++ b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/HandlerBinaryMessenger.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import -#import +@import Flutter; +@import Foundation; NS_ASSUME_NONNULL_BEGIN diff --git a/packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/HandlerBinaryMessenger.m b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/HandlerBinaryMessenger.m similarity index 100% rename from packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/HandlerBinaryMessenger.m rename to packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/HandlerBinaryMessenger.m diff --git a/packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/ListTest.m b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/ListTest.m similarity index 92% rename from packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/ListTest.m rename to packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/ListTest.m index 60921d6ec493..557144e55c55 100644 --- a/packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/ListTest.m +++ b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/ListTest.m @@ -2,10 +2,16 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import -#import -#import "EchoMessenger.h" +@import Flutter; +@import XCTest; + +#ifdef LEGACY_HARNESS #import "List.gen.h" +#else +@import alternate_language_test_plugin; +#endif + +#import "EchoMessenger.h" /////////////////////////////////////////////////////////////////////////////////////////// @interface ListTest : XCTestCase diff --git a/packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/MockBinaryMessenger.h b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/MockBinaryMessenger.h similarity index 91% rename from packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/MockBinaryMessenger.h rename to packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/MockBinaryMessenger.h index 1f76103a1ae2..3a074ed0d9af 100644 --- a/packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/MockBinaryMessenger.h +++ b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/MockBinaryMessenger.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import -#import +@import Flutter; +@import Foundation; NS_ASSUME_NONNULL_BEGIN diff --git a/packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/MockBinaryMessenger.m b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/MockBinaryMessenger.m similarity index 100% rename from packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/MockBinaryMessenger.m rename to packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/MockBinaryMessenger.m diff --git a/packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/MultipleArityTest.m b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/MultipleArityTest.m similarity index 92% rename from packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/MultipleArityTest.m rename to packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/MultipleArityTest.m index 32d4d38df8d0..82b1c65799cf 100644 --- a/packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/MultipleArityTest.m +++ b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/MultipleArityTest.m @@ -2,10 +2,16 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import -#import -#import "HandlerBinaryMessenger.h" +@import Flutter; +@import XCTest; + +#ifdef LEGACY_HARNESS #import "MultipleArity.gen.h" +#else +@import alternate_language_test_plugin; +#endif + +#import "HandlerBinaryMessenger.h" /////////////////////////////////////////////////////////////////////////////////////////// @interface MultipleAritytest : XCTestCase diff --git a/packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/NonNullFieldsTest.m b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/NonNullFieldsTest.m similarity index 85% rename from packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/NonNullFieldsTest.m rename to packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/NonNullFieldsTest.m index 0932754aa5d2..f35aa3facbbb 100644 --- a/packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/NonNullFieldsTest.m +++ b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/NonNullFieldsTest.m @@ -3,10 +3,16 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import -#import -#import "EchoMessenger.h" +@import Flutter; +@import XCTest; + +#ifdef LEGACY_HARNESS #import "NonNullFields.gen.h" +#else +@import alternate_language_test_plugin; +#endif + +#import "EchoMessenger.h" /////////////////////////////////////////////////////////////////////////////////////////// @interface NonNullFieldsTest : XCTestCase diff --git a/packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/NullFieldsTest.m b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/NullFieldsTest.m similarity index 98% rename from packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/NullFieldsTest.m rename to packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/NullFieldsTest.m index 149919f6c091..b7bddee83c80 100644 --- a/packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/NullFieldsTest.m +++ b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/NullFieldsTest.m @@ -2,10 +2,16 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import -#import -#import "EchoMessenger.h" +@import Flutter; +@import XCTest; + +#ifdef LEGACY_HARNESS #import "NullFields.gen.h" +#else +@import alternate_language_test_plugin; +#endif + +#import "EchoMessenger.h" /////////////////////////////////////////////////////////////////////////////////////////// @interface NullFieldsSearchRequest () diff --git a/packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/NullableReturnsTest.m b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/NullableReturnsTest.m similarity index 96% rename from packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/NullableReturnsTest.m rename to packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/NullableReturnsTest.m index 8c96fa22ff9d..457d835ec848 100644 --- a/packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/NullableReturnsTest.m +++ b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/NullableReturnsTest.m @@ -2,10 +2,16 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import +@import XCTest; + +#ifdef LEGACY_HARNESS +#import "NullableReturns.gen.h" +#else +@import alternate_language_test_plugin; +#endif + #import "EchoMessenger.h" #import "MockBinaryMessenger.h" -#import "NullableReturns.gen.h" /////////////////////////////////////////////////////////////////////////////////////////// @interface MockNullableArgHostApi : NSObject diff --git a/packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/PrimitiveTest.m b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/PrimitiveTest.m similarity index 97% rename from packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/PrimitiveTest.m rename to packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/PrimitiveTest.m index 28ef0d32695c..57db57d21454 100644 --- a/packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/PrimitiveTest.m +++ b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/PrimitiveTest.m @@ -2,10 +2,16 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import -#import -#import "EchoMessenger.h" +@import Flutter; +@import XCTest; + +#ifdef LEGACY_HARNESS #import "Primitive.gen.h" +#else +@import alternate_language_test_plugin; +#endif + +#import "EchoMessenger.h" /////////////////////////////////////////////////////////////////////////////////////////// @interface PrimitiveTest : XCTestCase diff --git a/packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/RunnerTests.m b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/RunnerTests.m similarity index 92% rename from packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/RunnerTests.m rename to packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/RunnerTests.m index e52367bd1cda..eef1730324bf 100644 --- a/packages/pigeon/platform_tests/ios_unit_tests/ios/RunnerTests/RunnerTests.m +++ b/packages/pigeon/platform_tests/alternate_language_test_plugin/example/ios/RunnerTests/RunnerTests.m @@ -2,8 +2,13 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import +@import XCTest; + +#ifdef LEGACY_HARNESS #import "Message.gen.h" +#else +@import alternate_language_test_plugin; +#endif @interface ACMessageSearchReply () + (ACMessageSearchReply *)fromMap:(NSDictionary *)dict; diff --git a/packages/pigeon/platform_tests/alternate_language_test_plugin/ios/Classes/.gitignore b/packages/pigeon/platform_tests/alternate_language_test_plugin/ios/Classes/.gitignore new file mode 100644 index 000000000000..7ebd556652af --- /dev/null +++ b/packages/pigeon/platform_tests/alternate_language_test_plugin/ios/Classes/.gitignore @@ -0,0 +1,5 @@ +# TODO(stuartmorgan): Remove this, so that review will show the effects of +# changes on generated files. This will need a way to avoid unnecessary churn, +# such as a flag to suppress version stamp generation. +*.gen.h +*.gen.m diff --git a/packages/pigeon/platform_tests/alternate_language_test_plugin/ios/Classes/AlternateLanguageTestPlugin.h b/packages/pigeon/platform_tests/alternate_language_test_plugin/ios/Classes/AlternateLanguageTestPlugin.h index efb29f1ff93c..83c9e49785a9 100644 --- a/packages/pigeon/platform_tests/alternate_language_test_plugin/ios/Classes/AlternateLanguageTestPlugin.h +++ b/packages/pigeon/platform_tests/alternate_language_test_plugin/ios/Classes/AlternateLanguageTestPlugin.h @@ -4,5 +4,8 @@ #import -@interface AlternateLanguageTestPlugin : NSObject +#import "AllDatatypes.gen.h" +#import "AllVoid.gen.h" + +@interface AlternateLanguageTestPlugin : NSObject @end diff --git a/packages/pigeon/platform_tests/alternate_language_test_plugin/ios/Classes/AlternateLanguageTestPlugin.m b/packages/pigeon/platform_tests/alternate_language_test_plugin/ios/Classes/AlternateLanguageTestPlugin.m index 33d79d0e9839..7d495822fb65 100644 --- a/packages/pigeon/platform_tests/alternate_language_test_plugin/ios/Classes/AlternateLanguageTestPlugin.m +++ b/packages/pigeon/platform_tests/alternate_language_test_plugin/ios/Classes/AlternateLanguageTestPlugin.m @@ -4,21 +4,36 @@ #import "AlternateLanguageTestPlugin.h" +#import "AllDatatypes.gen.h" +#import "AllVoid.gen.h" + +/** + * This plugin is currently a no-op since only unit tests have been set up. + * In the future, this will register Pigeon APIs used in integration tests. + */ @implementation AlternateLanguageTestPlugin + (void)registerWithRegistrar:(NSObject *)registrar { - FlutterMethodChannel *channel = - [FlutterMethodChannel methodChannelWithName:@"alternate_language_test_plugin" - binaryMessenger:[registrar messenger]]; - AlternateLanguageTestPlugin *instance = [[AlternateLanguageTestPlugin alloc] init]; - [registrar addMethodCallDelegate:instance channel:channel]; + AlternateLanguageTestPlugin *plugin = [[AlternateLanguageTestPlugin alloc] init]; + AllVoidHostApiSetup(registrar.messenger, plugin); + HostEverythingSetup(registrar.messenger, plugin); +} + +#pragma mark AllVoidHostApi implementation + +- (void)doitWithError:(FlutterError *_Nullable *_Nonnull)error { + // No-op. +} + +#pragma mark HostEverything implementation + +- (nullable Everything *)giveMeEverythingWithError:(FlutterError *_Nullable *_Nonnull)error { + // Currently unused in integration tests, so just return an empty object. + return [[Everything alloc] init]; } -- (void)handleMethodCall:(FlutterMethodCall *)call result:(FlutterResult)result { - if ([@"getPlatformVersion" isEqualToString:call.method]) { - result([@"iOS " stringByAppendingString:[[UIDevice currentDevice] systemVersion]]); - } else { - result(FlutterMethodNotImplemented); - } +- (nullable Everything *)echoEverything:(Everything *)everything + error:(FlutterError *_Nullable *_Nonnull)error { + return everything; } @end diff --git a/packages/pigeon/platform_tests/ios_unit_tests/ios/Runner.xcodeproj/project.pbxproj b/packages/pigeon/platform_tests/ios_unit_tests/ios/Runner.xcodeproj/project.pbxproj index 7c2710e7af66..6916485353e2 100644 --- a/packages/pigeon/platform_tests/ios_unit_tests/ios/Runner.xcodeproj/project.pbxproj +++ b/packages/pigeon/platform_tests/ios_unit_tests/ios/Runner.xcodeproj/project.pbxproj @@ -70,55 +70,55 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 0D02163B27BC7B48009BD76F /* NullableReturns.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NullableReturns.gen.h; sourceTree = ""; }; - 0D02163C27BC7B48009BD76F /* NullableReturns.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NullableReturns.gen.m; sourceTree = ""; }; - 0D21E59827D0502D0051D07D /* BackgroundPlatformChannels.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BackgroundPlatformChannels.gen.m; sourceTree = ""; }; - 0D21E59927D0502D0051D07D /* BackgroundPlatformChannels.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BackgroundPlatformChannels.gen.h; sourceTree = ""; }; - 0D36469C27C6BE3C0069B7BF /* NullableReturnsTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NullableReturnsTest.m; sourceTree = ""; }; - 0D36469E27C6DCEC0069B7BF /* MockBinaryMessenger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MockBinaryMessenger.h; sourceTree = ""; }; - 0D36469F27C6DCEC0069B7BF /* MockBinaryMessenger.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MockBinaryMessenger.m; sourceTree = ""; }; + 0D02163B27BC7B48009BD76F /* NullableReturns.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NullableReturns.gen.h; path = ../../../alternate_language_test_plugin/ios/Classes/NullableReturns.gen.h; sourceTree = ""; }; + 0D02163C27BC7B48009BD76F /* NullableReturns.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = NullableReturns.gen.m; path = ../../../alternate_language_test_plugin/ios/Classes/NullableReturns.gen.m; sourceTree = ""; }; + 0D21E59827D0502D0051D07D /* BackgroundPlatformChannels.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BackgroundPlatformChannels.gen.m; path = ../../../alternate_language_test_plugin/ios/Classes/BackgroundPlatformChannels.gen.m; sourceTree = ""; }; + 0D21E59927D0502D0051D07D /* BackgroundPlatformChannels.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BackgroundPlatformChannels.gen.h; path = ../../../alternate_language_test_plugin/ios/Classes/BackgroundPlatformChannels.gen.h; sourceTree = ""; }; + 0D36469C27C6BE3C0069B7BF /* NullableReturnsTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = NullableReturnsTest.m; path = ../../../alternate_language_test_plugin/example/ios/RunnerTests/NullableReturnsTest.m; sourceTree = ""; }; + 0D36469E27C6DCEC0069B7BF /* MockBinaryMessenger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MockBinaryMessenger.h; path = ../../../alternate_language_test_plugin/example/ios/RunnerTests/MockBinaryMessenger.h; sourceTree = ""; }; + 0D36469F27C6DCEC0069B7BF /* MockBinaryMessenger.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = MockBinaryMessenger.m; path = ../../../alternate_language_test_plugin/example/ios/RunnerTests/MockBinaryMessenger.m; sourceTree = ""; }; 0D50127223FF75B100CD5B95 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 0D50127423FF75B100CD5B95 /* RunnerTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RunnerTests.m; sourceTree = ""; }; + 0D50127423FF75B100CD5B95 /* RunnerTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RunnerTests.m; path = ../../../alternate_language_test_plugin/example/ios/RunnerTests/RunnerTests.m; sourceTree = ""; }; 0D50127623FF75B100CD5B95 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 0D6FD3C326A76D400046D8BD /* Primitive.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Primitive.gen.h; sourceTree = ""; }; - 0D6FD3C426A76D400046D8BD /* Primitive.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Primitive.gen.m; sourceTree = ""; }; - 0D6FD3C626A777C00046D8BD /* PrimitiveTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PrimitiveTest.m; sourceTree = ""; }; - 0D7A9109268D4A050056B5E1 /* ListTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ListTest.m; sourceTree = ""; }; - 0D7A910B268E5D700056B5E1 /* AllVoid.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AllVoid.gen.h; sourceTree = ""; }; - 0D7A910C268E5D700056B5E1 /* AllVoid.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AllVoid.gen.m; sourceTree = ""; }; - 0D8C35EA25D45A7900B76435 /* AsyncHandlersTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AsyncHandlersTest.m; sourceTree = ""; }; - 0DA5DFD426CC39D600D2354B /* MultipleArity.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MultipleArity.gen.h; sourceTree = ""; }; - 0DA5DFD526CC39D600D2354B /* MultipleArity.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MultipleArity.gen.m; sourceTree = ""; }; - 0DA5DFD726CC3A2100D2354B /* MultipleArityTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MultipleArityTest.m; sourceTree = ""; }; - 0DA5DFD926CC3B3700D2354B /* HandlerBinaryMessenger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HandlerBinaryMessenger.h; sourceTree = ""; }; - 0DA5DFDA26CC3B3700D2354B /* HandlerBinaryMessenger.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HandlerBinaryMessenger.m; sourceTree = ""; }; - 0DBD8C3D279B73F700E4FDBA /* NonNullFieldsTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NonNullFieldsTest.m; sourceTree = ""; }; - 0DBD8C3F279B741800E4FDBA /* NonNullFields.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NonNullFields.gen.m; sourceTree = ""; }; - 0DBD8C40279B741800E4FDBA /* NonNullFields.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NonNullFields.gen.h; sourceTree = ""; }; - 0DD2E6A62684031200A7D764 /* VoidArgHost.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VoidArgHost.gen.m; sourceTree = ""; }; - 0DD2E6A72684031200A7D764 /* List.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = List.gen.m; sourceTree = ""; }; - 0DD2E6A82684031200A7D764 /* Host2flutter.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Host2flutter.gen.h; sourceTree = ""; }; - 0DD2E6A92684031200A7D764 /* Voidhost.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Voidhost.gen.h; sourceTree = ""; }; - 0DD2E6AA2684031300A7D764 /* AllDatatypes.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AllDatatypes.gen.h; sourceTree = ""; }; - 0DD2E6AB2684031300A7D764 /* Host2flutter.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Host2flutter.gen.m; sourceTree = ""; }; - 0DD2E6AC2684031300A7D764 /* VoidArgFlutter.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VoidArgFlutter.gen.h; sourceTree = ""; }; - 0DD2E6AD2684031300A7D764 /* List.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = List.gen.h; sourceTree = ""; }; - 0DD2E6AE2684031300A7D764 /* AsyncHandlers.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AsyncHandlers.gen.h; sourceTree = ""; }; - 0DD2E6AF2684031300A7D764 /* AsyncHandlers.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AsyncHandlers.gen.m; sourceTree = ""; }; - 0DD2E6B02684031300A7D764 /* Message.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Message.gen.m; sourceTree = ""; }; - 0DD2E6B12684031300A7D764 /* Enum.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Enum.gen.m; sourceTree = ""; }; - 0DD2E6B22684031300A7D764 /* AllDatatypes.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AllDatatypes.gen.m; sourceTree = ""; }; - 0DD2E6B32684031300A7D764 /* Voidflutter.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Voidflutter.gen.h; sourceTree = ""; }; - 0DD2E6B42684031300A7D764 /* Message.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Message.gen.h; sourceTree = ""; }; - 0DD2E6B52684031300A7D764 /* Voidhost.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Voidhost.gen.m; sourceTree = ""; }; - 0DD2E6B62684031300A7D764 /* Voidflutter.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Voidflutter.gen.m; sourceTree = ""; }; - 0DD2E6B72684031300A7D764 /* Enum.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Enum.gen.h; sourceTree = ""; }; - 0DD2E6B82684031300A7D764 /* VoidArgFlutter.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VoidArgFlutter.gen.m; sourceTree = ""; }; - 0DD2E6B92684031300A7D764 /* VoidArgHost.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VoidArgHost.gen.h; sourceTree = ""; }; - 0DF4E5C4266ECF4A00AEA855 /* AllDatatypesTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AllDatatypesTest.m; sourceTree = ""; }; - 0DF4E5C6266ED80900AEA855 /* EchoMessenger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EchoMessenger.h; sourceTree = ""; }; - 0DF4E5C7266ED80900AEA855 /* EchoMessenger.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EchoMessenger.m; sourceTree = ""; }; - 0DF4E5CA266FDAE300AEA855 /* EnumTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EnumTest.m; sourceTree = ""; }; + 0D6FD3C326A76D400046D8BD /* Primitive.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Primitive.gen.h; path = ../../../alternate_language_test_plugin/ios/Classes/Primitive.gen.h; sourceTree = ""; }; + 0D6FD3C426A76D400046D8BD /* Primitive.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Primitive.gen.m; path = ../../../alternate_language_test_plugin/ios/Classes/Primitive.gen.m; sourceTree = ""; }; + 0D6FD3C626A777C00046D8BD /* PrimitiveTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = PrimitiveTest.m; path = ../../../alternate_language_test_plugin/example/ios/RunnerTests/PrimitiveTest.m; sourceTree = ""; }; + 0D7A9109268D4A050056B5E1 /* ListTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = ListTest.m; path = ../../../alternate_language_test_plugin/example/ios/RunnerTests/ListTest.m; sourceTree = ""; }; + 0D7A910B268E5D700056B5E1 /* AllVoid.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AllVoid.gen.h; path = ../../../alternate_language_test_plugin/ios/Classes/AllVoid.gen.h; sourceTree = ""; }; + 0D7A910C268E5D700056B5E1 /* AllVoid.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AllVoid.gen.m; path = ../../../alternate_language_test_plugin/ios/Classes/AllVoid.gen.m; sourceTree = ""; }; + 0D8C35EA25D45A7900B76435 /* AsyncHandlersTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = AsyncHandlersTest.m; path = ../../../alternate_language_test_plugin/example/ios/RunnerTests/AsyncHandlersTest.m; sourceTree = ""; }; + 0DA5DFD426CC39D600D2354B /* MultipleArity.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MultipleArity.gen.h; path = ../../../alternate_language_test_plugin/ios/Classes/MultipleArity.gen.h; sourceTree = ""; }; + 0DA5DFD526CC39D600D2354B /* MultipleArity.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MultipleArity.gen.m; path = ../../../alternate_language_test_plugin/ios/Classes/MultipleArity.gen.m; sourceTree = ""; }; + 0DA5DFD726CC3A2100D2354B /* MultipleArityTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = MultipleArityTest.m; path = ../../../alternate_language_test_plugin/example/ios/RunnerTests/MultipleArityTest.m; sourceTree = ""; }; + 0DA5DFD926CC3B3700D2354B /* HandlerBinaryMessenger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HandlerBinaryMessenger.h; path = ../../../alternate_language_test_plugin/example/ios/RunnerTests/HandlerBinaryMessenger.h; sourceTree = ""; }; + 0DA5DFDA26CC3B3700D2354B /* HandlerBinaryMessenger.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = HandlerBinaryMessenger.m; path = ../../../alternate_language_test_plugin/example/ios/RunnerTests/HandlerBinaryMessenger.m; sourceTree = ""; }; + 0DBD8C3D279B73F700E4FDBA /* NonNullFieldsTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = NonNullFieldsTest.m; path = ../../../alternate_language_test_plugin/example/ios/RunnerTests/NonNullFieldsTest.m; sourceTree = ""; }; + 0DBD8C3F279B741800E4FDBA /* NonNullFields.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = NonNullFields.gen.m; path = ../../../alternate_language_test_plugin/ios/Classes/NonNullFields.gen.m; sourceTree = ""; }; + 0DBD8C40279B741800E4FDBA /* NonNullFields.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NonNullFields.gen.h; path = ../../../alternate_language_test_plugin/ios/Classes/NonNullFields.gen.h; sourceTree = ""; }; + 0DD2E6A62684031200A7D764 /* VoidArgHost.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = VoidArgHost.gen.m; path = ../../../alternate_language_test_plugin/ios/Classes/VoidArgHost.gen.m; sourceTree = ""; }; + 0DD2E6A72684031200A7D764 /* List.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = List.gen.m; path = ../../../alternate_language_test_plugin/ios/Classes/List.gen.m; sourceTree = ""; }; + 0DD2E6A82684031200A7D764 /* Host2flutter.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Host2flutter.gen.h; path = ../../../alternate_language_test_plugin/ios/Classes/Host2flutter.gen.h; sourceTree = ""; }; + 0DD2E6A92684031200A7D764 /* Voidhost.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Voidhost.gen.h; path = ../../../alternate_language_test_plugin/ios/Classes/Voidhost.gen.h; sourceTree = ""; }; + 0DD2E6AA2684031300A7D764 /* AllDatatypes.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AllDatatypes.gen.h; path = ../../../alternate_language_test_plugin/ios/Classes/AllDatatypes.gen.h; sourceTree = ""; }; + 0DD2E6AB2684031300A7D764 /* Host2flutter.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Host2flutter.gen.m; path = ../../../alternate_language_test_plugin/ios/Classes/Host2flutter.gen.m; sourceTree = ""; }; + 0DD2E6AC2684031300A7D764 /* VoidArgFlutter.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VoidArgFlutter.gen.h; path = ../../../alternate_language_test_plugin/ios/Classes/VoidArgFlutter.gen.h; sourceTree = ""; }; + 0DD2E6AD2684031300A7D764 /* List.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = List.gen.h; path = ../../../alternate_language_test_plugin/ios/Classes/List.gen.h; sourceTree = ""; }; + 0DD2E6AE2684031300A7D764 /* AsyncHandlers.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AsyncHandlers.gen.h; path = ../../../alternate_language_test_plugin/ios/Classes/AsyncHandlers.gen.h; sourceTree = ""; }; + 0DD2E6AF2684031300A7D764 /* AsyncHandlers.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AsyncHandlers.gen.m; path = ../../../alternate_language_test_plugin/ios/Classes/AsyncHandlers.gen.m; sourceTree = ""; }; + 0DD2E6B02684031300A7D764 /* Message.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Message.gen.m; path = ../../../alternate_language_test_plugin/ios/Classes/Message.gen.m; sourceTree = ""; }; + 0DD2E6B12684031300A7D764 /* Enum.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Enum.gen.m; path = ../../../alternate_language_test_plugin/ios/Classes/Enum.gen.m; sourceTree = ""; }; + 0DD2E6B22684031300A7D764 /* AllDatatypes.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AllDatatypes.gen.m; path = ../../../alternate_language_test_plugin/ios/Classes/AllDatatypes.gen.m; sourceTree = ""; }; + 0DD2E6B32684031300A7D764 /* Voidflutter.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Voidflutter.gen.h; path = ../../../alternate_language_test_plugin/ios/Classes/Voidflutter.gen.h; sourceTree = ""; }; + 0DD2E6B42684031300A7D764 /* Message.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Message.gen.h; path = ../../../alternate_language_test_plugin/ios/Classes/Message.gen.h; sourceTree = ""; }; + 0DD2E6B52684031300A7D764 /* Voidhost.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Voidhost.gen.m; path = ../../../alternate_language_test_plugin/ios/Classes/Voidhost.gen.m; sourceTree = ""; }; + 0DD2E6B62684031300A7D764 /* Voidflutter.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Voidflutter.gen.m; path = ../../../alternate_language_test_plugin/ios/Classes/Voidflutter.gen.m; sourceTree = ""; }; + 0DD2E6B72684031300A7D764 /* Enum.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Enum.gen.h; path = ../../../alternate_language_test_plugin/ios/Classes/Enum.gen.h; sourceTree = ""; }; + 0DD2E6B82684031300A7D764 /* VoidArgFlutter.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = VoidArgFlutter.gen.m; path = ../../../alternate_language_test_plugin/ios/Classes/VoidArgFlutter.gen.m; sourceTree = ""; }; + 0DD2E6B92684031300A7D764 /* VoidArgHost.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VoidArgHost.gen.h; path = ../../../alternate_language_test_plugin/ios/Classes/VoidArgHost.gen.h; sourceTree = ""; }; + 0DF4E5C4266ECF4A00AEA855 /* AllDatatypesTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = AllDatatypesTest.m; path = ../../../alternate_language_test_plugin/example/ios/RunnerTests/AllDatatypesTest.m; sourceTree = ""; }; + 0DF4E5C6266ED80900AEA855 /* EchoMessenger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EchoMessenger.h; path = ../../../alternate_language_test_plugin/example/ios/RunnerTests/EchoMessenger.h; sourceTree = ""; }; + 0DF4E5C7266ED80900AEA855 /* EchoMessenger.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = EchoMessenger.m; path = ../../../alternate_language_test_plugin/example/ios/RunnerTests/EchoMessenger.m; sourceTree = ""; }; + 0DF4E5CA266FDAE300AEA855 /* EnumTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = EnumTest.m; path = ../../../alternate_language_test_plugin/example/ios/RunnerTests/EnumTest.m; sourceTree = ""; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; @@ -133,9 +133,9 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - CEA7789127DE9EEB00FE0824 /* NullFields.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NullFields.gen.m; sourceTree = ""; }; - CEA7789227DE9EEB00FE0824 /* NullFields.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NullFields.gen.h; sourceTree = ""; }; - CEA7789427DE9F1800FE0824 /* NullFieldsTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NullFieldsTest.m; sourceTree = ""; }; + CEA7789127DE9EEB00FE0824 /* NullFields.gen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = NullFields.gen.m; path = ../../../alternate_language_test_plugin/ios/Classes/NullFields.gen.m; sourceTree = ""; }; + CEA7789227DE9EEB00FE0824 /* NullFields.gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NullFields.gen.h; path = ../../../alternate_language_test_plugin/ios/Classes/NullFields.gen.h; sourceTree = ""; }; + CEA7789427DE9F1800FE0824 /* NullFieldsTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = NullFieldsTest.m; path = ../../../alternate_language_test_plugin/example/ios/RunnerTests/NullFieldsTest.m; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -488,9 +488,17 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + "LEGACY_HARNESS=1", + ); INFOPLIST_FILE = RunnerTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 13.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.google.aaclarke.RunnerTests; @@ -511,9 +519,17 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + "LEGACY_HARNESS=1", + ); INFOPLIST_FILE = RunnerTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 13.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.google.aaclarke.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -533,9 +549,17 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + "LEGACY_HARNESS=1", + ); INFOPLIST_FILE = RunnerTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 13.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.google.aaclarke.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/packages/pigeon/run_tests.sh b/packages/pigeon/run_tests.sh index 6b7bd9ca916d..4adcb904539e 100755 --- a/packages/pigeon/run_tests.sh +++ b/packages/pigeon/run_tests.sh @@ -204,7 +204,13 @@ run_dart_compilation_tests() { rm -rf $temp_dir } -run_ios_unittests() { +run_ios_objc_unittests() { + dart run tool/run_tests.dart -t ios_objc_unittests --skip-generation +} + +# TODO(stuartmorgan): Remove once run_ios_objc_unittests works in CI; see +# related TODOs below. +run_ios_legacy_unittests() { pushd $PWD cd platform_tests/ios_unit_tests flutter build ios --simulator @@ -244,6 +250,10 @@ run_ios_e2e_legacy_tests() { popd } +run_ios_objc_e2e_tests() { + dart run tool/run_tests.dart -t ios_objc_integration_tests --skip-generation +} + run_android_unittests() { pushd $PWD cd platform_tests/alternate_language_test_plugin/example @@ -267,7 +277,14 @@ should_run_dart_compilation_tests=true should_run_dart_unittests=true should_run_flutter_unittests=true should_run_ios_e2e_legacy_tests=true -should_run_ios_unittests=true +# TODO(stuartmorgan): Enable by default once CI issues are solved; see +# https://github.com/flutter/packages/pull/2816. +should_run_ios_objc_e2e_tests=false +# TODO(stuartmorgan): Enable the new version by default and remove the legacy +# version once CI issues are solved; see +# https://github.com/flutter/packages/pull/2816. +should_run_ios_objc_unittests=false +should_run_ios_legacy_unittests=true should_run_ios_swift_unittests=true # Currently these are testing exactly the same thing as macos_swift_e2e_tests, # so we don't need to run both by default. This should become `true` if any @@ -288,8 +305,10 @@ while getopts "t:l?h" opt; do should_run_dart_compilation_tests=false should_run_dart_unittests=false should_run_flutter_unittests=false + should_run_ios_objc_unittests=false + should_run_ios_objc_e2e_tests=false should_run_ios_e2e_legacy_tests=false - should_run_ios_unittests=false + should_run_ios_legacy_unittests=false should_run_ios_swift_unittests=false should_run_ios_swift_e2e_tests=false should_run_mock_handler_tests=false @@ -306,8 +325,9 @@ while getopts "t:l?h" opt; do dart_unittests) should_run_dart_unittests=true ;; flutter_unittests) should_run_flutter_unittests=true ;; ios_e2e_legacy_tests) should_run_ios_e2e_legacy_tests=true ;; - # TODO(stuartmorgan): Rename to include "objc". - ios_unittests) should_run_ios_unittests=true ;; + ios_objc_e2e_tests) should_run_ios_objc_e2e_tests=true ;; + ios_objc_unittests) should_run_ios_objc_unittests=true ;; + ios_unittests) should_run_ios_legacy_unittests=true ;; ios_swift_unittests) should_run_ios_swift_unittests=true ;; ios_swift_e2e_tests) should_run_ios_swift_e2e_tests=true ;; mock_handler_tests) should_run_mock_handler_tests=true ;; @@ -331,7 +351,9 @@ while getopts "t:l?h" opt; do dart_unittests - Unit tests on and analysis on Pigeon's implementation. flutter_unittests - Unit tests on generated Dart code. ios_e2e_legacy_tests - Legacy end-to-end Obj-C tests; build-only. - ios_unittests - Unit tests on generated Objc code. + ios_objc_unittests - Unit tests on generated Obj-C code. + ios_unittests - Legacy unit tests on generated Obj-C code. Use ios_objc_unittests instead. + ios_objc_e2e_tests - Integration tests on generated Obj-C code. ios_swift_unittests - Unit tests on generated Swift code. ios_swift_e2e_tests - Integration tests on generated Swift code on iOS. mock_handler_tests - Unit tests on generated Dart mock handler code. @@ -378,8 +400,11 @@ fi if [ "$should_run_dart_compilation_tests" = true ]; then run_dart_compilation_tests fi -if [ "$should_run_ios_unittests" = true ]; then - run_ios_unittests +if [ "$should_run_ios_objc_unittests" = true ]; then + run_ios_objc_unittests +fi +if [ "$should_run_ios_legacy_unittests" = true ]; then + run_ios_legacy_unittests fi if [ "$should_run_ios_swift_unittests" = true ]; then run_ios_swift_unittests @@ -390,6 +415,9 @@ fi if [ "$should_run_ios_e2e_legacy_tests" = true ]; then run_ios_e2e_legacy_tests fi +if [ "$should_run_ios_objc_e2e_tests" = true ]; then + run_ios_objc_e2e_tests +fi if [ "$should_run_android_unittests" = true ]; then run_android_unittests fi diff --git a/packages/pigeon/tool/run_tests.dart b/packages/pigeon/tool/run_tests.dart index 67b4d64adf9d..3af6f082d7de 100644 --- a/packages/pigeon/tool/run_tests.dart +++ b/packages/pigeon/tool/run_tests.dart @@ -67,9 +67,12 @@ const Map _tests = { 'flutter_unittests': _TestInfo( function: _runFlutterUnitTests, description: 'Unit tests on generated Dart code.'), - 'ios_unittests': _TestInfo( - function: _runIOSUnitTests, + 'ios_objc_unittests': _TestInfo( + function: _runIOSObjCUnitTests, description: 'Unit tests on generated Objective-C code.'), + 'ios_objc_integration_tests': _TestInfo( + function: _runIOSObjCIntegrationTests, + description: 'Integration tests on generated Objective-C code.'), 'ios_swift_unittests': _TestInfo( function: _runIOSSwiftUnitTests, description: 'Unit tests on generated Swift code.'), @@ -223,8 +226,25 @@ Future _runFlutterUnitTests() async { return 0; } -Future _runIOSUnitTests() async { - throw UnimplementedError('See run_tests.sh.'); +Future _runIOSObjCUnitTests() async { + return _runIOSUnitTests(_alternateLanguageTestPluginRelativePath); +} + +Future _runIOSObjCIntegrationTests() async { + final String? device = await getDeviceForPlatform('ios'); + if (device == null) { + print('No iOS device available. Attach an iOS device or start ' + 'a simulator to run integration tests'); + return _noDeviceAvailableExitCode; + } + + const String examplePath = + './$_alternateLanguageTestPluginRelativePath/example'; + return runFlutterCommand( + examplePath, + 'test', + [_integrationTestFileRelativePath, '-d', device], + ); } Future _runMacOSSwiftUnitTests() async { @@ -250,11 +270,15 @@ Future _runMacOSSwiftIntegrationTests() async { } Future _runIOSSwiftUnitTests() async { - const String examplePath = './$_testPluginRelativePath/example'; + return _runIOSUnitTests(_testPluginRelativePath); +} + +Future _runIOSUnitTests(String testPluginPath) async { + final String examplePath = './$testPluginPath/example'; final int compileCode = await runFlutterBuild( examplePath, 'ios', - flags: ['--simulator'], + flags: ['--simulator', '--no-codesign'], ); if (compileCode != 0) { return compileCode; diff --git a/packages/pigeon/tool/shared/generation.dart b/packages/pigeon/tool/shared/generation.dart index 6ba8550e74c1..0ed5c8cc078f 100644 --- a/packages/pigeon/tool/shared/generation.dart +++ b/packages/pigeon/tool/shared/generation.dart @@ -79,10 +79,6 @@ Future generatePigeons({required String baseDir}) async { p.join(baseDir, 'platform_tests', 'alternate_language_test_plugin'); final String sharedDartOutputBase = p.join(baseDir, 'platform_tests', 'shared_test_plugin_code'); - // TODO(stuartmorgan): Eliminate this and use alternateOutputBase. - // See https://github.com/flutter/packages/pull/2816. - final String iosObjCBase = - p.join(baseDir, 'platform_tests', 'ios_unit_tests'); for (final String input in inputs) { final String pascalCaseName = _snakeToPascalCase(input); @@ -142,10 +138,10 @@ Future generatePigeons({required String baseDir}) async { // iOS objcHeaderOut: skipLanguages.contains(GeneratorLanguages.objc) ? null - : '$iosObjCBase/ios/Runner/$pascalCaseName.gen.h', + : '$alternateOutputBase/ios/Classes/$pascalCaseName.gen.h', objcSourceOut: skipLanguages.contains(GeneratorLanguages.objc) ? null - : '$iosObjCBase/ios/Runner/$pascalCaseName.gen.m', + : '$alternateOutputBase/ios/Classes/$pascalCaseName.gen.m', ); if (generateCode != 0) { return generateCode;