From eccb81292f74440642b35e6b6f76d75523774143 Mon Sep 17 00:00:00 2001 From: "drsanta@google.com" Date: Tue, 10 Jan 2023 16:08:01 -0500 Subject: [PATCH 1/4] automated testapps check for UNITY_TVOS --- .../Assets/Firebase/Sample/Auth/UIHandler.cs | 4 ++-- .../Sample/Crashlytics/UIHandlerAutomated.cs | 2 +- .../Sample/Database/UIHandlerAutomated.cs | 20 +++++++++---------- .../Sample/DynamicLinks/UIHandlerAutomated.cs | 2 +- .../Sample/Messaging/UIHandlerAutomated.cs | 20 +++++++++---------- .../Sample/Storage/UIHandlerAutomated.cs | 14 ++++++------- 6 files changed, 31 insertions(+), 31 deletions(-) diff --git a/auth/testapp/Assets/Firebase/Sample/Auth/UIHandler.cs b/auth/testapp/Assets/Firebase/Sample/Auth/UIHandler.cs index 9246f7a0..e07c2c48 100644 --- a/auth/testapp/Assets/Firebase/Sample/Auth/UIHandler.cs +++ b/auth/testapp/Assets/Firebase/Sample/Auth/UIHandler.cs @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -#if UNITY_IOS +#if (UNITY_IOS || UNITY_TVOS) using UnityEngine.SocialPlatforms.GameCenter; #endif @@ -350,7 +350,7 @@ public Task SigninAnonymouslyAsync() { } public void AuthenticateToGameCenter() { - #if UNITY_IOS + #if (UNITY_IOS || UNITY_TVOS) Social.localUser.Authenticate(success => { Debug.Log("Game Center Initialization Complete - Result: " + success); }); diff --git a/crashlytics/testapp/Assets/Firebase/Sample/Crashlytics/UIHandlerAutomated.cs b/crashlytics/testapp/Assets/Firebase/Sample/Crashlytics/UIHandlerAutomated.cs index 84045b56..5a8ee064 100644 --- a/crashlytics/testapp/Assets/Firebase/Sample/Crashlytics/UIHandlerAutomated.cs +++ b/crashlytics/testapp/Assets/Firebase/Sample/Crashlytics/UIHandlerAutomated.cs @@ -90,7 +90,7 @@ private bool IsCrashlyticsInitialized() { bool result = (bool)isInitializedMethodInfo.Invoke(impl, new object[] {}); DebugLog("Crashlytics.impl.isSDKInitialized(): " + result); -#if UNITY_ANDROID || UNITY_IOS +#if (UNITY_IOS || UNITY_TVOS || UNITY_ANDROID) return result; #else // The desktop stub implementation returns false, so expect that. diff --git a/database/testapp/Assets/Firebase/Sample/Database/UIHandlerAutomated.cs b/database/testapp/Assets/Firebase/Sample/Database/UIHandlerAutomated.cs index 61c343cd..db78e9f0 100644 --- a/database/testapp/Assets/Firebase/Sample/Database/UIHandlerAutomated.cs +++ b/database/testapp/Assets/Firebase/Sample/Database/UIHandlerAutomated.cs @@ -24,10 +24,10 @@ public class UIHandlerAutomated : UIHandler { // Database URL private string databaseUrl = "REPLACE_WITH_YOUR_DATABASE_URL"; -#if !(UNITY_IOS || UNITY_ANDROID) || UNITY_EDITOR +#if !(UNITY_IOS || UNITY_TVOS || UNITY_ANDROID) || UNITY_EDITOR // Manually create the default app on desktop so that it's possible to specify the database URL. private FirebaseApp defaultApp; -#endif // !(UNITY_IOS || UNITY_ANDROID) || UNITY_EDITOR +#endif // !(UNITY_IOS || UNITY_TVOS || UNITY_ANDROID) || UNITY_EDITOR static Thread mainThread = null; @@ -69,13 +69,13 @@ protected override void Start() { TestQueryEqualToString, TestQueryEqualToDouble, TestQueryEqualToBool, -#if !UNITY_IOS +#if !(UNITY_IOS || UNITY_TVOS) // TODO(b/129906113) These tests don't work on iOS, and are removed // until they are fixed. TestQueryEqualToStringAndKey, TestQueryEqualToDoubleAndKey, TestQueryEqualToBoolAndKey, -#endif // !UNITY_IOS +#endif // !(UNITY_IOS || UNITY_TVOS) TestQueryLimitToFirst, TestQueryLimitToLast, TestQueryOrderByChild, @@ -116,21 +116,21 @@ protected override void Start() { // Create the default FirebaseApp on non-mobile platforms. private void CreateDefaultApp() { -#if !(UNITY_IOS || UNITY_ANDROID) || UNITY_EDITOR +#if !(UNITY_IOS || UNITY_TVOS || UNITY_ANDROID) || UNITY_EDITOR defaultApp = FirebaseApp.Create(new AppOptions { DatabaseUrl = new Uri(databaseUrl) }); if (!loggedOnceCreateDefaultApp) { DebugLog(String.Format("Default app created with database url {0}", defaultApp.Options.DatabaseUrl)); loggedOnceCreateDefaultApp = true; } -#endif // !(UNITY_IOS || UNITY_ANDROID) || UNITY_EDITOR +#endif // !(UNITY_IOS || UNITY_TVOS || UNITY_ANDROID) || UNITY_EDITOR } // Remove all reference to the default FirebaseApp. private void DestroyDefaultApp() { -#if !(UNITY_IOS || UNITY_ANDROID) || UNITY_EDITOR +#if !(UNITY_IOS || UNITY_TVOS || UNITY_ANDROID) || UNITY_EDITOR defaultApp = null; -#endif // !(UNITY_IOS || UNITY_ANDROID) || UNITY_EDITOR +#endif // !(UNITY_IOS || UNITY_TVOS || UNITY_ANDROID) || UNITY_EDITOR } protected override void InitializeFirebase() { @@ -398,13 +398,13 @@ public AsyncChecks(DatabaseReference reference) { reference.ChildChanged += childChangedListener; reference.ChildMoved += childMovedListener; reference.ChildRemoved += childRemovedListener; -#if (UNITY_IOS || UNITY_ANDROID) +#if (UNITY_IOS || UNITY_TVOS || UNITY_ANDROID) // The desktop implementation will currently fail if exceptions are thrown in child reference.ChildAdded += childAddedListenerThrowException; reference.ChildChanged += childChangedListenerThrowException; reference.ChildMoved += childMovedListenerThrowException; reference.ChildRemoved += childRemovedListenerThrowException; -#endif // #if (UNITY_IOS || UNITY_ANDROID) +#endif // #if (UNITY_IOS || UNITY_TVOS || UNITY_ANDROID) } public bool AllGood { get; private set; } diff --git a/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/UIHandlerAutomated.cs b/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/UIHandlerAutomated.cs index 7a1286e8..72523f35 100644 --- a/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/UIHandlerAutomated.cs +++ b/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/UIHandlerAutomated.cs @@ -33,7 +33,7 @@ public override void Start() { Func[] tests = { TestCreateLongLinkAsync, // TODO(b/264533368) Enable theses tests when the issue has been fixed. -#if (false) // (UNITY_ANDROID || UNITY_IOS) +#if (false) // (UNITY_IOS || UNITY_TVOS || UNITY_ANDROID) // Link shortening does not work on desktop builds, so only test that for mobile. TestCreateShortLinkAsync, TestCreateUnguessableShortLinkAsync, diff --git a/messaging/testapp/Assets/Firebase/Sample/Messaging/UIHandlerAutomated.cs b/messaging/testapp/Assets/Firebase/Sample/Messaging/UIHandlerAutomated.cs index 5edc8aec..d57231fd 100644 --- a/messaging/testapp/Assets/Firebase/Sample/Messaging/UIHandlerAutomated.cs +++ b/messaging/testapp/Assets/Firebase/Sample/Messaging/UIHandlerAutomated.cs @@ -38,18 +38,18 @@ protected override void Start() { Func[] tests = { // Disable these tests on desktop, as desktop never receives a token, and so WaitForToken // (called by all of these tests) stalls forever. -#if (UNITY_IOS || UNITY_ANDROID) +#if (UNITY_IOS || UNITY_TVOS || UNITY_ANDROID) MakeTest(TestWaitForToken), -#if !UNITY_IOS +#if !(UNITY_IOS || UNITY_TVOS) // TODO(b/130674454) This test times out on iOS, disabling until fixed. MakeTest(TestSendPlaintextMessageToDevice), -#endif // !UNITY_IOS +#endif // !(UNITY_IOS || UNITY_TVOS) MakeTest(TestSendJsonMessageToDevice), MakeTest(TestSendJsonMessageToSubscribedTopic), -#else // (UNITY_IOS || UNITY_ANDROID) +#else // (UNITY_IOS || UNITY_TVOS || UNITY_ANDROID) // Run a vacuous test. Should be removed if/when desktop platforms get a real test. MakeTest(TestDummy), -#endif // (UNITY_IOS || UNITY_ANDROID) +#endif // (UNITY_IOS || UNITY_TVOS || UNITY_ANDROID) // TODO(varconst): a more involved test to check that resubscribing works MakeTest(TestGetTokenAsync), MakeTest(TestDeleteTokenAsync), @@ -58,18 +58,18 @@ protected override void Start() { string[] customTests = { // Disable these tests on desktop, as desktop never receives a token, and so WaitForToken // (called by all of these tests) stalls forever. -#if (UNITY_IOS || UNITY_ANDROID) +#if (UNITY_IOS || UNITY_TVOS || UNITY_ANDROID) "TestWaitForToken", -#if !UNITY_IOS +#if !(UNITY_IOS || UNITY_TVOS) // TODO(b/130674454) This test times out on iOS, disabling until fixed. "TestSendPlaintextMessageToDevice", -#endif // !UNITY_IOS +#endif // !(UNITY_IOS || UNITY_TVOS) "TestSendJsonMessageToDevice", "TestSendJsonMessageToSubscribedTopic", -#else // (UNITY_IOS || UNITY_ANDROID) +#else // #if (UNITY_IOS || UNITY_TVOS || UNITY_ANDROID) // Run a vacuous test. Should be removed if/when desktop platforms get a real test. "TestDummy", -#endif // (UNITY_IOS || UNITY_ANDROID) +#endif // (UNITY_IOS || UNITY_TVOS || UNITY_ANDROID) // TODO(varconst): a more involved test to check that resubscribing works "TestGetTokenAsync", "TestDeleteTokenAsync", diff --git a/storage/testapp/Assets/Firebase/Sample/Storage/UIHandlerAutomated.cs b/storage/testapp/Assets/Firebase/Sample/Storage/UIHandlerAutomated.cs index 0404bc73..fa4aa320 100644 --- a/storage/testapp/Assets/Firebase/Sample/Storage/UIHandlerAutomated.cs +++ b/storage/testapp/Assets/Firebase/Sample/Storage/UIHandlerAutomated.cs @@ -17,12 +17,12 @@ public class UIHandlerAutomated : UIHandler { private Firebase.Sample.AutomatedTestRunner testRunner; -#if !(UNITY_IOS || UNITY_ANDROID) || UNITY_EDITOR +#if !(UNITY_IOS || UNITY_TVOS || UNITY_ANDROID) || UNITY_EDITOR // Storage bucket (without the scheme) extracted from MyStorageBucket. private string storageBucket; // Manually create the default app on desktop so that it's possible to specify the storage bucket. private FirebaseApp defaultApp; -#endif // !(UNITY_IOS || UNITY_ANDROID) || UNITY_EDITOR +#endif // !(UNITY_IOS || UNITY_TVOS || UNITY_ANDROID) || UNITY_EDITOR // Metadata to upload to the test file. private string METADATA_STRING_NON_CUSTOM_ONLY = @@ -173,22 +173,22 @@ protected override void Start() { // Create the default FirebaseApp on non-mobile platforms. private void CreateDefaultApp() { -#if !(UNITY_IOS || UNITY_ANDROID) || UNITY_EDITOR +#if !(UNITY_IOS || UNITY_TVOS || UNITY_ANDROID) || UNITY_EDITOR defaultApp = FirebaseApp.Create(new AppOptions { StorageBucket = storageBucket }); Debug.Log(String.Format("Default app created with storage bucket {0}", defaultApp.Options.StorageBucket)); -#endif // !(UNITY_IOS || UNITY_ANDROID) || UNITY_EDITOR +#endif // !(UNITY_IOS || UNITY_TVOS || UNITY_ANDROID) || UNITY_EDITOR } // Remove all reference to the default FirebaseApp. private void DestroyDefaultApp() { -#if !(UNITY_IOS || UNITY_ANDROID) || UNITY_EDITOR +#if !(UNITY_IOS || UNITY_TVOS || UNITY_ANDROID) || UNITY_EDITOR defaultApp = null; -#endif // !(UNITY_IOS || UNITY_ANDROID) || UNITY_EDITOR +#endif // !(UNITY_IOS || UNITY_TVOS || UNITY_ANDROID) || UNITY_EDITOR } protected override void InitializeFirebase() { -#if !(UNITY_IOS || UNITY_ANDROID) || UNITY_EDITOR +#if !(UNITY_IOS || UNITY_TVOS || UNITY_ANDROID) || UNITY_EDITOR storageBucket = (new Uri(MyStorageBucket)).Host; #endif CreateDefaultApp(); From 16d126ef26f973e2a884761ee2c7642319926d75 Mon Sep 17 00:00:00 2001 From: "drsanta@google.com" Date: Tue, 10 Jan 2023 16:11:03 -0500 Subject: [PATCH 2/4] add TVOS_UNITY detection to XcodeCapabilities.cs --- scripts/gha/integration_testing/XcodeCapabilities.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/gha/integration_testing/XcodeCapabilities.cs b/scripts/gha/integration_testing/XcodeCapabilities.cs index b8dcebfd..cc3d5e8f 100644 --- a/scripts/gha/integration_testing/XcodeCapabilities.cs +++ b/scripts/gha/integration_testing/XcodeCapabilities.cs @@ -48,7 +48,7 @@ * for reference. */ -#if UNITY_IOS +#if (UNITY_IOS || UNITY_TVOS) using System.Collections; using System.Collections.Generic; using System.Linq; From 917d6e8e4b4d2090c83503718280fd5d3c29d318 Mon Sep 17 00:00:00 2001 From: "drsanta@google.com" Date: Thu, 12 Jan 2023 13:14:24 -0500 Subject: [PATCH 3/4] disable storage tests --- .../Assets/Firebase/Sample/Storage/UIHandlerAutomated.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/storage/testapp/Assets/Firebase/Sample/Storage/UIHandlerAutomated.cs b/storage/testapp/Assets/Firebase/Sample/Storage/UIHandlerAutomated.cs index fa4aa320..e17b9fec 100644 --- a/storage/testapp/Assets/Firebase/Sample/Storage/UIHandlerAutomated.cs +++ b/storage/testapp/Assets/Firebase/Sample/Storage/UIHandlerAutomated.cs @@ -117,12 +117,18 @@ protected override void Start() { TestUploadBytesSmallFileThenUpdateMetadata, TestUploadStreamLargeFile, TestUploadStreamSmallFile, +#if !(UNITY_TVOS) + // Tests which require file access don't work on tvOS. TestUploadFromFileLargeFile, TestUploadFromFileSmallFile, +#endif TestUploadFromNonExistantFile, TestUploadBytesWithCancelation, TestUploadStreamWithCancelation, +#if !(UNITY_TVOS) + // Tests which require file access don't work on tvOS. TestUploadFromFileWithCancelation, +#endif TestUploadSmallFileGetDownloadUrl, TestGetDownloadUrlNonExistantFile, TestUploadSmallFileGetMetadata, @@ -137,9 +143,12 @@ protected override void Start() { TestUploadSmallFileAndDownloadUsingStreamCallback, TestUploadLargeFileAndDownloadUsingStreamCallback, TestUploadLargeFileAndDownloadUsingStreamCallbackWithCancelation, +#if !(UNITY_TVOS) + // Tests which require file access don't work on tvOS. TestUploadSmallFileAndDownloadToFile, TestUploadLargeFileAndDownloadToFile, TestUploadLargeFileAndDownloadToFileWithCancelation, +#endif }; testRunner = AutomatedTestRunner.CreateTestRunner( From 52d14b3bf455e43297e7403a20b889503783c16f Mon Sep 17 00:00:00 2001 From: "drsanta@google.com" Date: Thu, 12 Jan 2023 13:38:32 -0500 Subject: [PATCH 4/4] revert changes to dynamic links --- .../Assets/Firebase/Sample/DynamicLinks/UIHandlerAutomated.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/UIHandlerAutomated.cs b/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/UIHandlerAutomated.cs index 72523f35..7a1286e8 100644 --- a/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/UIHandlerAutomated.cs +++ b/dynamic_links/testapp/Assets/Firebase/Sample/DynamicLinks/UIHandlerAutomated.cs @@ -33,7 +33,7 @@ public override void Start() { Func[] tests = { TestCreateLongLinkAsync, // TODO(b/264533368) Enable theses tests when the issue has been fixed. -#if (false) // (UNITY_IOS || UNITY_TVOS || UNITY_ANDROID) +#if (false) // (UNITY_ANDROID || UNITY_IOS) // Link shortening does not work on desktop builds, so only test that for mobile. TestCreateShortLinkAsync, TestCreateUnguessableShortLinkAsync,