appium-webdriveragent 4.12.1 → 4.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/WebDriverAgent.xcodeproj/project.pbxproj +12 -12
- package/WebDriverAgentLib/Categories/XCTIssue+FBPatcher.h +18 -0
- package/WebDriverAgentLib/Categories/XCTIssue+FBPatcher.m +33 -0
- package/WebDriverAgentLib/Utilities/FBFailureProofTestCase.m +21 -17
- package/WebDriverAgentLib/WebDriverAgentLib.h +1 -0
- package/package.json +1 -1
- package/WebDriverAgentLib/Utilities/FBXCTestCaseImplementationFailureHoldingProxy.h +0 -29
- package/WebDriverAgentLib/Utilities/FBXCTestCaseImplementationFailureHoldingProxy.m +0 -38
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
## [4.12.2](https://github.com/appium/WebDriverAgent/compare/v4.12.1...v4.12.2) (2023-02-22)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Miscellaneous Chores
|
|
5
|
+
|
|
6
|
+
* Make sure the test is never going to be unexpectedly interrupted ([#664](https://github.com/appium/WebDriverAgent/issues/664)) ([cafe47e](https://github.com/appium/WebDriverAgent/commit/cafe47e9bea9649a0e9b4a2b96ca44434bbac411))
|
|
7
|
+
|
|
1
8
|
## [4.12.1](https://github.com/appium/WebDriverAgent/compare/v4.12.0...v4.12.1) (2023-02-20)
|
|
2
9
|
|
|
3
10
|
|
|
@@ -74,7 +74,6 @@
|
|
|
74
74
|
641EE5F52240C5CA00173FCB /* XCUIElement+FBUID.m in Sources */ = {isa = PBXBuildFile; fileRef = 71B49EC61ED1A58100D51AD6 /* XCUIElement+FBUID.m */; };
|
|
75
75
|
641EE5F62240C5CA00173FCB /* FBRouteRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = EE9AB7881CAEDF0C008C271F /* FBRouteRequest.m */; };
|
|
76
76
|
641EE5F72240C5CA00173FCB /* FBResponseJSONPayload.m in Sources */ = {isa = PBXBuildFile; fileRef = EE9AB7811CAEDF0C008C271F /* FBResponseJSONPayload.m */; };
|
|
77
|
-
641EE5F82240C5CA00173FCB /* FBXCTestCaseImplementationFailureHoldingProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = EE7E271B1D06C69F001BEC7B /* FBXCTestCaseImplementationFailureHoldingProxy.m */; };
|
|
78
77
|
641EE5F92240C5CA00173FCB /* FBMjpegServer.m in Sources */ = {isa = PBXBuildFile; fileRef = 7155D702211DCEF400166C20 /* FBMjpegServer.m */; };
|
|
79
78
|
641EE5FA2240C5CA00173FCB /* XCUIDevice+FBHealthCheck.m in Sources */ = {isa = PBXBuildFile; fileRef = EEDFE1201D9C06F800E6FFE5 /* XCUIDevice+FBHealthCheck.m */; };
|
|
80
79
|
641EE5FD2240C5CA00173FCB /* FBBaseActionsSynthesizer.m in Sources */ = {isa = PBXBuildFile; fileRef = 7140974D1FAE20EE008FB2C5 /* FBBaseActionsSynthesizer.m */; };
|
|
@@ -275,7 +274,6 @@
|
|
|
275
274
|
641EE6D72240C5CA00173FCB /* XCTestObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = EE35ACE21E3B77D600A02D78 /* XCTestObserver.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
276
275
|
641EE6D82240C5CA00173FCB /* XCUIElement.h in Headers */ = {isa = PBXBuildFile; fileRef = EE35ACFE1E3B77D600A02D78 /* XCUIElement.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
277
276
|
641EE6D92240C5CA00173FCB /* XCKeyboardInputSolver.h in Headers */ = {isa = PBXBuildFile; fileRef = EE35ACBE1E3B77D600A02D78 /* XCKeyboardInputSolver.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
278
|
-
641EE6DA2240C5CA00173FCB /* FBXCTestCaseImplementationFailureHoldingProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = EE7E271A1D06C69F001BEC7B /* FBXCTestCaseImplementationFailureHoldingProxy.h */; };
|
|
279
277
|
641EE6DB2240C5CA00173FCB /* FBPasteboard.h in Headers */ = {isa = PBXBuildFile; fileRef = 71930C4020662E1F00D3AFEC /* FBPasteboard.h */; };
|
|
280
278
|
641EE6DC2240C5CA00173FCB /* FBAppiumActionsSynthesizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 714097451FAE1B32008FB2C5 /* FBAppiumActionsSynthesizer.h */; };
|
|
281
279
|
641EE6DD2240C5CA00173FCB /* FBDebugLogDelegateDecorator.h in Headers */ = {isa = PBXBuildFile; fileRef = EE7E27181D06C69F001BEC7B /* FBDebugLogDelegateDecorator.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
@@ -449,6 +447,10 @@
|
|
|
449
447
|
71A224E51DE2F56600844D55 /* NSPredicate+FBFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = 71A224E31DE2F56600844D55 /* NSPredicate+FBFormat.h */; };
|
|
450
448
|
71A224E61DE2F56600844D55 /* NSPredicate+FBFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = 71A224E41DE2F56600844D55 /* NSPredicate+FBFormat.m */; };
|
|
451
449
|
71A224E81DE326C500844D55 /* NSPredicateFBFormatTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 71A224E71DE326C500844D55 /* NSPredicateFBFormatTests.m */; };
|
|
450
|
+
71A5C67329A4F39600421C37 /* XCTIssue+FBPatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 71A5C67129A4F39600421C37 /* XCTIssue+FBPatcher.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
451
|
+
71A5C67429A4F39600421C37 /* XCTIssue+FBPatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 71A5C67129A4F39600421C37 /* XCTIssue+FBPatcher.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
452
|
+
71A5C67529A4F39600421C37 /* XCTIssue+FBPatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 71A5C67229A4F39600421C37 /* XCTIssue+FBPatcher.m */; };
|
|
453
|
+
71A5C67629A4F39600421C37 /* XCTIssue+FBPatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 71A5C67229A4F39600421C37 /* XCTIssue+FBPatcher.m */; };
|
|
452
454
|
71A7EAF51E20516B001DA4F2 /* XCUIElement+FBClassChain.h in Headers */ = {isa = PBXBuildFile; fileRef = 71A7EAF31E20516B001DA4F2 /* XCUIElement+FBClassChain.h */; };
|
|
453
455
|
71A7EAF61E20516B001DA4F2 /* XCUIElement+FBClassChain.m in Sources */ = {isa = PBXBuildFile; fileRef = 71A7EAF41E20516B001DA4F2 /* XCUIElement+FBClassChain.m */; };
|
|
454
456
|
71A7EAF91E224648001DA4F2 /* FBClassChainQueryParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 71A7EAF71E224648001DA4F2 /* FBClassChainQueryParser.h */; };
|
|
@@ -765,8 +767,6 @@
|
|
|
765
767
|
EE6B64FE1D0F86EF00E85F5D /* XCTestPrivateSymbols.m in Sources */ = {isa = PBXBuildFile; fileRef = EE6B64FC1D0F86EF00E85F5D /* XCTestPrivateSymbols.m */; };
|
|
766
768
|
EE7E271C1D06C69F001BEC7B /* FBDebugLogDelegateDecorator.h in Headers */ = {isa = PBXBuildFile; fileRef = EE7E27181D06C69F001BEC7B /* FBDebugLogDelegateDecorator.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
767
769
|
EE7E271D1D06C69F001BEC7B /* FBDebugLogDelegateDecorator.m in Sources */ = {isa = PBXBuildFile; fileRef = EE7E27191D06C69F001BEC7B /* FBDebugLogDelegateDecorator.m */; };
|
|
768
|
-
EE7E271E1D06C69F001BEC7B /* FBXCTestCaseImplementationFailureHoldingProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = EE7E271A1D06C69F001BEC7B /* FBXCTestCaseImplementationFailureHoldingProxy.h */; };
|
|
769
|
-
EE7E271F1D06C69F001BEC7B /* FBXCTestCaseImplementationFailureHoldingProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = EE7E271B1D06C69F001BEC7B /* FBXCTestCaseImplementationFailureHoldingProxy.m */; };
|
|
770
770
|
EE8BA97A1DCCED9A00A9DEF8 /* FBNavigationController.m in Sources */ = {isa = PBXBuildFile; fileRef = EE8BA9791DCCED9A00A9DEF8 /* FBNavigationController.m */; };
|
|
771
771
|
EE8DDD7E20C5733C004D4925 /* XCUIElement+FBForceTouch.m in Sources */ = {isa = PBXBuildFile; fileRef = EE8DDD7C20C5733B004D4925 /* XCUIElement+FBForceTouch.m */; };
|
|
772
772
|
EE8DDD7F20C5733C004D4925 /* XCUIElement+FBForceTouch.h in Headers */ = {isa = PBXBuildFile; fileRef = EE8DDD7D20C5733C004D4925 /* XCUIElement+FBForceTouch.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
@@ -1036,6 +1036,8 @@
|
|
|
1036
1036
|
71A224E31DE2F56600844D55 /* NSPredicate+FBFormat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSPredicate+FBFormat.h"; path = "../Utilities/NSPredicate+FBFormat.h"; sourceTree = "<group>"; };
|
|
1037
1037
|
71A224E41DE2F56600844D55 /* NSPredicate+FBFormat.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSPredicate+FBFormat.m"; path = "../Utilities/NSPredicate+FBFormat.m"; sourceTree = "<group>"; };
|
|
1038
1038
|
71A224E71DE326C500844D55 /* NSPredicateFBFormatTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSPredicateFBFormatTests.m; sourceTree = "<group>"; };
|
|
1039
|
+
71A5C67129A4F39600421C37 /* XCTIssue+FBPatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "XCTIssue+FBPatcher.h"; sourceTree = "<group>"; };
|
|
1040
|
+
71A5C67229A4F39600421C37 /* XCTIssue+FBPatcher.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "XCTIssue+FBPatcher.m"; sourceTree = "<group>"; };
|
|
1039
1041
|
71A7EAF31E20516B001DA4F2 /* XCUIElement+FBClassChain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "XCUIElement+FBClassChain.h"; sourceTree = "<group>"; };
|
|
1040
1042
|
71A7EAF41E20516B001DA4F2 /* XCUIElement+FBClassChain.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "XCUIElement+FBClassChain.m"; sourceTree = "<group>"; };
|
|
1041
1043
|
71A7EAF71E224648001DA4F2 /* FBClassChainQueryParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBClassChainQueryParser.h; sourceTree = "<group>"; };
|
|
@@ -1265,8 +1267,6 @@
|
|
|
1265
1267
|
EE6B64FC1D0F86EF00E85F5D /* XCTestPrivateSymbols.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XCTestPrivateSymbols.m; sourceTree = "<group>"; };
|
|
1266
1268
|
EE7E27181D06C69F001BEC7B /* FBDebugLogDelegateDecorator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBDebugLogDelegateDecorator.h; sourceTree = "<group>"; };
|
|
1267
1269
|
EE7E27191D06C69F001BEC7B /* FBDebugLogDelegateDecorator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FBDebugLogDelegateDecorator.m; sourceTree = "<group>"; };
|
|
1268
|
-
EE7E271A1D06C69F001BEC7B /* FBXCTestCaseImplementationFailureHoldingProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBXCTestCaseImplementationFailureHoldingProxy.h; sourceTree = "<group>"; };
|
|
1269
|
-
EE7E271B1D06C69F001BEC7B /* FBXCTestCaseImplementationFailureHoldingProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FBXCTestCaseImplementationFailureHoldingProxy.m; sourceTree = "<group>"; };
|
|
1270
1270
|
EE836C021C0F118600D87246 /* UnitTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = UnitTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
1271
1271
|
EE8BA9781DCCED9A00A9DEF8 /* FBNavigationController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBNavigationController.h; sourceTree = "<group>"; };
|
|
1272
1272
|
EE8BA9791DCCED9A00A9DEF8 /* FBNavigationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FBNavigationController.m; sourceTree = "<group>"; };
|
|
@@ -1727,6 +1727,8 @@
|
|
|
1727
1727
|
716E0BCD1E917E810087A825 /* NSString+FBXMLSafeString.m */,
|
|
1728
1728
|
714E14B629805CAE00375DD7 /* XCAXClient_iOS+FBSnapshotReqParams.h */,
|
|
1729
1729
|
714E14B729805CAE00375DD7 /* XCAXClient_iOS+FBSnapshotReqParams.m */,
|
|
1730
|
+
71A5C67129A4F39600421C37 /* XCTIssue+FBPatcher.h */,
|
|
1731
|
+
71A5C67229A4F39600421C37 /* XCTIssue+FBPatcher.m */,
|
|
1730
1732
|
AD6C269A1CF2494200F8B5FF /* XCUIApplication+FBHelpers.h */,
|
|
1731
1733
|
AD6C269B1CF2494200F8B5FF /* XCUIApplication+FBHelpers.m */,
|
|
1732
1734
|
71C8E54F25399A6B008572C1 /* XCUIApplication+FBQuiescence.h */,
|
|
@@ -1940,8 +1942,6 @@
|
|
|
1940
1942
|
7157B290221DADD2001C348C /* FBXCAXClientProxy.m */,
|
|
1941
1943
|
EE5A24401F136C8D0078B1D9 /* FBXCodeCompatibility.h */,
|
|
1942
1944
|
EE5A24411F136C8D0078B1D9 /* FBXCodeCompatibility.m */,
|
|
1943
|
-
EE7E271A1D06C69F001BEC7B /* FBXCTestCaseImplementationFailureHoldingProxy.h */,
|
|
1944
|
-
EE7E271B1D06C69F001BEC7B /* FBXCTestCaseImplementationFailureHoldingProxy.m */,
|
|
1945
1945
|
EE35AD791E3B80C000A02D78 /* FBXCTestDaemonsProxy.h */,
|
|
1946
1946
|
EE35AD7A1E3B80C000A02D78 /* FBXCTestDaemonsProxy.m */,
|
|
1947
1947
|
714D88CA2733FB970074A925 /* FBXMLGenerationOptions.h */,
|
|
@@ -2349,6 +2349,7 @@
|
|
|
2349
2349
|
641EE67B2240C5CA00173FCB /* XCUIRecorderUtilities.h in Headers */,
|
|
2350
2350
|
6496A5DA230D6EB30087F8CB /* AXSettings.h in Headers */,
|
|
2351
2351
|
641EE67C2240C5CA00173FCB /* XCTestCaseRun.h in Headers */,
|
|
2352
|
+
71A5C67429A4F39600421C37 /* XCTIssue+FBPatcher.h in Headers */,
|
|
2352
2353
|
641EE67D2240C5CA00173FCB /* XCTestConfiguration.h in Headers */,
|
|
2353
2354
|
641EE67E2240C5CA00173FCB /* _XCTDarwinNotificationExpectationImplementation.h in Headers */,
|
|
2354
2355
|
641EE67F2240C5CA00173FCB /* XCTestExpectation.h in Headers */,
|
|
@@ -2456,7 +2457,6 @@
|
|
|
2456
2457
|
641EE6D72240C5CA00173FCB /* XCTestObserver.h in Headers */,
|
|
2457
2458
|
641EE6D82240C5CA00173FCB /* XCUIElement.h in Headers */,
|
|
2458
2459
|
641EE6D92240C5CA00173FCB /* XCKeyboardInputSolver.h in Headers */,
|
|
2459
|
-
641EE6DA2240C5CA00173FCB /* FBXCTestCaseImplementationFailureHoldingProxy.h in Headers */,
|
|
2460
2460
|
718226CB2587443700661B83 /* GCDAsyncUdpSocket.h in Headers */,
|
|
2461
2461
|
641EE6DB2240C5CA00173FCB /* FBPasteboard.h in Headers */,
|
|
2462
2462
|
711CD03525ED1106001C01D2 /* XCUIScreenDataSource-Protocol.h in Headers */,
|
|
@@ -2619,6 +2619,7 @@
|
|
|
2619
2619
|
E444DC83249131B10060D7EB /* DDNumber.h in Headers */,
|
|
2620
2620
|
EE35AD271E3B77D600A02D78 /* XCApplicationMonitor.h in Headers */,
|
|
2621
2621
|
EE8DDD7F20C5733C004D4925 /* XCUIElement+FBForceTouch.h in Headers */,
|
|
2622
|
+
71A5C67329A4F39600421C37 /* XCTIssue+FBPatcher.h in Headers */,
|
|
2622
2623
|
EE158AEA1CBD456F00A3E3F0 /* FBRuntimeUtils.h in Headers */,
|
|
2623
2624
|
7136A4791E8918E60024FC3D /* XCUIElement+FBPickerWheel.h in Headers */,
|
|
2624
2625
|
E444DCB324913C220060D7EB /* RoutingHTTPServer.h in Headers */,
|
|
@@ -2696,7 +2697,6 @@
|
|
|
2696
2697
|
EE35AD531E3B77D600A02D78 /* XCTestObserver.h in Headers */,
|
|
2697
2698
|
EE35AD6F1E3B77D600A02D78 /* XCUIElement.h in Headers */,
|
|
2698
2699
|
EE35AD2F1E3B77D600A02D78 /* XCKeyboardInputSolver.h in Headers */,
|
|
2699
|
-
EE7E271E1D06C69F001BEC7B /* FBXCTestCaseImplementationFailureHoldingProxy.h in Headers */,
|
|
2700
2700
|
71930C4220662E1F00D3AFEC /* FBPasteboard.h in Headers */,
|
|
2701
2701
|
714097471FAE1B32008FB2C5 /* FBAppiumActionsSynthesizer.h in Headers */,
|
|
2702
2702
|
EE7E271C1D06C69F001BEC7B /* FBDebugLogDelegateDecorator.h in Headers */,
|
|
@@ -3124,7 +3124,6 @@
|
|
|
3124
3124
|
641EE5F62240C5CA00173FCB /* FBRouteRequest.m in Sources */,
|
|
3125
3125
|
641EE5F72240C5CA00173FCB /* FBResponseJSONPayload.m in Sources */,
|
|
3126
3126
|
718226D12587443700661B83 /* GCDAsyncUdpSocket.m in Sources */,
|
|
3127
|
-
641EE5F82240C5CA00173FCB /* FBXCTestCaseImplementationFailureHoldingProxy.m in Sources */,
|
|
3128
3127
|
641EE5F92240C5CA00173FCB /* FBMjpegServer.m in Sources */,
|
|
3129
3128
|
641EE5FA2240C5CA00173FCB /* XCUIDevice+FBHealthCheck.m in Sources */,
|
|
3130
3129
|
641EE5FD2240C5CA00173FCB /* FBBaseActionsSynthesizer.m in Sources */,
|
|
@@ -3154,6 +3153,7 @@
|
|
|
3154
3153
|
641EE6102240C5CA00173FCB /* FBImageUtils.m in Sources */,
|
|
3155
3154
|
641EE6112240C5CA00173FCB /* FBSession.m in Sources */,
|
|
3156
3155
|
641EE6122240C5CA00173FCB /* FBFindElementCommands.m in Sources */,
|
|
3156
|
+
71A5C67629A4F39600421C37 /* XCTIssue+FBPatcher.m in Sources */,
|
|
3157
3157
|
641EE6132240C5CA00173FCB /* FBDebugLogDelegateDecorator.m in Sources */,
|
|
3158
3158
|
641EE6142240C5CA00173FCB /* FBAlertViewCommands.m in Sources */,
|
|
3159
3159
|
71414EDB2670A1EE003A8C5D /* LRUCacheNode.m in Sources */,
|
|
@@ -3201,6 +3201,7 @@
|
|
|
3201
3201
|
7136A47A1E8918E60024FC3D /* XCUIElement+FBPickerWheel.m in Sources */,
|
|
3202
3202
|
E444DC84249131B10060D7EB /* DDRange.m in Sources */,
|
|
3203
3203
|
6385F4A7220A40760095BBDB /* XCUIApplicationProcessDelay.m in Sources */,
|
|
3204
|
+
71A5C67529A4F39600421C37 /* XCTIssue+FBPatcher.m in Sources */,
|
|
3204
3205
|
711084451DA3AA7500F913D6 /* FBXPath.m in Sources */,
|
|
3205
3206
|
719CD8FD2126C88B00C7D0C2 /* XCUIApplication+FBAlert.m in Sources */,
|
|
3206
3207
|
13DE7A45287C2A8D003243C6 /* FBXCAccessibilityElement.m in Sources */,
|
|
@@ -3241,7 +3242,6 @@
|
|
|
3241
3242
|
EE158AE21CBD456F00A3E3F0 /* FBRouteRequest.m in Sources */,
|
|
3242
3243
|
EE158ADB1CBD456F00A3E3F0 /* FBResponseJSONPayload.m in Sources */,
|
|
3243
3244
|
714EAA0F2673FDFE005C5B47 /* FBCapabilities.m in Sources */,
|
|
3244
|
-
EE7E271F1D06C69F001BEC7B /* FBXCTestCaseImplementationFailureHoldingProxy.m in Sources */,
|
|
3245
3245
|
7155D704211DCEF400166C20 /* FBMjpegServer.m in Sources */,
|
|
3246
3246
|
EEDFE1221D9C06F800E6FFE5 /* XCUIDevice+FBHealthCheck.m in Sources */,
|
|
3247
3247
|
714D88CE2733FB970074A925 /* FBXMLGenerationOptions.m in Sources */,
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2015-present, Facebook, Inc.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the BSD-style license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree. An additional grant
|
|
7
|
+
* of patent rights can be found in the PATENTS file in the same directory.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#import <XCTest/XCTest.h>
|
|
11
|
+
|
|
12
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
13
|
+
|
|
14
|
+
@interface XCTIssue (AMPatcher)
|
|
15
|
+
|
|
16
|
+
@end
|
|
17
|
+
|
|
18
|
+
NS_ASSUME_NONNULL_END
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2015-present, Facebook, Inc.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the BSD-style license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree. An additional grant
|
|
7
|
+
* of patent rights can be found in the PATENTS file in the same directory.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#import "XCTIssue+FBPatcher.h"
|
|
11
|
+
|
|
12
|
+
#import <objc/runtime.h>
|
|
13
|
+
|
|
14
|
+
static _Bool swizzledShouldInterruptTest(id self, SEL _cmd)
|
|
15
|
+
{
|
|
16
|
+
return NO;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@implementation XCTIssue (AMPatcher)
|
|
20
|
+
|
|
21
|
+
#pragma clang diagnostic push
|
|
22
|
+
#pragma clang diagnostic ignored "-Wobjc-load-method"
|
|
23
|
+
+ (void)load
|
|
24
|
+
{
|
|
25
|
+
SEL originalShouldInterruptTest = NSSelectorFromString(@"shouldInterruptTest");
|
|
26
|
+
if (nil == originalShouldInterruptTest) return;
|
|
27
|
+
Method originalShouldInterruptTestMethod = class_getInstanceMethod(self.class, originalShouldInterruptTest);
|
|
28
|
+
if (nil == originalShouldInterruptTestMethod) return;
|
|
29
|
+
method_setImplementation(originalShouldInterruptTestMethod, (IMP)swizzledShouldInterruptTest);
|
|
30
|
+
}
|
|
31
|
+
#pragma clang diagnostic pop
|
|
32
|
+
|
|
33
|
+
@end
|
|
@@ -9,13 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
#import "FBFailureProofTestCase.h"
|
|
11
11
|
|
|
12
|
-
#import "FBExceptions.h"
|
|
13
12
|
#import "FBLogger.h"
|
|
14
|
-
#import "FBXCTestCaseImplementationFailureHoldingProxy.h"
|
|
15
|
-
|
|
16
|
-
@interface FBFailureProofTestCase ()
|
|
17
|
-
@property (nonatomic, assign) BOOL didRegisterAXTestFailure;
|
|
18
|
-
@end
|
|
19
13
|
|
|
20
14
|
@implementation FBFailureProofTestCase
|
|
21
15
|
|
|
@@ -28,6 +22,26 @@
|
|
|
28
22
|
self.shouldHaltWhenReceivesControl = NO;
|
|
29
23
|
}
|
|
30
24
|
|
|
25
|
+
- (void)_recordIssue:(XCTIssue *)issue
|
|
26
|
+
{
|
|
27
|
+
NSString *description = [NSString stringWithFormat:@"%@ (%@)", issue.compactDescription, issue.associatedError.description];
|
|
28
|
+
[FBLogger logFmt:@"Issue type: %ld", issue.type];
|
|
29
|
+
[self _enqueueFailureWithDescription:description
|
|
30
|
+
inFile:issue.sourceCodeContext.location.fileURL.path
|
|
31
|
+
atLine:issue.sourceCodeContext.location.lineNumber
|
|
32
|
+
// 5 == XCTIssueTypeUnmatchedExpectedFailure
|
|
33
|
+
expected:issue.type == 5];
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
- (void)_recordIssue:(XCTIssue *)issue forCaughtError:(id)error
|
|
37
|
+
{
|
|
38
|
+
[self _recordIssue:issue];
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
- (void)recordIssue:(XCTIssue *)issue
|
|
42
|
+
{
|
|
43
|
+
[self _recordIssue:issue];
|
|
44
|
+
}
|
|
31
45
|
|
|
32
46
|
/**
|
|
33
47
|
Override 'recordFailureWithDescription' to not stop by failures.
|
|
@@ -49,17 +63,7 @@
|
|
|
49
63
|
expected:(BOOL)expected
|
|
50
64
|
{
|
|
51
65
|
[FBLogger logFmt:@"Enqueue Failure: %@ %@ %lu %d", description, filePath, (unsigned long)lineNumber, expected];
|
|
52
|
-
|
|
53
|
-
if (!isPossibleDeadlock) {
|
|
54
|
-
self.didRegisterAXTestFailure = YES;
|
|
55
|
-
}
|
|
56
|
-
else if (self.didRegisterAXTestFailure) {
|
|
57
|
-
self.didRegisterAXTestFailure = NO; // Reseting to NO to enable future deadlock detection
|
|
58
|
-
[[NSException exceptionWithName:FBApplicationDeadlockDetectedException
|
|
59
|
-
reason:@"Can't communicate with deadlocked application"
|
|
60
|
-
userInfo:nil]
|
|
61
|
-
raise];
|
|
62
|
-
}
|
|
66
|
+
// TODO: Figure out which error types we want to escalate
|
|
63
67
|
}
|
|
64
68
|
|
|
65
69
|
@end
|
|
@@ -50,3 +50,4 @@ FOUNDATION_EXPORT const unsigned char WebDriverAgentLib_VersionString[];
|
|
|
50
50
|
#import <WebDriverAgentLib/XCUIElement+FBForceTouch.h>
|
|
51
51
|
#import <WebDriverAgentLib/XCUIElement+FBUtilities.h>
|
|
52
52
|
#import <WebDriverAgentLib/XCUIElement+FBWebDriverAttributes.h>
|
|
53
|
+
#import <WebDriverAgentLib/XCTIssue+FBPatcher.h>
|
package/package.json
CHANGED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) 2015-present, Facebook, Inc.
|
|
3
|
-
* All rights reserved.
|
|
4
|
-
*
|
|
5
|
-
* This source code is licensed under the BSD-style license found in the
|
|
6
|
-
* LICENSE file in the root directory of this source tree. An additional grant
|
|
7
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
#import <Foundation/Foundation.h>
|
|
11
|
-
|
|
12
|
-
@class _XCTestCaseImplementation;
|
|
13
|
-
|
|
14
|
-
NS_ASSUME_NONNULL_BEGIN
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
Class that can be used to proxy existing _XCTestCaseImplementation and
|
|
18
|
-
prevent currently running test from being terminated on any XCTest failure
|
|
19
|
-
*/
|
|
20
|
-
@interface FBXCTestCaseImplementationFailureHoldingProxy : NSProxy
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
Constructor for given existing _XCTestCaseImplementation instance
|
|
24
|
-
*/
|
|
25
|
-
+ (instancetype)proxyWithXCTestCaseImplementation:(_XCTestCaseImplementation *)internalImplementation;
|
|
26
|
-
|
|
27
|
-
@end
|
|
28
|
-
|
|
29
|
-
NS_ASSUME_NONNULL_END
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) 2015-present, Facebook, Inc.
|
|
3
|
-
* All rights reserved.
|
|
4
|
-
*
|
|
5
|
-
* This source code is licensed under the BSD-style license found in the
|
|
6
|
-
* LICENSE file in the root directory of this source tree. An additional grant
|
|
7
|
-
* of patent rights can be found in the PATENTS file in the same directory.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
#import "FBXCTestCaseImplementationFailureHoldingProxy.h"
|
|
11
|
-
|
|
12
|
-
#import <WebDriverAgentLib/_XCTestCaseImplementation.h>
|
|
13
|
-
|
|
14
|
-
@interface FBXCTestCaseImplementationFailureHoldingProxy ()
|
|
15
|
-
@property (nonatomic, strong) _XCTestCaseImplementation *internalImplementation;
|
|
16
|
-
@end
|
|
17
|
-
|
|
18
|
-
@implementation FBXCTestCaseImplementationFailureHoldingProxy
|
|
19
|
-
|
|
20
|
-
+ (instancetype)proxyWithXCTestCaseImplementation:(_XCTestCaseImplementation *)internalImplementation
|
|
21
|
-
{
|
|
22
|
-
FBXCTestCaseImplementationFailureHoldingProxy *proxy = [super alloc];
|
|
23
|
-
proxy.internalImplementation = internalImplementation;
|
|
24
|
-
return proxy;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
- (id)forwardingTargetForSelector:(SEL)aSelector
|
|
28
|
-
{
|
|
29
|
-
return self.internalImplementation;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
// This will prevent test from quiting on app crash or any other test failure
|
|
33
|
-
- (BOOL)shouldHaltWhenReceivesControl
|
|
34
|
-
{
|
|
35
|
-
return NO;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
@end
|