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 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
- const BOOL isPossibleDeadlock = ([description rangeOfString:@"Failed to get refreshed snapshot"].location != NSNotFound);
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,6 +1,6 @@
1
1
  {
2
2
  "name": "appium-webdriveragent",
3
- "version": "4.12.1",
3
+ "version": "4.12.2",
4
4
  "description": "Package bundling WebDriverAgent",
5
5
  "main": "./build/index.js",
6
6
  "scripts": {
@@ -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