Remove unused performance tests

This commit is contained in:
Max Radermacher 2024-05-29 12:20:31 -05:00 committed by GitHub
parent 13f85596d7
commit 1daef3b202
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
18 changed files with 2 additions and 1255 deletions

View File

@ -72,10 +72,6 @@ target 'Signal' do
target 'SignalTests' do
inherit! :search_paths
end
target 'SignalPerformanceTests' do
inherit! :search_paths
end
end
# These extensions inherit all of the common pods

View File

@ -181,6 +181,6 @@ SPEC CHECKSUMS:
Wire: f5fe13fcad476bfd248f23a45a2004167c0ebae2
YYImage: f1ddd15ac032a58b78bbed1e012b50302d318331
PODFILE CHECKSUM: f71d937a5565d904f418d4b5db6b50a258bc3324
PODFILE CHECKSUM: 95c4f99525deee15843974ec3317b5066cbe424e
COCOAPODS: 1.15.2

2
Pods

@ -1 +1 @@
Subproject commit c027177617c2b89467cef2084fbab086cf90110a
Subproject commit d06743a32e5ba0c1530de6e430f2598a1714fd7c

View File

@ -21,9 +21,7 @@
1700E34128BD41150073D949 /* SetAlgebra+SSK.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1700E34028BD41140073D949 /* SetAlgebra+SSK.swift */; };
1704690A25D4C326000793D8 /* SignalAttachmentTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1704690925D4C2E6000793D8 /* SignalAttachmentTest.swift */; };
1704690C25D4C92B000793D8 /* test-jpg-rotated.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 1704690B25D4C92B000793D8 /* test-jpg-rotated.jpg */; };
173878BE256341BB00AD39C7 /* SessionMigrationPerfTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 173878BD256341BB00AD39C7 /* SessionMigrationPerfTest.swift */; };
17ACF11E267D71E0009BE867 /* AudioSession+WebRTC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17ACF11D267D71E0009BE867 /* AudioSession+WebRTC.swift */; };
17B78E0E260529E900E24A9E /* newlyInitializedSessionState in Resources */ = {isa = PBXBuildFile; fileRef = 17B78E0C2605299E00E24A9E /* newlyInitializedSessionState */; };
17E6049028A17BD300127680 /* ZkGroupIntegrationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17E6048F28A17BD200127680 /* ZkGroupIntegrationTest.swift */; };
17EC850C29133CDB00319C82 /* CancelledGroupRing.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17EC850B29133CDB00319C82 /* CancelledGroupRing.swift */; };
259D4DF2486F14DB112B3999 /* Pods_SignalServiceKitTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 91DA2BE463493965F5BC71C0 /* Pods_SignalServiceKitTests.framework */; };
@ -154,7 +152,6 @@
3406D33125DD832800885B14 /* payments_spinner_info_dark.json in Resources */ = {isa = PBXBuildFile; fileRef = 3406D32F25DD832700885B14 /* payments_spinner_info_dark.json */; };
3406D33225DD832800885B14 /* payments_spinner_dark.json in Resources */ = {isa = PBXBuildFile; fileRef = 3406D33025DD832800885B14 /* payments_spinner_dark.json */; };
340D900024FEE6A9007B5504 /* GroupInviteLinksUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 340D8FFF24FEE6A9007B5504 /* GroupInviteLinksUI.swift */; };
3412F9BB2350D0840022EDAA /* ThreadPerformanceTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3412F9BA2350D0840022EDAA /* ThreadPerformanceTest.swift */; };
3414896925C9B6490098E3ED /* CurrencyPickerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3414896825C9B6490098E3ED /* CurrencyPickerViewController.swift */; };
3415217525B0CB31009F177F /* CVAttachmentProgressView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3415217425B0CB30009F177F /* CVAttachmentProgressView.swift */; };
34156C8B25A3B3D000556182 /* paymentSpinner.json in Resources */ = {isa = PBXBuildFile; fileRef = 34156C8A25A3B3D000556182 /* paymentSpinner.json */; };
@ -303,7 +300,6 @@
348815D025545C0A00D4F4C4 /* CVAttachments.swift in Sources */ = {isa = PBXBuildFile; fileRef = 348815CF25545C0A00D4F4C4 /* CVAttachments.swift */; };
34882C522694A9260013E289 /* ChatListViewController+Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34882C512694A9260013E289 /* ChatListViewController+Notifications.swift */; };
3488F9362191CC4000E524CC /* CVMediaView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3488F9352191CC4000E524CC /* CVMediaView.swift */; };
348A9C35234E462D00789068 /* ThreadFinderPerformanceTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 348A9C34234E462D00789068 /* ThreadFinderPerformanceTest.swift */; };
348BB25D20A0C5530047AEC2 /* ContactShareViewHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 348BB25C20A0C5530047AEC2 /* ContactShareViewHelper.swift */; };
348EE28E25B897BF00814FC2 /* CVMediaCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 348EE28C25B897BF00814FC2 /* CVMediaCache.swift */; };
348EE28F25B897BF00814FC2 /* ReusableMediaView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 348EE28D25B897BF00814FC2 /* ReusableMediaView.swift */; };
@ -340,7 +336,6 @@
349A5C5425CD7A6C00B30EE8 /* DebugContactsUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 349A5C5325CD7A6C00B30EE8 /* DebugContactsUtils.swift */; };
349D21E9268E045500D98870 /* QRCodeParserTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 349D21E7268E044700D98870 /* QRCodeParserTest.swift */; };
34A17D81253F7237009F8C02 /* ConversationSettingsViewController+LegacyGroups.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34A17D80253F7236009F8C02 /* ConversationSettingsViewController+LegacyGroups.swift */; };
34A4D56F24E4D342002F8044 /* UnfairLockPerformanceTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34A4D56E24E4D341002F8044 /* UnfairLockPerformanceTest.swift */; };
34A4D87D2677A1EF00A794E7 /* ConversationViewController+CVComponentDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34A4D87C2677A1EF00A794E7 /* ConversationViewController+CVComponentDelegate.swift */; };
34A4D87F2677B23100A794E7 /* ConversationViewController+MessageActions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34A4D87E2677B23100A794E7 /* ConversationViewController+MessageActions.swift */; };
34A4D8812677B2AB00A794E7 /* ConversationViewController+Calls.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34A4D8802677B2AB00A794E7 /* ConversationViewController+Calls.swift */; };
@ -371,7 +366,6 @@
34ACA7DB2733159600E47AD4 /* ProvisioningSplashViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34ACA7C32733159600E47AD4 /* ProvisioningSplashViewController.swift */; };
34ACA7F62733183000E47AD4 /* RegistrationValues.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34ACA7F42733183000E47AD4 /* RegistrationValues.swift */; };
34ACA7F72733183000E47AD4 /* CountryCodeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34ACA7F52733183000E47AD4 /* CountryCodeViewController.swift */; };
34B14D8B24F0012100CC3A9A /* GroupsPerfTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34B14D8A24F0012100CC3A9A /* GroupsPerfTest.swift */; };
34B14D8D24F02A9600CC3A9A /* GroupLinkViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34B14D8C24F02A9500CC3A9A /* GroupLinkViewController.swift */; };
34B14D8F24F41C4300CC3A9A /* GroupLinkQRCodeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34B14D8E24F41C4200CC3A9A /* GroupLinkQRCodeViewController.swift */; };
34B3F8751E8DF1700035BE1A /* IndividualCallViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34B3F83B1E8DF1700035BE1A /* IndividualCallViewController.swift */; };
@ -385,9 +379,6 @@
34BECE301F7ABCF800D7438D /* GifPickerLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34BECE2F1F7ABCF800D7438D /* GifPickerLayout.swift */; };
34C1A93B2656E905004FA478 /* MiscTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34C1A93A2656E904004FA478 /* MiscTest.swift */; };
34C3C78F2040A4F70000134C /* sonarping.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 34C3C78E2040A4F70000134C /* sonarping.mp3 */; };
34C6B0A91FA0E46F00D35993 /* test-gif.gif in Resources */ = {isa = PBXBuildFile; fileRef = 34C6B0A51FA0E46F00D35993 /* test-gif.gif */; };
34C6B0AB1FA0E46F00D35993 /* test-mp3.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 34C6B0A71FA0E46F00D35993 /* test-mp3.mp3 */; };
34C6B0AC1FA0E46F00D35993 /* test-mp4.mp4 in Resources */ = {isa = PBXBuildFile; fileRef = 34C6B0A81FA0E46F00D35993 /* test-mp4.mp4 */; };
34C6B0AE1FA0E4AA00D35993 /* test-jpg.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 34C6B0AD1FA0E4AA00D35993 /* test-jpg.jpg */; };
34C7C7152625D8E100F4DC2A /* DebugUIMessages.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34C7C7142625D8E100F4DC2A /* DebugUIMessages.swift */; };
34CF0787203E6B78005C4D61 /* busy_tone_ansi.caf in Resources */ = {isa = PBXBuildFile; fileRef = 34CF0783203E6B77005C4D61 /* busy_tone_ansi.caf */; };
@ -497,27 +488,6 @@
46B99B83D9513F2B8641EAB1 /* Pods_SignalNSE.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7F965533D71CA51BE6704CC4 /* Pods_SignalNSE.framework */; };
4C04392A220A9EC800BAEA63 /* VoiceNoteLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C043929220A9EC800BAEA63 /* VoiceNoteLock.swift */; };
4C0CF6FA2386295400C9F818 /* tap_to_focus.json in Resources */ = {isa = PBXBuildFile; fileRef = 4C0CF6F92386295400C9F818 /* tap_to_focus.json */; };
4C10B19523176D250099396B /* MarqueeLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45E5A6981F61E6DD001E4A8A /* MarqueeLabel.swift */; };
4C10B1A723176D250099396B /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B60EDE031A05A01700D73516 /* AudioToolbox.framework */; };
4C10B1A823176D250099396B /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B69CD25019773E79005CE69A /* XCTest.framework */; };
4C10B1A923176D250099396B /* MessageUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9EB5ABC1884C002007CBB57 /* MessageUI.framework */; };
4C10B1AA23176D250099396B /* MediaPlayer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 76C87F18181EFCE600C4ACAB /* MediaPlayer.framework */; };
4C10B1AB23176D250099396B /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D221A091169C9E5E00537ABF /* CoreGraphics.framework */; };
4C10B1AC23176D250099396B /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A11CD70C17FA230600A2D1B1 /* QuartzCore.framework */; };
4C10B1AD23176D250099396B /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A163E8AA16F3F6A90094D68B /* Security.framework */; };
4C10B1B023176D250099396B /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A1FDCBEE16DAA6C300868894 /* AVFoundation.framework */; };
4C10B1B123176D250099396B /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D2179CFB16BB0B3A0006F3AB /* CoreTelephony.framework */; };
4C10B1B223176D250099396B /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D2179CFD16BB0B480006F3AB /* SystemConfiguration.framework */; };
4C10B1B323176D250099396B /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D2AEACDB16C426DA00C364C0 /* CFNetwork.framework */; };
4C10B1B423176D250099396B /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D221A08D169C9E5E00537ABF /* UIKit.framework */; };
4C10B1B523176D250099396B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D221A08F169C9E5E00537ABF /* Foundation.framework */; };
4C10B1B823176D250099396B /* test-jpg.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 34C6B0AD1FA0E4AA00D35993 /* test-jpg.jpg */; };
4C10B1B923176D250099396B /* whisperFake.cer in Resources */ = {isa = PBXBuildFile; fileRef = B660F69F1C29868000687D6E /* whisperFake.cer */; };
4C10B1BA23176D250099396B /* test-gif.gif in Resources */ = {isa = PBXBuildFile; fileRef = 34C6B0A51FA0E46F00D35993 /* test-gif.gif */; };
4C10B1BB23176D250099396B /* test-mp4.mp4 in Resources */ = {isa = PBXBuildFile; fileRef = 34C6B0A81FA0E46F00D35993 /* test-mp4.mp4 */; };
4C10B1BC23176D250099396B /* test-mp3.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 34C6B0A71FA0E46F00D35993 /* test-mp3.mp3 */; };
4C10B1C723176DD60099396B /* SDSPerformanceTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C10B1C623176DD60099396B /* SDSPerformanceTest.swift */; };
4C10B1C9231778880099396B /* PerformanceBaseTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C10B1C8231778880099396B /* PerformanceBaseTest.swift */; };
4C1885D2218F8E1C00B67051 /* PhotoGridViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1885D1218F8E1C00B67051 /* PhotoGridViewCell.swift */; };
4C20B2B920CA10DE001BAC90 /* ConversationSearchViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C20B2B820CA10DE001BAC90 /* ConversationSearchViewController.swift */; };
4C21D5D8223AC60F00EF8A77 /* CameraCaptureSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C21D5D7223AC60F00EF8A77 /* CameraCaptureSession.swift */; };
@ -1316,7 +1286,6 @@
76F958652A09A65B00B43E63 /* DebugUISyncMessages.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76F958642A09A65B00B43E63 /* DebugUISyncMessages.swift */; };
76FCCDBC27AB8FBE00BAA7F0 /* MediaControls.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76FCCDBB27AB8FBE00BAA7F0 /* MediaControls.swift */; };
83B9573927C9A1FA00A678FD /* CaptchaView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83B9573827C9A1FA00A678FD /* CaptchaView.swift */; };
8458BA494F0FF3400E294907 /* Pods_SignalPerformanceTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5ECB75F96A467861ED52A1AF /* Pods_SignalPerformanceTests.framework */; };
8803C2F528B02FDB00183D2B /* OutgoingStoryMessage+TSAttachmentMultisend.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8803C2F328B02FDB00183D2B /* OutgoingStoryMessage+TSAttachmentMultisend.swift */; };
8803C2F628B02FDB00183D2B /* TSOutgoingMessage+TSAttachmentMultisend.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8803C2F428B02FDB00183D2B /* TSOutgoingMessage+TSAttachmentMultisend.swift */; };
8803FF6628EF89B50023574A /* StorySharingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88F5FA9528EF7E02007AA1BF /* StorySharingTests.swift */; };
@ -1548,7 +1517,6 @@
A1A018531805C60D00A052A6 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D221A091169C9E5E00537ABF /* CoreGraphics.framework */; };
A5E7C675248C5443007C949A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = A5E7C673248C5442007C949A /* InfoPlist.strings */; };
B60EDE041A05A01700D73516 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B60EDE031A05A01700D73516 /* AudioToolbox.framework */; };
B660F6D41C29868000687D6E /* whisperFake.cer in Resources */ = {isa = PBXBuildFile; fileRef = B660F69F1C29868000687D6E /* whisperFake.cer */; };
B66DBF4A19D5BBC8006EA940 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B66DBF4919D5BBC8006EA940 /* Images.xcassets */; };
B69CD25119773E79005CE69A /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B69CD25019773E79005CE69A /* XCTest.framework */; };
B6B226971BE4B7D200860F4D /* ContactsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6B226961BE4B7D200860F4D /* ContactsUI.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
@ -1800,7 +1768,6 @@
D9A85DC22BE1719C003F7045 /* MessageBackupGroupCallArchiver.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9A85DC12BE1719C003F7045 /* MessageBackupGroupCallArchiver.swift */; };
D9AA37A02A86E0910088EFFB /* OutgoingCallEventSyncMessageTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9AA379F2A86E0910088EFFB /* OutgoingCallEventSyncMessageTest.swift */; };
D9AA37A42A8A9A910088EFFB /* OutgoingGroupCallUpdateMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9AA37A32A8A9A910088EFFB /* OutgoingGroupCallUpdateMessage.swift */; };
D9AB38D0283C38B10003C038 /* InteractionFinderPerformanceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9AB38CE283C38640003C038 /* InteractionFinderPerformanceTests.swift */; };
D9AD1D9528B9955C00B42E6F /* TSInfoMessage+GroupUpdateType+NSAttributedStringTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9AD1D9428B9955C00B42E6F /* TSInfoMessage+GroupUpdateType+NSAttributedStringTest.swift */; };
D9AE0ACB29162C160063488B /* TSAttachmentMultisendJobRecord.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9AE0ACA29162C160063488B /* TSAttachmentMultisendJobRecord.swift */; };
D9AE0ACF29186D7F0063488B /* IncomingContactSyncJobRecord.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9AE0ACE29186D7F0063488B /* IncomingContactSyncJobRecord.swift */; };
@ -2721,20 +2688,6 @@
remoteGlobalIDString = 453518671FC635DD00210559;
remoteInfo = SignalShareExtension;
};
4C10B18323176D250099396B /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = D221A080169C9E5E00537ABF /* Project object */;
proxyType = 1;
remoteGlobalIDString = D221A088169C9E5E00537ABF;
remoteInfo = Signal;
};
725465652BA03FEF00EABFD2 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = D221A080169C9E5E00537ABF /* Project object */;
proxyType = 1;
remoteGlobalIDString = F9C5C896289451B900548EEE;
remoteInfo = SignalServiceKit;
};
725465672BA03FF800EABFD2 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = D221A080169C9E5E00537ABF /* Project object */;
@ -2852,9 +2805,7 @@
1700E34028BD41140073D949 /* SetAlgebra+SSK.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "SetAlgebra+SSK.swift"; sourceTree = "<group>"; };
1704690925D4C2E6000793D8 /* SignalAttachmentTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignalAttachmentTest.swift; sourceTree = "<group>"; };
1704690B25D4C92B000793D8 /* test-jpg-rotated.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "test-jpg-rotated.jpg"; sourceTree = "<group>"; };
173878BD256341BB00AD39C7 /* SessionMigrationPerfTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SessionMigrationPerfTest.swift; sourceTree = "<group>"; };
17ACF11D267D71E0009BE867 /* AudioSession+WebRTC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AudioSession+WebRTC.swift"; sourceTree = "<group>"; };
17B78E0C2605299E00E24A9E /* newlyInitializedSessionState */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; path = newlyInitializedSessionState; sourceTree = "<group>"; };
17E6048F28A17BD200127680 /* ZkGroupIntegrationTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ZkGroupIntegrationTest.swift; sourceTree = "<group>"; };
17EC850B29133CDB00319C82 /* CancelledGroupRing.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CancelledGroupRing.swift; sourceTree = "<group>"; };
299F6904BB7E4C0E2463A169 /* Pods-SignalNSE.app store release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SignalNSE.app store release.xcconfig"; path = "Target Support Files/Pods-SignalNSE/Pods-SignalNSE.app store release.xcconfig"; sourceTree = "<group>"; };
@ -2905,7 +2856,6 @@
340B870D23DF3E3A00BE0AFC /* GroupV2UpdatesImpl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GroupV2UpdatesImpl.swift; sourceTree = "<group>"; };
340D8FFF24FEE6A9007B5504 /* GroupInviteLinksUI.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GroupInviteLinksUI.swift; sourceTree = "<group>"; };
340E9ABF235F876800FA362C /* ForwardMessageViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ForwardMessageViewController.swift; sourceTree = "<group>"; };
3412F9BA2350D0840022EDAA /* ThreadPerformanceTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ThreadPerformanceTest.swift; sourceTree = "<group>"; };
341458471FBE11C4005ABCF9 /* fa */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fa; path = translations/fa.lproj/Localizable.strings; sourceTree = "<group>"; };
3414896825C9B6490098E3ED /* CurrencyPickerViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CurrencyPickerViewController.swift; sourceTree = "<group>"; };
3415217425B0CB30009F177F /* CVAttachmentProgressView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CVAttachmentProgressView.swift; sourceTree = "<group>"; };
@ -3063,7 +3013,6 @@
348815CF25545C0A00D4F4C4 /* CVAttachments.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CVAttachments.swift; sourceTree = "<group>"; };
34882C512694A9260013E289 /* ChatListViewController+Notifications.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ChatListViewController+Notifications.swift"; sourceTree = "<group>"; };
3488F9352191CC4000E524CC /* CVMediaView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CVMediaView.swift; sourceTree = "<group>"; };
348A9C34234E462D00789068 /* ThreadFinderPerformanceTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ThreadFinderPerformanceTest.swift; sourceTree = "<group>"; };
348BB25C20A0C5530047AEC2 /* ContactShareViewHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ContactShareViewHelper.swift; sourceTree = "<group>"; };
348C686C246B0B100039705A /* ThreadUtil.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ThreadUtil.swift; sourceTree = "<group>"; };
348EE28C25B897BF00814FC2 /* CVMediaCache.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CVMediaCache.swift; sourceTree = "<group>"; };
@ -3105,7 +3054,6 @@
349C3636233D198300D52012 /* LaunchJobs.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LaunchJobs.swift; sourceTree = "<group>"; };
349D21E7268E044700D98870 /* QRCodeParserTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = QRCodeParserTest.swift; sourceTree = "<group>"; };
34A17D80253F7236009F8C02 /* ConversationSettingsViewController+LegacyGroups.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ConversationSettingsViewController+LegacyGroups.swift"; sourceTree = "<group>"; };
34A4D56E24E4D341002F8044 /* UnfairLockPerformanceTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UnfairLockPerformanceTest.swift; sourceTree = "<group>"; };
34A4D87C2677A1EF00A794E7 /* ConversationViewController+CVComponentDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ConversationViewController+CVComponentDelegate.swift"; sourceTree = "<group>"; };
34A4D87E2677B23100A794E7 /* ConversationViewController+MessageActions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ConversationViewController+MessageActions.swift"; sourceTree = "<group>"; };
34A4D8802677B2AB00A794E7 /* ConversationViewController+Calls.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ConversationViewController+Calls.swift"; sourceTree = "<group>"; };
@ -3231,7 +3179,6 @@
34ACA7F42733183000E47AD4 /* RegistrationValues.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RegistrationValues.swift; sourceTree = "<group>"; };
34ACA7F52733183000E47AD4 /* CountryCodeViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CountryCodeViewController.swift; sourceTree = "<group>"; };
34B0796E1FD07B1E00E248C2 /* SignalShareExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = SignalShareExtension.entitlements; sourceTree = "<group>"; };
34B14D8A24F0012100CC3A9A /* GroupsPerfTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GroupsPerfTest.swift; sourceTree = "<group>"; };
34B14D8C24F02A9500CC3A9A /* GroupLinkViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GroupLinkViewController.swift; sourceTree = "<group>"; };
34B14D8E24F41C4200CC3A9A /* GroupLinkQRCodeViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GroupLinkQRCodeViewController.swift; sourceTree = "<group>"; };
34B3F83B1E8DF1700035BE1A /* IndividualCallViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IndividualCallViewController.swift; sourceTree = "<group>"; };
@ -3254,9 +3201,6 @@
34BECE2F1F7ABCF800D7438D /* GifPickerLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GifPickerLayout.swift; sourceTree = "<group>"; };
34C1A93A2656E904004FA478 /* MiscTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MiscTest.swift; sourceTree = "<group>"; };
34C3C78E2040A4F70000134C /* sonarping.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; name = sonarping.mp3; path = Signal/AudioFiles/sonarping.mp3; sourceTree = SOURCE_ROOT; };
34C6B0A51FA0E46F00D35993 /* test-gif.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = "test-gif.gif"; sourceTree = "<group>"; };
34C6B0A71FA0E46F00D35993 /* test-mp3.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = "test-mp3.mp3"; sourceTree = "<group>"; };
34C6B0A81FA0E46F00D35993 /* test-mp4.mp4 */ = {isa = PBXFileReference; lastKnownFileType = file; path = "test-mp4.mp4"; sourceTree = "<group>"; };
34C6B0AD1FA0E4AA00D35993 /* test-jpg.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "test-jpg.jpg"; sourceTree = "<group>"; };
34C7C7142625D8E100F4DC2A /* DebugUIMessages.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DebugUIMessages.swift; sourceTree = "<group>"; };
34CA1C261F7156F300E51C51 /* MessageDetailViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MessageDetailViewController.swift; sourceTree = "<group>"; };
@ -3382,9 +3326,6 @@
4C046AA6236148880035B234 /* OWSGroupSyncProcessingJobQueue.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OWSGroupSyncProcessingJobQueue.swift; sourceTree = "<group>"; };
4C090A1A210FD9C7001FD7F9 /* HapticFeedback.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HapticFeedback.swift; sourceTree = "<group>"; };
4C0CF6F92386295400C9F818 /* tap_to_focus.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = tap_to_focus.json; sourceTree = "<group>"; };
4C10B1C323176D250099396B /* SignalPerformanceTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SignalPerformanceTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
4C10B1C623176DD60099396B /* SDSPerformanceTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SDSPerformanceTest.swift; sourceTree = "<group>"; };
4C10B1C8231778880099396B /* PerformanceBaseTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PerformanceBaseTest.swift; sourceTree = "<group>"; };
4C1885D1218F8E1C00B67051 /* PhotoGridViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhotoGridViewCell.swift; sourceTree = "<group>"; };
4C1D2333218B692800A0598F /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = translations/ko.lproj/Localizable.strings; sourceTree = "<group>"; };
4C1D2335218B6A7600A0598F /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = translations/el.lproj/Localizable.strings; sourceTree = "<group>"; };
@ -4457,7 +4398,6 @@
B646D1141AA54674004133BA /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = translations/hu.lproj/Localizable.strings; sourceTree = "<group>"; };
B657DDC91911A40500F45B0C /* Signal.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = Signal.entitlements; sourceTree = "<group>"; };
B660F69E1C29868000687D6E /* SignalTests-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "SignalTests-Info.plist"; sourceTree = "<group>"; };
B660F69F1C29868000687D6E /* whisperFake.cer */ = {isa = PBXFileReference; lastKnownFileType = file; path = whisperFake.cer; sourceTree = "<group>"; };
B66DBF4919D5BBC8006EA940 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
B676BCEF1AA544E7009637B8 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = translations/de.lproj/Localizable.strings; sourceTree = "<group>"; };
B676BCF11AA5451E009637B8 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = translations/es.lproj/Localizable.strings; sourceTree = "<group>"; };
@ -4733,7 +4673,6 @@
D9A85DC12BE1719C003F7045 /* MessageBackupGroupCallArchiver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageBackupGroupCallArchiver.swift; sourceTree = "<group>"; };
D9AA379F2A86E0910088EFFB /* OutgoingCallEventSyncMessageTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OutgoingCallEventSyncMessageTest.swift; sourceTree = "<group>"; };
D9AA37A32A8A9A910088EFFB /* OutgoingGroupCallUpdateMessage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OutgoingGroupCallUpdateMessage.swift; sourceTree = "<group>"; };
D9AB38CE283C38640003C038 /* InteractionFinderPerformanceTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InteractionFinderPerformanceTests.swift; sourceTree = "<group>"; };
D9AD1D9428B9955C00B42E6F /* TSInfoMessage+GroupUpdateType+NSAttributedStringTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TSInfoMessage+GroupUpdateType+NSAttributedStringTest.swift"; sourceTree = "<group>"; };
D9AE0ACA29162C160063488B /* TSAttachmentMultisendJobRecord.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSAttachmentMultisendJobRecord.swift; sourceTree = "<group>"; };
D9AE0ACE29186D7F0063488B /* IncomingContactSyncJobRecord.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IncomingContactSyncJobRecord.swift; sourceTree = "<group>"; };
@ -5683,27 +5622,6 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
4C10B1A623176D250099396B /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
4C10B1A723176D250099396B /* AudioToolbox.framework in Frameworks */,
4C10B1B023176D250099396B /* AVFoundation.framework in Frameworks */,
4C10B1B323176D250099396B /* CFNetwork.framework in Frameworks */,
4C10B1AB23176D250099396B /* CoreGraphics.framework in Frameworks */,
4C10B1B123176D250099396B /* CoreTelephony.framework in Frameworks */,
4C10B1B523176D250099396B /* Foundation.framework in Frameworks */,
4C10B1AA23176D250099396B /* MediaPlayer.framework in Frameworks */,
4C10B1A923176D250099396B /* MessageUI.framework in Frameworks */,
8458BA494F0FF3400E294907 /* Pods_SignalPerformanceTests.framework in Frameworks */,
4C10B1AC23176D250099396B /* QuartzCore.framework in Frameworks */,
4C10B1AD23176D250099396B /* Security.framework in Frameworks */,
4C10B1B223176D250099396B /* SystemConfiguration.framework in Frameworks */,
4C10B1B423176D250099396B /* UIKit.framework in Frameworks */,
4C10B1A823176D250099396B /* XCTest.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
D221A086169C9E5E00537ABF /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
@ -6649,11 +6567,8 @@
children = (
D99ABC762A3D132D0034CD3B /* blue-rectangle.png */,
D99ABC792A3D1D710034CD3B /* semitransparent.png */,
34C6B0A51FA0E46F00D35993 /* test-gif.gif */,
1704690B25D4C92B000793D8 /* test-jpg-rotated.jpg */,
34C6B0AD1FA0E4AA00D35993 /* test-jpg.jpg */,
34C6B0A71FA0E46F00D35993 /* test-mp3.mp3 */,
34C6B0A81FA0E46F00D35993 /* test-mp4.mp4 */,
F927478928CFE9C60056EAFE /* test-png-with-metadata.png */,
);
path = Assets;
@ -6765,22 +6680,6 @@
name = Storyboards;
sourceTree = "<group>";
};
4C10B1C523176DB00099396B /* PerformanceTests */ = {
isa = PBXGroup;
children = (
17B78E0C2605299E00E24A9E /* newlyInitializedSessionState */,
34B14D8A24F0012100CC3A9A /* GroupsPerfTest.swift */,
D9AB38CE283C38640003C038 /* InteractionFinderPerformanceTests.swift */,
4C10B1C8231778880099396B /* PerformanceBaseTest.swift */,
4C10B1C623176DD60099396B /* SDSPerformanceTest.swift */,
173878BD256341BB00AD39C7 /* SessionMigrationPerfTest.swift */,
348A9C34234E462D00789068 /* ThreadFinderPerformanceTest.swift */,
3412F9BA2350D0840022EDAA /* ThreadPerformanceTest.swift */,
34A4D56E24E4D341002F8044 /* UnfairLockPerformanceTest.swift */,
);
path = PerformanceTests;
sourceTree = "<group>";
};
4C3EF8002109184A0007EBF7 /* SSKTests */ = {
isa = PBXGroup;
children = (
@ -9029,7 +8928,6 @@
349BC85F253A2651003C949A /* Groups */,
458E38381D6699110094BD24 /* Models */,
3471210D25ED5F850037CD1F /* Payments */,
4C10B1C523176DB00099396B /* PerformanceTests */,
66CDB75A2AFC42B6009A36EC /* Provisioning */,
D99ABC712A3D0BAA0034CD3B /* QRCodes */,
661278052996BA6700A1D5A1 /* Registration */,
@ -9059,7 +8957,6 @@
isa = PBXGroup;
children = (
B660F69E1C29868000687D6E /* SignalTests-Info.plist */,
B660F69F1C29868000687D6E /* whisperFake.cer */,
);
path = "Supporting Files";
sourceTree = "<group>";
@ -9255,7 +9152,6 @@
children = (
D221A089169C9E5E00537ABF /* Signal.app */,
342FFE8827245850000AC89F /* SignalNSE.appex */,
4C10B1C323176D250099396B /* SignalPerformanceTests.xctest */,
F9C5C897289451B900548EEE /* SignalServiceKit.framework */,
F9C5C89E289451B900548EEE /* SignalServiceKitTests.xctest */,
453518681FC635DD00210559 /* SignalShareExtension.appex */,
@ -11643,27 +11539,6 @@
productReference = 453518681FC635DD00210559 /* SignalShareExtension.appex */;
productType = "com.apple.product-type.app-extension";
};
4C10B17F23176D250099396B /* SignalPerformanceTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 4C10B1BF23176D250099396B /* Build configuration list for PBXNativeTarget "SignalPerformanceTests" */;
buildPhases = (
3247CA1180B2418B618844CB /* [CP] Check Pods Manifest.lock */,
4C10B18523176D250099396B /* Sources */,
4C10B1A623176D250099396B /* Frameworks */,
4C10B1B723176D250099396B /* Resources */,
07430245E642388F16E391C3 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
dependencies = (
725465662BA03FEF00EABFD2 /* PBXTargetDependency */,
4C10B18223176D250099396B /* PBXTargetDependency */,
);
name = SignalPerformanceTests;
productName = RedPhoneTests;
productReference = 4C10B1C323176D250099396B /* SignalPerformanceTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
D221A088169C9E5E00537ABF /* Signal */ = {
isa = PBXNativeTarget;
buildConfigurationList = D221A0BC169C9E5F00537ABF /* Build configuration list for PBXNativeTarget "Signal" */;
@ -11903,7 +11778,6 @@
D221A088169C9E5E00537ABF /* Signal */,
D221A0A9169C9E5F00537ABF /* SignalTests */,
453518671FC635DD00210559 /* SignalShareExtension */,
4C10B17F23176D250099396B /* SignalPerformanceTests */,
342FFE8727245850000AC89F /* SignalNSE */,
34A954A7271A471200B05242 /* SignalUI */,
34A954B0271A471300B05242 /* SignalUITests */,
@ -11971,19 +11845,6 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
4C10B1B723176D250099396B /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
17B78E0E260529E900E24A9E /* newlyInitializedSessionState in Resources */,
4C10B1BA23176D250099396B /* test-gif.gif in Resources */,
4C10B1B823176D250099396B /* test-jpg.jpg in Resources */,
4C10B1BC23176D250099396B /* test-mp3.mp3 in Resources */,
4C10B1BB23176D250099396B /* test-mp4.mp4 in Resources */,
4C10B1B923176D250099396B /* whisperFake.cer in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
D221A087169C9E5E00537ABF /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
@ -12088,13 +11949,9 @@
D99ABC782A3D132D0034CD3B /* blue-rectangle.png in Resources */,
D99ABC7A2A3D1D710034CD3B /* semitransparent.png in Resources */,
F927478B28CFEA680056EAFE /* test-apng.png in Resources */,
34C6B0A91FA0E46F00D35993 /* test-gif.gif in Resources */,
1704690C25D4C92B000793D8 /* test-jpg-rotated.jpg in Resources */,
34C6B0AE1FA0E4AA00D35993 /* test-jpg.jpg in Resources */,
34C6B0AB1FA0E46F00D35993 /* test-mp3.mp3 in Resources */,
34C6B0AC1FA0E46F00D35993 /* test-mp4.mp4 in Resources */,
F927478A28CFE9C60056EAFE /* test-png-with-metadata.png in Resources */,
B660F6D41C29868000687D6E /* whisperFake.cer in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -12136,74 +11993,6 @@
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
07430245E642388F16E391C3 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-SignalPerformanceTests/Pods-SignalPerformanceTests-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework",
"${BUILT_PRODUCTS_DIR}/GRDB.swift/GRDB.framework",
"${BUILT_PRODUCTS_DIR}/LibSignalClient/LibSignalClient.framework",
"${BUILT_PRODUCTS_DIR}/Mantle/Mantle.framework",
"${BUILT_PRODUCTS_DIR}/Reachability/Reachability.framework",
"${BUILT_PRODUCTS_DIR}/SQLCipher/SQLCipher.framework",
"${BUILT_PRODUCTS_DIR}/SignalCoreKit/SignalCoreKit.framework",
"${BUILT_PRODUCTS_DIR}/SignalRingRTC/SignalRingRTC.framework",
"${BUILT_PRODUCTS_DIR}/SwiftProtobuf/SwiftProtobuf.framework",
"${BUILT_PRODUCTS_DIR}/Wire/Wire.framework",
"${BUILT_PRODUCTS_DIR}/YYImage/YYImage.framework",
"${BUILT_PRODUCTS_DIR}/blurhash/blurhash.framework",
"${BUILT_PRODUCTS_DIR}/libPhoneNumber-iOS/libPhoneNumber_iOS.framework",
"${BUILT_PRODUCTS_DIR}/libwebp/libwebp.framework",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/SignalRingRTC/WebRTC/WebRTC.framework/WebRTC",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GRDB.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/LibSignalClient.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Mantle.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Reachability.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SQLCipher.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SignalCoreKit.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SignalRingRTC.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftProtobuf.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Wire.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/YYImage.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/blurhash.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/libPhoneNumber_iOS.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/libwebp.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/WebRTC.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-SignalPerformanceTests/Pods-SignalPerformanceTests-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
3247CA1180B2418B618844CB /* [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-SignalPerformanceTests-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;
};
34C239432180B01B00B6108F /* Run Script: update_plist_info */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
@ -12789,22 +12578,6 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
4C10B18523176D250099396B /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
34B14D8B24F0012100CC3A9A /* GroupsPerfTest.swift in Sources */,
D9AB38D0283C38B10003C038 /* InteractionFinderPerformanceTests.swift in Sources */,
4C10B19523176D250099396B /* MarqueeLabel.swift in Sources */,
4C10B1C9231778880099396B /* PerformanceBaseTest.swift in Sources */,
4C10B1C723176DD60099396B /* SDSPerformanceTest.swift in Sources */,
173878BE256341BB00AD39C7 /* SessionMigrationPerfTest.swift in Sources */,
348A9C35234E462D00789068 /* ThreadFinderPerformanceTest.swift in Sources */,
3412F9BB2350D0840022EDAA /* ThreadPerformanceTest.swift in Sources */,
34A4D56F24E4D342002F8044 /* UnfairLockPerformanceTest.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
D221A085169C9E5E00537ABF /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
@ -14923,16 +14696,6 @@
target = 453518671FC635DD00210559 /* SignalShareExtension */;
targetProxy = 453518701FC635DD00210559 /* PBXContainerItemProxy */;
};
4C10B18223176D250099396B /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = D221A088169C9E5E00537ABF /* Signal */;
targetProxy = 4C10B18323176D250099396B /* PBXContainerItemProxy */;
};
725465662BA03FEF00EABFD2 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = F9C5C896289451B900548EEE /* SignalServiceKit */;
targetProxy = 725465652BA03FEF00EABFD2 /* PBXContainerItemProxy */;
};
725465682BA03FF800EABFD2 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = F9C5C896289451B900548EEE /* SignalServiceKit */;
@ -16314,196 +16077,6 @@
};
name = "Testable Release";
};
4C10B1C023176D250099396B /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 4C9C3DDD0CC5FB4FD9AD7D0B /* Pods-SignalPerformanceTests.debug.xcconfig */;
buildSettings = {
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/Signal.app/Signal";
CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
DEFINES_MODULE = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)",
);
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
GCC_GENERATE_TEST_COVERAGE_FILES = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "Signal/Signal-Prefix.pch";
GCC_VERSION = "";
GCC_WARN_MULTIPLE_DEFINITION_TYPES_FOR_SELECTOR = NO;
GCC_WARN_STRICT_SELECTOR_MATCH = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
HEADER_SEARCH_PATHS = (
"${PODS_HEADERS_SEARCH_PATHS}",
"$(inherited)",
"\"${SRCROOT}/Signal/lib/speex/include\"",
"\"${SRCROOT}/Signal/lib/ogg/include\"",
"\"${SRCROOT}/Signal/lib/debug/include\"",
"\"$(SRCROOT)/libtommath\"",
"\"$(SRCROOT)/libtomcrypt/headers\"",
"\"$(SRCROOT)/spandsp/spandsp/spandsp\"",
"\"$(SRCROOT)/Libraries\"/**",
"\"$(TARGET_TEMP_DIR)/../$(PROJECT_NAME).build/DerivedSources\"",
);
INFOPLIST_FILE = "Signal/test/Supporting Files/SignalTests-Info.plist";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)",
);
OTHER_CFLAGS = (
"$(inherited)",
"-fobjc-arc-exceptions",
);
OTHER_LDFLAGS = (
"-all_load",
"-ObjC",
"$(inherited)",
);
OTHER_SWIFT_FLAGS = "$(inherited) -D DEBUG";
PRODUCT_BUNDLE_IDENTIFIER = "$(SIGNAL_BUNDLEID_PREFIX).${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE = "";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
TEST_HOST = "$(BUNDLE_LOADER)";
VALID_ARCHS = "arm64 armv7s armv7 i386 x86_64";
};
name = Debug;
};
4C10B1C123176D250099396B /* App Store Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = EAACBA1288D17F91D3A923FD /* Pods-SignalPerformanceTests.app store release.xcconfig */;
buildSettings = {
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/Signal.app/Signal";
CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
DEFINES_MODULE = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)",
);
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
GCC_GENERATE_TEST_COVERAGE_FILES = NO;
GCC_OPTIMIZATION_LEVEL = s;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "Signal/Signal-Prefix.pch";
GCC_VERSION = "";
GCC_WARN_MULTIPLE_DEFINITION_TYPES_FOR_SELECTOR = NO;
GCC_WARN_STRICT_SELECTOR_MATCH = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
HEADER_SEARCH_PATHS = (
"${PODS_HEADERS_SEARCH_PATHS}",
"$(inherited)",
"\"${SRCROOT}/Signal/lib/speex/include\"",
"\"${SRCROOT}/Signal/lib/ogg/include\"",
"\"${SRCROOT}/Signal/lib/debug/include\"",
"\"$(SRCROOT)/libtommath\"",
"\"$(SRCROOT)/libtomcrypt/headers\"",
"\"$(SRCROOT)/Libraries\"/**",
"\"$(TARGET_TEMP_DIR)/../$(PROJECT_NAME).build/DerivedSources\"",
);
INFOPLIST_FILE = "Signal/test/Supporting Files/SignalTests-Info.plist";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)",
);
OTHER_CFLAGS = (
"$(inherited)",
"-fobjc-arc-exceptions",
);
OTHER_LDFLAGS = (
"-all_load",
"-ObjC",
"$(inherited)",
);
PRODUCT_BUNDLE_IDENTIFIER = "$(SIGNAL_BUNDLEID_PREFIX).${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE = "";
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
TEST_HOST = "$(BUNDLE_LOADER)";
VALID_ARCHS = "arm64 armv7s armv7 i386 x86_64";
};
name = "App Store Release";
};
4C10B1C223176D250099396B /* Testable Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = FD85D9C5018FDE6A08D30CDE /* Pods-SignalPerformanceTests.testable release.xcconfig */;
buildSettings = {
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/Signal.app/Signal";
CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
DEFINES_MODULE = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)",
);
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
GCC_GENERATE_TEST_COVERAGE_FILES = NO;
GCC_OPTIMIZATION_LEVEL = s;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "Signal/Signal-Prefix.pch";
GCC_VERSION = "";
GCC_WARN_MULTIPLE_DEFINITION_TYPES_FOR_SELECTOR = NO;
GCC_WARN_STRICT_SELECTOR_MATCH = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
HEADER_SEARCH_PATHS = (
"${PODS_HEADERS_SEARCH_PATHS}",
"$(inherited)",
"\"${SRCROOT}/Signal/lib/speex/include\"",
"\"${SRCROOT}/Signal/lib/ogg/include\"",
"\"${SRCROOT}/Signal/lib/debug/include\"",
"\"$(SRCROOT)/libtommath\"",
"\"$(SRCROOT)/libtomcrypt/headers\"",
"\"$(SRCROOT)/Libraries\"/**",
"\"$(TARGET_TEMP_DIR)/../$(PROJECT_NAME).build/DerivedSources\"",
);
INFOPLIST_FILE = "Signal/test/Supporting Files/SignalTests-Info.plist";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)",
);
OTHER_CFLAGS = (
"$(inherited)",
"-fobjc-arc-exceptions",
);
OTHER_LDFLAGS = (
"-all_load",
"-ObjC",
"$(inherited)",
);
PRODUCT_BUNDLE_IDENTIFIER = "$(SIGNAL_BUNDLEID_PREFIX).${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE = "";
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
TEST_HOST = "$(BUNDLE_LOADER)";
VALID_ARCHS = "arm64 armv7s armv7 i386 x86_64";
};
name = "Testable Release";
};
88238EA724EAD2FD00F28079 /* Profiling */ = {
isa = XCBuildConfiguration;
buildSettings = {
@ -16768,69 +16341,6 @@
};
name = Profiling;
};
88238EAC24EAD2FD00F28079 /* Profiling */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = A850CF324A284B6439049771 /* Pods-SignalPerformanceTests.profiling.xcconfig */;
buildSettings = {
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/Signal.app/Signal";
CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
DEFINES_MODULE = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)",
);
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
GCC_GENERATE_TEST_COVERAGE_FILES = NO;
GCC_OPTIMIZATION_LEVEL = s;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "Signal/Signal-Prefix.pch";
GCC_VERSION = "";
GCC_WARN_MULTIPLE_DEFINITION_TYPES_FOR_SELECTOR = NO;
GCC_WARN_STRICT_SELECTOR_MATCH = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
HEADER_SEARCH_PATHS = (
"${PODS_HEADERS_SEARCH_PATHS}",
"$(inherited)",
"\"${SRCROOT}/Signal/lib/speex/include\"",
"\"${SRCROOT}/Signal/lib/ogg/include\"",
"\"${SRCROOT}/Signal/lib/debug/include\"",
"\"$(SRCROOT)/libtommath\"",
"\"$(SRCROOT)/libtomcrypt/headers\"",
"\"$(SRCROOT)/Libraries\"/**",
"\"$(TARGET_TEMP_DIR)/../$(PROJECT_NAME).build/DerivedSources\"",
);
INFOPLIST_FILE = "Signal/test/Supporting Files/SignalTests-Info.plist";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)",
);
OTHER_CFLAGS = (
"$(inherited)",
"-fobjc-arc-exceptions",
);
OTHER_LDFLAGS = (
"-all_load",
"-ObjC",
"$(inherited)",
);
PRODUCT_BUNDLE_IDENTIFIER = "$(SIGNAL_BUNDLEID_PREFIX).${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE = "";
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
TEST_HOST = "$(BUNDLE_LOADER)";
VALID_ARCHS = "arm64 armv7s armv7 i386 x86_64";
};
name = Profiling;
};
D221A0BA169C9E5F00537ABF /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
@ -17743,17 +17253,6 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = "App Store Release";
};
4C10B1BF23176D250099396B /* Build configuration list for PBXNativeTarget "SignalPerformanceTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
4C10B1C023176D250099396B /* Debug */,
4C10B1C123176D250099396B /* App Store Release */,
88238EAC24EAD2FD00F28079 /* Profiling */,
4C10B1C223176D250099396B /* Testable Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = "App Store Release";
};
D221A083169C9E5E00537ABF /* Build configuration list for PBXProject "Signal" */ = {
isa = XCConfigurationList;
buildConfigurations = (

View File

@ -20,20 +20,6 @@
ReferencedContainer = "container:Signal.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "NO"
buildForProfiling = "NO"
buildForArchiving = "NO"
buildForAnalyzing = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4C10B17F23176D250099396B"
BuildableName = "SignalPerformanceTests.xctest"
BlueprintName = "SignalPerformanceTests"
ReferencedContainer = "container:Signal.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
@ -93,16 +79,6 @@
ReferencedContainer = "container:Signal.xcodeproj">
</BuildableReference>
</TestableReference>
<TestableReference
skipped = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4C10B17F23176D250099396B"
BuildableName = "SignalPerformanceTests.xctest"
BlueprintName = "SignalPerformanceTests"
ReferencedContainer = "container:Signal.xcodeproj">
</BuildableReference>
</TestableReference>
<TestableReference
skipped = "NO">
<BuildableReference

Binary file not shown.

Before

Width:  |  Height:  |  Size: 675 KiB

Binary file not shown.

Binary file not shown.

View File

@ -1,55 +0,0 @@
//
// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//
import Foundation
import LibSignalClient
import SignalServiceKit
import XCTest
class GroupsPerfTest: PerformanceBaseTest {
private let iterationCount: UInt64 = DebugFlags.fastPerfTests ? 5 : 5 * 1000
func testMembershipSerialization() {
setUpIteration()
let membership = Self.buildMembership()
measureMetrics(XCTestCase.defaultPerformanceMetrics, automaticallyStartMeasuring: true) {
for _ in 0..<iterationCount {
let data = try! Self.serialize(membership: membership)
let copy = try! Self.deserialize(data: data)
assert(membership == copy)
}
}
}
static func buildMembership() -> GroupMembership {
let memberCount: UInt = 32
var builder = GroupMembership.Builder()
for _ in 0..<memberCount {
builder.addFullMember(Aci.randomForTesting(), role: .`normal`)
}
for _ in 0..<memberCount {
builder.addInvitedMember(Aci.randomForTesting(), role: .`normal`, addedByAci: Aci.randomForTesting())
}
for _ in 0..<memberCount {
builder.addRequestingMember(Aci.randomForTesting())
}
for i in 0..<memberCount {
builder.addBannedMember(Aci.randomForTesting(), bannedAtTimestamp: UInt64(i))
}
return builder.build()
}
static func serialize(membership: GroupMembership) throws -> Data {
try NSKeyedArchiver.archivedData(withRootObject: membership, requiringSecureCoding: false)
}
static func deserialize(data: Data) throws -> GroupMembership {
try NSKeyedUnarchiver.unarchivedObject(ofClass: GroupMembership.self, from: data, requiringSecureCoding: false)!
}
}

View File

@ -1,42 +0,0 @@
//
// Copyright 2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//
import XCTest
@testable import SignalServiceKit
class InteractionFinderPerformanceTests: PerformanceBaseTest {
func testPerf_getAppBadgeCount() {
measureMetrics(XCTestCase.defaultPerformanceMetrics, automaticallyStartMeasuring: false) {
let nThreads = UInt(200)
let nMessagesPerThread = UInt(10)
setUpIteration()
simulateIncomingMessages(inThreads: nThreads, messagesPerThread: nMessagesPerThread)
startMeasuring()
read { transaction in
let unreadCount = InteractionFinder.unreadCountInAllThreads(transaction: transaction)
XCTAssertEqual(unreadCount, nThreads * nMessagesPerThread)
}
stopMeasuring()
}
}
private func simulateIncomingMessages(inThreads threadCount: UInt, messagesPerThread: UInt) {
write { transaction in
let threadFactory = ContactThreadFactory()
let threads = threadFactory.create(count: threadCount, transaction: transaction)
for thread in threads {
let messageFactory = IncomingMessageFactory()
messageFactory.threadCreator = { _ in return thread }
_ = messageFactory.create(count: messagesPerThread, transaction: transaction)
}
}
}
}

View File

@ -1,31 +0,0 @@
//
// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//
import Foundation
import XCTest
import SignalServiceKit
public class PerformanceBaseTest: XCTestCase {
// MARK: Hooks
func setUpIteration() {
MockSSKEnvironment.activate()
}
// MARK: Helpers
public func read(_ block: @escaping (SDSAnyReadTransaction) -> Void) {
return databaseStorage.read(block: block)
}
public func write(_ block: @escaping (SDSAnyWriteTransaction) -> Void) {
return databaseStorage.write(block: block)
}
public func asyncWrite(_ block: @escaping (SDSAnyWriteTransaction) -> Void) {
return databaseStorage.asyncWrite(block: block)
}
}

View File

@ -1,126 +0,0 @@
//
// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//
import Foundation
import XCTest
import SignalServiceKit
class SDSPerformanceTest: PerformanceBaseTest {
// MARK: - Insert Messages
func testPerf_insertMessages() {
measureMetrics(XCTestCase.defaultPerformanceMetrics, automaticallyStartMeasuring: false) {
setUpIteration()
insertMessages()
}
}
func insertMessages() {
let contactThread = ContactThreadFactory().create()
read { transaction in
XCTAssertEqual(1, TSThread.anyFetchAll(transaction: transaction).count)
XCTAssertEqual(0, TSInteraction.anyFetchAll(transaction: transaction).count)
}
let messageCount = DebugFlags.fastPerfTests ? 5 : 100
var uniqueIds = [String]()
let messageFactory = OutgoingMessageFactory()
messageFactory.threadCreator = { _ in return contactThread }
startMeasuring()
write { transaction in
for _ in 0..<messageCount {
let message = messageFactory.build(transaction: transaction)
message.anyInsert(transaction: transaction)
uniqueIds.append(message.uniqueId)
}
}
stopMeasuring()
read { transaction in
XCTAssertEqual(1, TSThread.anyFetchAll(transaction: transaction).count)
XCTAssertEqual(messageCount, TSInteraction.anyFetchAll(transaction: transaction).count)
}
}
// MARK: - Fetch Messages
func testPerf_fetchMessages() {
measureMetrics(XCTestCase.defaultPerformanceMetrics, automaticallyStartMeasuring: false) {
setUpIteration()
fetchMessages()
}
}
func fetchMessages() {
let messageCount = DebugFlags.fastPerfTests ? 5 : 100
let fetchCount = messageCount * 5
var uniqueIds = [String]()
write { transaction in
XCTAssert(TSInteraction.anyCount(transaction: transaction) == 0)
for _ in 0..<messageCount {
let message = OutgoingMessageFactory().create(transaction: transaction)
uniqueIds.append(message.uniqueId)
}
}
startMeasuring()
read { transaction in
for _ in 0..<fetchCount {
let message = TSOutgoingMessage.anyFetch(uniqueId: uniqueIds.randomElement()!, transaction: transaction)
XCTAssertNotNil(message)
}
}
stopMeasuring()
}
// MARK: - Enumerate Messages
func testPerf_enumerateMessagesUnbatched() {
measureMetrics(XCTestCase.defaultPerformanceMetrics, automaticallyStartMeasuring: false) {
setUpIteration()
enumerateMessages(batched: false)
}
}
func testPerf_enumerateMessagesBatched() {
measureMetrics(XCTestCase.defaultPerformanceMetrics, automaticallyStartMeasuring: false) {
setUpIteration()
enumerateMessages(batched: true)
}
}
func enumerateMessages(batched: Bool) {
let messageCount = DebugFlags.fastPerfTests ? 5 : 100
let enumerationCount = 10
var uniqueIds = [String]()
write { transaction in
XCTAssert(TSInteraction.anyCount(transaction: transaction) == 0)
for _ in 0..<messageCount {
let message = OutgoingMessageFactory().create(transaction: transaction)
uniqueIds.append(message.uniqueId)
}
}
startMeasuring()
read { transaction in
var enumeratedCount = 0
for _ in 0..<enumerationCount {
TSInteraction.anyEnumerate(transaction: transaction, batched: batched) { _, _ in
enumeratedCount += 1
}
}
XCTAssertEqual(enumeratedCount, messageCount * enumerationCount)
}
stopMeasuring()
}
}

View File

@ -1,125 +0,0 @@
//
// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//
import Foundation
import XCTest
import SignalServiceKit
import LibSignalClient
class SessionMigrationPerfTest: PerformanceBaseTest {
static let newlyInitializedSessionStateData: Data = {
let dataURL = Bundle(for: SessionMigrationPerfTest.self).url(forResource: "newlyInitializedSessionState",
withExtension: "")!
return try! Data(contentsOf: dataURL)
}()
static func makeNewlyInitializedSessionState() -> LegacySessionState {
try! NSKeyedUnarchiver.unarchivedObject(
ofClass: LegacySessionState.self,
from: newlyInitializedSessionStateData,
requiringSecureCoding: false
)!
}
func makeDeepSession(depth: Int = 2000) -> LegacySessionRecord {
let session = LegacySessionRecord()!
for _ in 1...5 {
session.archiveCurrentState()
let state = Self.makeNewlyInitializedSessionState()
session.setState(state)
state.receivingChains = (1...5).map { _ in
let senderRatchetKey = ECKeyPair.generateKeyPair().publicKey
let chain = LegacyReceivingChain(chainKey: LegacyChainKey(data: senderRatchetKey, index: 0),
senderRatchetKey: senderRatchetKey)!
let dummyKeys = LegacyMessageKeys(cipherKey: Data(repeating: 1, count: 32),
macKey: Data(repeating: 2, count: 32),
iv: Data(repeating: 3, count: 16),
index: 0)!
chain.messageKeysList.addObjects(from: Array(repeating: dummyKeys, count: depth))
return chain
}
}
return session
}
override func setUp() {
super.setUp()
setUpIteration()
}
func testSerializeDeepSession() {
let x = makeDeepSession()
measure {
_ = try! x.serializeProto()
}
}
func testDeserializeDeepSession() {
let x = makeDeepSession()
let data = try! x.serializeProto()
measure {
_ = try! LegacySessionRecord(serializedProto: data)
}
}
func testUnarchiveDeepSession() throws {
let x = makeDeepSession()
let data = try NSKeyedArchiver.archivedData(withRootObject: x, requiringSecureCoding: true)
measure {
do {
_ = try NSKeyedUnarchiver.unarchivedObject(ofClass: type(of: x), from: data)
} catch {
XCTFail("unarchiving failed")
}
}
}
func testMigrateDeepSession() {
let x = makeDeepSession()
let data = try! x.serializeProto()
measure {
_ = try! SessionRecord(bytes: data)
}
}
func testSerializeSomewhatDeepSession() {
let x = makeDeepSession(depth: 200)
measure {
_ = try! x.serializeProto()
}
}
func testDeserializeSomewhatDeepSession() {
let x = makeDeepSession(depth: 200)
let data = try! x.serializeProto()
measure {
_ = try! LegacySessionRecord(serializedProto: data)
}
}
func testUnarchiveSomewhatDeepSession() throws {
let x = makeDeepSession(depth: 200)
let data = try NSKeyedArchiver.archivedData(withRootObject: x, requiringSecureCoding: true)
measure {
do {
_ = try NSKeyedUnarchiver.unarchivedObject(ofClass: type(of: x), from: data)
} catch {
XCTFail("unarchiving failed")
}
}
}
func testMigrateSomewhatDeepSession() {
let x = makeDeepSession(depth: 200)
let data = try! x.serializeProto()
measure {
_ = try! SessionRecord(bytes: data)
}
}
}

View File

@ -1,190 +0,0 @@
//
// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//
import Foundation
import XCTest
import SignalServiceKit
class ThreadFinderPerformanceTest: PerformanceBaseTest {
func testPerf_enumerateVisibleThreads() {
measureMetrics(XCTestCase.defaultPerformanceMetrics, automaticallyStartMeasuring: false) {
setUpIteration()
enumerateVisibleThreads(isArchived: false)
}
}
func testPerf_enumerateVisibleThreads_isArchived() {
measureMetrics(XCTestCase.defaultPerformanceMetrics, automaticallyStartMeasuring: false) {
setUpIteration()
enumerateVisibleThreads(isArchived: true)
}
}
func enumerateVisibleThreads(isArchived: Bool) {
// To properly stress GRDB, we want a large number
// of threads with a large number of messages.
//
// NOTE: the total thread count is 4 x threadCount.
let threadCount = DebugFlags.fastPerfTests ? 5 : 100
var emptyThreads = [TSThread]()
var hasMessageThreads = [TSThread]()
var archivedThreads = [TSThread]()
var unarchivedThreads = [TSThread]()
for _ in 0..<threadCount {
emptyThreads.append(insertThread(threadType: .empty))
hasMessageThreads.append(insertThread(threadType: .hasMessage))
archivedThreads.append(insertThread(threadType: .archived))
unarchivedThreads.append(insertThread(threadType: .unarchived))
}
XCTAssertEqual(threadCount, emptyThreads.count)
XCTAssertEqual(threadCount, hasMessageThreads.count)
XCTAssertEqual(threadCount, archivedThreads.count)
XCTAssertEqual(threadCount, unarchivedThreads.count)
read { transaction in
XCTAssertEqual(threadCount * 4, TSThread.anyFetchAll(transaction: transaction).count)
let expectedMessageCount = (
// .hasMessage
(threadCount * self.threadMessageCount) +
// .archived
(threadCount * self.threadMessageCount) +
// .unarchived
(threadCount * (self.threadMessageCount + 1))
)
XCTAssertEqual(expectedMessageCount, TSInteraction.anyFetchAll(transaction: transaction).count)
}
// Note that we enumerate _twice_ (archived & non-archived)
let readCount = DebugFlags.fastPerfTests ? 2 : 10
read { transaction in
self.startMeasuring()
for _ in 0..<readCount {
var observedCount = 0
do {
try ThreadFinder().enumerateVisibleThreads(isArchived: isArchived, transaction: transaction) { _ in
observedCount += 1
}
} catch {
owsFailDebug("Error: \(error)")
}
let expectedArchivedCount = threadCount * 1
let expectedUnarchivedCount = threadCount * 2
let expectedCount = isArchived ? expectedArchivedCount : expectedUnarchivedCount
XCTAssertEqual(expectedCount, observedCount)
}
self.stopMeasuring()
}
}
// MARK: - insertThreads
enum ThreadType: Int {
case empty
case hasMessage
case archived
case unarchived
}
func insertThreads(count: Int, threadType: ThreadType) -> [TSThread] {
var result = [TSThread]()
for _ in 0..<count {
result.append(insertThread(threadType: threadType))
}
return result
}
private let threadMessageCount = DebugFlags.fastPerfTests ? 2 : 10
func insertThread(threadType: ThreadType) -> TSThread {
// .empty
let contactThread = ContactThreadFactory().create()
XCTAssertFalse(contactThread.shouldThreadBeVisible)
if threadType == .empty {
return contactThread
}
// .hasMessage
let messageFactory = OutgoingMessageFactory()
messageFactory.threadCreator = { _ in return contactThread }
write { transaction in
if let latestThread = TSThread.anyFetch(uniqueId: contactThread.uniqueId, transaction: transaction) {
XCTAssertFalse(latestThread.shouldThreadBeVisible)
XCTAssertFalse(ThreadAssociatedData.fetchOrDefault(for: latestThread, transaction: transaction).isArchived)
} else {
XCTFail("Missing thread.")
}
for _ in 0..<self.threadMessageCount {
let message = messageFactory.build(transaction: transaction)
message.anyInsert(transaction: transaction)
}
if let latestThread = TSThread.anyFetch(uniqueId: contactThread.uniqueId, transaction: transaction) {
XCTAssertTrue(latestThread.shouldThreadBeVisible)
XCTAssertFalse(ThreadAssociatedData.fetchOrDefault(for: latestThread, transaction: transaction).isArchived)
} else {
XCTFail("Missing thread.")
}
}
if threadType == .hasMessage {
return contactThread
}
// .archived
write { transaction in
if let latestThread = TSThread.anyFetch(uniqueId: contactThread.uniqueId, transaction: transaction) {
XCTAssertTrue(latestThread.shouldThreadBeVisible)
XCTAssertFalse(ThreadAssociatedData.fetchOrDefault(for: latestThread, transaction: transaction).isArchived)
} else {
XCTFail("Missing thread.")
}
ThreadAssociatedData.fetchOrDefault(
for: contactThread,
transaction: transaction
).updateWith(
isArchived: true,
updateStorageService: false,
transaction: transaction
)
if let latestThread = TSThread.anyFetch(uniqueId: contactThread.uniqueId, transaction: transaction) {
XCTAssertTrue(latestThread.shouldThreadBeVisible)
XCTAssertTrue(ThreadAssociatedData.fetchOrDefault(for: latestThread, transaction: transaction).isArchived)
} else {
XCTFail("Missing thread.")
}
}
if threadType == .archived {
return contactThread
}
// .unarchived
write { transaction in
if let latestThread = TSThread.anyFetch(uniqueId: contactThread.uniqueId, transaction: transaction) {
XCTAssertTrue(latestThread.shouldThreadBeVisible)
XCTAssertTrue(ThreadAssociatedData.fetchOrDefault(for: latestThread, transaction: transaction).isArchived)
} else {
XCTFail("Missing thread.")
}
let message = messageFactory.build(transaction: transaction)
message.anyInsert(transaction: transaction)
if let latestThread = TSThread.anyFetch(uniqueId: contactThread.uniqueId, transaction: transaction) {
XCTAssertTrue(latestThread.shouldThreadBeVisible)
XCTAssertFalse(ThreadAssociatedData.fetchOrDefault(for: latestThread, transaction: transaction).isArchived)
} else {
XCTFail("Missing thread.")
}
}
return contactThread
}
}

View File

@ -1,102 +0,0 @@
//
// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//
import Foundation
import XCTest
import SignalServiceKit
class ThreadPerformanceTest: PerformanceBaseTest {
let threadCount = DebugFlags.fastPerfTests ? 2 : 10
let interactionCount: UInt = DebugFlags.fastPerfTests ? 5 : 100
// MARK: - writeThreadAndInteractions
func testPerf_writeThreadAndInteractions() {
measureMetrics(XCTestCase.defaultPerformanceMetrics, automaticallyStartMeasuring: false) {
setUpIteration()
writeThreadAndInteractions()
}
}
func writeThreadAndInteractions() {
let threadFactory = ContactThreadFactory()
threadFactory.messageCount = interactionCount
write { transaction in
self.startMeasuring()
for _ in 0..<self.threadCount {
_ = threadFactory.create(transaction: transaction)
}
self.stopMeasuring()
}
}
// MARK: - writeAndDeleteThreadAndInteractions
func testPerf_writeAndDeleteThreadAndInteractions() {
measureMetrics(XCTestCase.defaultPerformanceMetrics, automaticallyStartMeasuring: false) {
setUpIteration()
writeAndDeleteThreadAndInteractions()
}
}
func writeAndDeleteThreadAndInteractions() {
let threadFactory = ContactThreadFactory()
threadFactory.messageCount = interactionCount
write { transaction in
self.startMeasuring()
for _ in 0..<self.threadCount {
_ = threadFactory.create(transaction: transaction)
}
TSInteraction.anyRemoveAllWithInstantiation(transaction: transaction)
TSThread.anyFetchAll(transaction: transaction).forEach { $0.softDelete(with: transaction) }
self.stopMeasuring()
}
}
// MARK: - writeAndUpdateAndDeleteThreadAndInteractions
func testPerf_writeAndUpdateAndDeleteThreadAndInteractions() {
measureMetrics(XCTestCase.defaultPerformanceMetrics, automaticallyStartMeasuring: false) {
setUpIteration()
writeAndUpdateAndDeleteThreadAndInteractions()
}
}
func writeAndUpdateAndDeleteThreadAndInteractions() {
let threadFactory = ContactThreadFactory()
threadFactory.messageCount = interactionCount
write { transaction in
self.startMeasuring()
for _ in 0..<self.threadCount {
_ = threadFactory.create(transaction: transaction)
}
let interactionIds = TSInteraction.anyAllUniqueIds(transaction: transaction)
for interactionId in interactionIds {
guard let interaction = TSInteraction.anyFetch(uniqueId: interactionId, transaction: transaction) else {
owsFailDebug("Missing interaction.")
continue
}
guard let message = interaction as? TSMessage else {
owsFailDebug("Invalid interaction.")
continue
}
message.update(withMessageBody: "hiya", transaction: transaction)
}
TSInteraction.anyRemoveAllWithInstantiation(transaction: transaction)
TSThread.anyFetchAll(transaction: transaction).forEach { $0.softDelete(with: transaction) }
self.stopMeasuring()
}
}
}

View File

@ -1,53 +0,0 @@
//
// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//
import Foundation
import XCTest
import SignalServiceKit
class UnfairLockPerformanceTest: PerformanceBaseTest {
private let iterationCount: UInt64 = DebugFlags.fastPerfTests ? 100 : 1000 * 1000
// A simple "happy path" test with no contention or load.
func testUnfairLock() {
let unfairLock = UnfairLock()
var protectedValue: UInt64 = 0
measureMetrics(XCTestCase.defaultPerformanceMetrics, automaticallyStartMeasuring: true) {
for _ in 0..<iterationCount {
unfairLock.withLock {
protectedValue += 1
}
}
}
if protectedValue == iterationCount {
Logger.verbose("Values match.")
} else {
owsFailDebug("Value do not match.")
}
}
// A simple "happy path" test with no contention or load.
func testSerialQueue() {
let fairQueue = DispatchQueue(label: "UnfairLockPerformanceTest")
var protectedValue: UInt64 = 0
measureMetrics(XCTestCase.defaultPerformanceMetrics, automaticallyStartMeasuring: true) {
for _ in 0..<iterationCount {
fairQueue.sync {
protectedValue += 1
}
}
}
if protectedValue == iterationCount {
Logger.verbose("Values match.")
} else {
owsFailDebug("Value do not match.")
}
}
}