Skip to content

Commit bd55a24

Browse files
matthewkotilamichaelkirk
authored andcommitted
SignalUITests added
Added UI tests to Signal in Swift. Some tests require the app to be verified with a real number, and some require a “dummy” contact that is verified with Signal (can be self).
1 parent eded20f commit bd55a24

File tree

4 files changed

+926
-2
lines changed

4 files changed

+926
-2
lines changed

Signal.xcodeproj/project.pbxproj

Lines changed: 153 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,7 @@
183183
AD83FF441A73426500B5C81A /* audio_pause_button.png in Resources */ = {isa = PBXBuildFile; fileRef = AD83FF3D1A73426500B5C81A /* audio_pause_button.png */; };
184184
AD83FF451A73426500B5C81A /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = AD83FF3E1A73426500B5C81A /* [email protected] */; };
185185
AD83FF471A73428300B5C81A /* audio_play_button_blue.png in Resources */ = {isa = PBXBuildFile; fileRef = AD83FF461A73428300B5C81A /* audio_play_button_blue.png */; };
186+
ADCD2DCF1C4E16DC0096B04D /* SignalUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADCD2DCE1C4E16DC0096B04D /* SignalUITests.swift */; };
186187
B10C9B5F1A7049EC00ECA2BF /* pause_icon.png in Resources */ = {isa = PBXBuildFile; fileRef = B10C9B5B1A7049EC00ECA2BF /* pause_icon.png */; };
187188
B10C9B601A7049EC00ECA2BF /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = B10C9B5C1A7049EC00ECA2BF /* [email protected] */; };
188189
B10C9B611A7049EC00ECA2BF /* play_icon.png in Resources */ = {isa = PBXBuildFile; fileRef = B10C9B5D1A7049EC00ECA2BF /* play_icon.png */; };
@@ -516,6 +517,13 @@
516517
remoteGlobalIDString = A1FDCBF916DBC57D00868894;
517518
remoteInfo = speex;
518519
};
520+
ADCD2DD11C4E16DC0096B04D /* PBXContainerItemProxy */ = {
521+
isa = PBXContainerItemProxy;
522+
containerPortal = D221A080169C9E5E00537ABF /* Project object */;
523+
proxyType = 1;
524+
remoteGlobalIDString = D221A088169C9E5E00537ABF;
525+
remoteInfo = Signal;
526+
};
519527
B6AFCEBA19A93DA60098CFCB /* PBXContainerItemProxy */ = {
520528
isa = PBXContainerItemProxy;
521529
containerPortal = D221A080169C9E5E00537ABF /* Project object */;
@@ -829,6 +837,9 @@
829837
AD83FF3D1A73426500B5C81A /* audio_pause_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = audio_pause_button.png; sourceTree = "<group>"; };
830838
AD83FF3E1A73426500B5C81A /* [email protected] */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "[email protected]"; sourceTree = "<group>"; };
831839
AD83FF461A73428300B5C81A /* audio_play_button_blue.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = audio_play_button_blue.png; sourceTree = "<group>"; };
840+
ADCD2DCC1C4E16DC0096B04D /* SignalUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SignalUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
841+
ADCD2DCE1C4E16DC0096B04D /* SignalUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignalUITests.swift; sourceTree = "<group>"; };
842+
ADCD2DD01C4E16DC0096B04D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
832843
B10C9B5B1A7049EC00ECA2BF /* pause_icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = pause_icon.png; sourceTree = "<group>"; };
833844
B10C9B5C1A7049EC00ECA2BF /* [email protected] */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "[email protected]"; sourceTree = "<group>"; };
834845
B10C9B5D1A7049EC00ECA2BF /* play_icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = play_icon.png; sourceTree = "<group>"; };
@@ -1112,6 +1123,13 @@
11121123
/* End PBXFileReference section */
11131124

11141125
/* Begin PBXFrameworksBuildPhase section */
1126+
ADCD2DC91C4E16DC0096B04D /* Frameworks */ = {
1127+
isa = PBXFrameworksBuildPhase;
1128+
buildActionMask = 2147483647;
1129+
files = (
1130+
);
1131+
runOnlyForDeploymentPostprocessing = 0;
1132+
};
11151133
D221A086169C9E5E00537ABF /* Frameworks */ = {
11161134
isa = PBXFrameworksBuildPhase;
11171135
buildActionMask = 2147483647;
@@ -1823,6 +1841,15 @@
18231841
name = Pods;
18241842
sourceTree = "<group>";
18251843
};
1844+
ADCD2DCD1C4E16DC0096B04D /* SignalUITests */ = {
1845+
isa = PBXGroup;
1846+
children = (
1847+
ADCD2DCE1C4E16DC0096B04D /* SignalUITests.swift */,
1848+
ADCD2DD01C4E16DC0096B04D /* Info.plist */,
1849+
);
1850+
path = SignalUITests;
1851+
sourceTree = "<group>";
1852+
};
18261853
B60959791C2C0FA9004E8797 /* rating */ = {
18271854
isa = PBXGroup;
18281855
children = (
@@ -2147,6 +2174,7 @@
21472174
isa = PBXGroup;
21482175
children = (
21492176
D221A093169C9E5E00537ABF /* Signal */,
2177+
ADCD2DCD1C4E16DC0096B04D /* SignalUITests */,
21502178
D221A08C169C9E5E00537ABF /* Frameworks */,
21512179
D221A08A169C9E5E00537ABF /* Products */,
21522180
70B8009E190C529C0042E3F0 /* spandsp.xcodeproj */,
@@ -2160,6 +2188,7 @@
21602188
children = (
21612189
D221A089169C9E5E00537ABF /* Signal.app */,
21622190
D221A0AA169C9E5F00537ABF /* SignalTests.xctest */,
2191+
ADCD2DCC1C4E16DC0096B04D /* SignalUITests.xctest */,
21632192
);
21642193
name = Products;
21652194
sourceTree = "<group>";
@@ -2386,6 +2415,24 @@
23862415
/* End PBXGroup section */
23872416

23882417
/* Begin PBXNativeTarget section */
2418+
ADCD2DCB1C4E16DC0096B04D /* SignalUITests */ = {
2419+
isa = PBXNativeTarget;
2420+
buildConfigurationList = ADCD2DD51C4E16DC0096B04D /* Build configuration list for PBXNativeTarget "SignalUITests" */;
2421+
buildPhases = (
2422+
ADCD2DC81C4E16DC0096B04D /* Sources */,
2423+
ADCD2DC91C4E16DC0096B04D /* Frameworks */,
2424+
ADCD2DCA1C4E16DC0096B04D /* Resources */,
2425+
);
2426+
buildRules = (
2427+
);
2428+
dependencies = (
2429+
ADCD2DD21C4E16DC0096B04D /* PBXTargetDependency */,
2430+
);
2431+
name = SignalUITests;
2432+
productName = SignalUITests;
2433+
productReference = ADCD2DCC1C4E16DC0096B04D /* SignalUITests.xctest */;
2434+
productType = "com.apple.product-type.bundle.ui-testing";
2435+
};
23892436
D221A088169C9E5E00537ABF /* Signal */ = {
23902437
isa = PBXNativeTarget;
23912438
buildConfigurationList = D221A0BC169C9E5F00537ABF /* Build configuration list for PBXNativeTarget "Signal" */;
@@ -2435,11 +2482,15 @@
24352482
D221A080169C9E5E00537ABF /* Project object */ = {
24362483
isa = PBXProject;
24372484
attributes = {
2438-
LastSwiftUpdateCheck = 0720;
2485+
LastSwiftUpdateCheck = 0730;
24392486
LastTestingUpgradeCheck = 0600;
24402487
LastUpgradeCheck = 0720;
24412488
ORGANIZATIONNAME = "Open Whisper Systems";
24422489
TargetAttributes = {
2490+
ADCD2DCB1C4E16DC0096B04D = {
2491+
CreatedOnToolsVersion = 7.3;
2492+
TestTargetID = D221A088169C9E5E00537ABF;
2493+
};
24432494
D221A088169C9E5E00537ABF = {
24442495
DevelopmentTeam = U68MSDN6DR;
24452496
LastSwiftMigration = 0800;
@@ -2531,6 +2582,7 @@
25312582
targets = (
25322583
D221A088169C9E5E00537ABF /* Signal */,
25332584
D221A0A9169C9E5F00537ABF /* SignalTests */,
2585+
ADCD2DCB1C4E16DC0096B04D /* SignalUITests */,
25342586
);
25352587
};
25362588
/* End PBXProject section */
@@ -2553,6 +2605,13 @@
25532605
/* End PBXReferenceProxy section */
25542606

25552607
/* Begin PBXResourcesBuildPhase section */
2608+
ADCD2DCA1C4E16DC0096B04D /* Resources */ = {
2609+
isa = PBXResourcesBuildPhase;
2610+
buildActionMask = 2147483647;
2611+
files = (
2612+
);
2613+
runOnlyForDeploymentPostprocessing = 0;
2614+
};
25562615
D221A087169C9E5E00537ABF /* Resources */ = {
25572616
isa = PBXResourcesBuildPhase;
25582617
buildActionMask = 2147483647;
@@ -2711,6 +2770,14 @@
27112770
/* End PBXShellScriptBuildPhase section */
27122771

27132772
/* Begin PBXSourcesBuildPhase section */
2773+
ADCD2DC81C4E16DC0096B04D /* Sources */ = {
2774+
isa = PBXSourcesBuildPhase;
2775+
buildActionMask = 2147483647;
2776+
files = (
2777+
ADCD2DCF1C4E16DC0096B04D /* SignalUITests.swift in Sources */,
2778+
);
2779+
runOnlyForDeploymentPostprocessing = 0;
2780+
};
27142781
D221A085169C9E5E00537ABF /* Sources */ = {
27152782
isa = PBXSourcesBuildPhase;
27162783
buildActionMask = 2147483647;
@@ -3129,6 +3196,11 @@
31293196
name = speex;
31303197
targetProxy = 70B800AD190C54870042E3F0 /* PBXContainerItemProxy */;
31313198
};
3199+
ADCD2DD21C4E16DC0096B04D /* PBXTargetDependency */ = {
3200+
isa = PBXTargetDependency;
3201+
target = D221A088169C9E5E00537ABF /* Signal */;
3202+
targetProxy = ADCD2DD11C4E16DC0096B04D /* PBXContainerItemProxy */;
3203+
};
31323204
B6AFCEBB19A93DA60098CFCB /* PBXTargetDependency */ = {
31333205
isa = PBXTargetDependency;
31343206
target = D221A088169C9E5E00537ABF /* Signal */;
@@ -3183,6 +3255,77 @@
31833255
/* End PBXVariantGroup section */
31843256

31853257
/* Begin XCBuildConfiguration section */
3258+
ADCD2DD31C4E16DC0096B04D /* Debug */ = {
3259+
isa = XCBuildConfiguration;
3260+
buildSettings = {
3261+
CLANG_CXX_LIBRARY = "libc++";
3262+
CLANG_WARN_BOOL_CONVERSION = YES;
3263+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
3264+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
3265+
CLANG_WARN_UNREACHABLE_CODE = YES;
3266+
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
3267+
COPY_PHASE_STRIP = NO;
3268+
DEBUG_INFORMATION_FORMAT = dwarf;
3269+
ENABLE_STRICT_OBJC_MSGSEND = YES;
3270+
GCC_C_LANGUAGE_STANDARD = gnu99;
3271+
GCC_DYNAMIC_NO_PIC = NO;
3272+
GCC_NO_COMMON_BLOCKS = YES;
3273+
GCC_OPTIMIZATION_LEVEL = 0;
3274+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
3275+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
3276+
INFOPLIST_FILE = SignalUITests/Info.plist;
3277+
IPHONEOS_DEPLOYMENT_TARGET = 9.3;
3278+
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
3279+
MTL_ENABLE_DEBUG_INFO = YES;
3280+
PRODUCT_BUNDLE_IDENTIFIER = org.whispersystems.signal.SignalUITests;
3281+
PRODUCT_NAME = "$(TARGET_NAME)";
3282+
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
3283+
TEST_TARGET_NAME = Signal;
3284+
};
3285+
name = Debug;
3286+
};
3287+
ADCD2DD41C4E16DC0096B04D /* App Store Release */ = {
3288+
isa = XCBuildConfiguration;
3289+
buildSettings = {
3290+
ALWAYS_SEARCH_USER_PATHS = NO;
3291+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
3292+
CLANG_CXX_LIBRARY = "libc++";
3293+
CLANG_ENABLE_MODULES = YES;
3294+
CLANG_ENABLE_OBJC_ARC = YES;
3295+
CLANG_WARN_BOOL_CONVERSION = YES;
3296+
CLANG_WARN_CONSTANT_CONVERSION = YES;
3297+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
3298+
CLANG_WARN_EMPTY_BODY = YES;
3299+
CLANG_WARN_ENUM_CONVERSION = YES;
3300+
CLANG_WARN_INT_CONVERSION = YES;
3301+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
3302+
CLANG_WARN_UNREACHABLE_CODE = YES;
3303+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
3304+
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
3305+
COPY_PHASE_STRIP = NO;
3306+
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
3307+
ENABLE_NS_ASSERTIONS = NO;
3308+
ENABLE_STRICT_OBJC_MSGSEND = YES;
3309+
GCC_C_LANGUAGE_STANDARD = gnu99;
3310+
GCC_NO_COMMON_BLOCKS = YES;
3311+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
3312+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
3313+
GCC_WARN_UNDECLARED_SELECTOR = YES;
3314+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
3315+
GCC_WARN_UNUSED_FUNCTION = YES;
3316+
GCC_WARN_UNUSED_VARIABLE = YES;
3317+
INFOPLIST_FILE = SignalUITests/Info.plist;
3318+
IPHONEOS_DEPLOYMENT_TARGET = 9.3;
3319+
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
3320+
MTL_ENABLE_DEBUG_INFO = NO;
3321+
PRODUCT_BUNDLE_IDENTIFIER = org.whispersystems.signal.SignalUITests;
3322+
PRODUCT_NAME = "$(TARGET_NAME)";
3323+
SDKROOT = iphoneos;
3324+
TEST_TARGET_NAME = Signal;
3325+
VALIDATE_PRODUCT = YES;
3326+
};
3327+
name = "App Store Release";
3328+
};
31863329
D221A0BA169C9E5F00537ABF /* Debug */ = {
31873330
isa = XCBuildConfiguration;
31883331
buildSettings = {
@@ -3524,6 +3667,15 @@
35243667
/* End XCBuildConfiguration section */
35253668

35263669
/* Begin XCConfigurationList section */
3670+
ADCD2DD51C4E16DC0096B04D /* Build configuration list for PBXNativeTarget "SignalUITests" */ = {
3671+
isa = XCConfigurationList;
3672+
buildConfigurations = (
3673+
ADCD2DD31C4E16DC0096B04D /* Debug */,
3674+
ADCD2DD41C4E16DC0096B04D /* App Store Release */,
3675+
);
3676+
defaultConfigurationIsVisible = 0;
3677+
defaultConfigurationName = "App Store Release";
3678+
};
35273679
D221A083169C9E5E00537ABF /* Build configuration list for PBXProject "Signal" */ = {
35283680
isa = XCConfigurationList;
35293681
buildConfigurations = (

Signal.xcodeproj/xcshareddata/xcschemes/Signal.xcscheme

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111
buildForRunning = "YES"
1212
buildForProfiling = "YES"
1313
buildForArchiving = "YES"
14-
buildForAnalyzing = "YES">
14+
buildForAnalyzing = "YES"
15+
hideIssues = "NO">
1516
<BuildableReference
1617
BuildableIdentifier = "primary"
1718
BlueprintIdentifier = "D221A088169C9E5E00537ABF"
@@ -52,6 +53,16 @@
5253
ReferencedContainer = "container:Signal.xcodeproj">
5354
</BuildableReference>
5455
</TestableReference>
56+
<TestableReference
57+
skipped = "NO">
58+
<BuildableReference
59+
BuildableIdentifier = "primary"
60+
BlueprintIdentifier = "ADCD2DCB1C4E16DC0096B04D"
61+
BuildableName = "SignalUITests.xctest"
62+
BlueprintName = "SignalUITests"
63+
ReferencedContainer = "container:Signal.xcodeproj">
64+
</BuildableReference>
65+
</TestableReference>
5566
</Testables>
5667
<MacroExpansion>
5768
<BuildableReference

SignalUITests/Info.plist

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>CFBundleDevelopmentRegion</key>
6+
<string>en</string>
7+
<key>CFBundleExecutable</key>
8+
<string>$(EXECUTABLE_NAME)</string>
9+
<key>CFBundleIdentifier</key>
10+
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
11+
<key>CFBundleInfoDictionaryVersion</key>
12+
<string>6.0</string>
13+
<key>CFBundleName</key>
14+
<string>$(PRODUCT_NAME)</string>
15+
<key>CFBundlePackageType</key>
16+
<string>BNDL</string>
17+
<key>CFBundleShortVersionString</key>
18+
<string>1.0</string>
19+
<key>CFBundleSignature</key>
20+
<string>????</string>
21+
<key>CFBundleVersion</key>
22+
<string>1</string>
23+
</dict>
24+
</plist>

0 commit comments

Comments
 (0)