Bug 149653 - [iOS] Allow tests to generate user gestures for UI testing
Summary: [iOS] Allow tests to generate user gestures for UI testing
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Simon Fraser (smfr)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-09-29 18:54 PDT by Simon Fraser (smfr)
Modified: 2015-09-30 14:49 PDT (History)
8 users (show)

See Also:


Attachments
Patch (53.88 KB, patch)
2015-09-29 19:03 PDT, Simon Fraser (smfr)
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ews103 for mac-mavericks (609.23 KB, application/zip)
2015-09-29 19:38 PDT, Build Bot
no flags Details
Archive of layout-test-results from ews106 for mac-mavericks-wk2 (661.68 KB, application/zip)
2015-09-29 19:43 PDT, Build Bot
no flags Details
Patch (55.14 KB, patch)
2015-09-29 21:07 PDT, Simon Fraser (smfr)
no flags Details | Formatted Diff | Diff
Patch (55.20 KB, patch)
2015-09-30 09:06 PDT, Simon Fraser (smfr)
thorton: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Fraser (smfr) 2015-09-29 18:54:27 PDT
[iOS] Allow tests to generate user gestures for UI testing
Comment 1 Simon Fraser (smfr) 2015-09-29 19:03:14 PDT
Created attachment 262130 [details]
Patch
Comment 2 WebKit Commit Bot 2015-09-29 19:05:12 PDT
Attachment 262130 [details] did not pass style-queue:


ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:49:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:62:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:66:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:67:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:68:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:69:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:70:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:71:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:72:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:77:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:78:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:80:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:85:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:86:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:87:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:88:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:89:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:93:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:94:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:95:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:96:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:97:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:101:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 24 in 21 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 Build Bot 2015-09-29 19:38:38 PDT
Comment on attachment 262130 [details]
Patch

Attachment 262130 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.webkit.org/results/225533

New failing tests:
ios/interaction/single-tap.html
ios/interaction/double-tap-zoom.html
Comment 4 Build Bot 2015-09-29 19:38:41 PDT
Created attachment 262133 [details]
Archive of layout-test-results from ews103 for mac-mavericks

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews103  Port: mac-mavericks  Platform: Mac OS X 10.9.5
Comment 5 Build Bot 2015-09-29 19:43:15 PDT
Comment on attachment 262130 [details]
Patch

Attachment 262130 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.webkit.org/results/225539

New failing tests:
ios/interaction/single-tap.html
ios/interaction/double-tap-zoom.html
Comment 6 Build Bot 2015-09-29 19:43:18 PDT
Created attachment 262134 [details]
Archive of layout-test-results from ews106 for mac-mavericks-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews106  Port: mac-mavericks-wk2  Platform: Mac OS X 10.9.5
Comment 7 Simon Fraser (smfr) 2015-09-29 21:07:19 PDT
Created attachment 262138 [details]
Patch
Comment 8 WebKit Commit Bot 2015-09-29 21:10:09 PDT
Attachment 262138 [details] did not pass style-queue:


ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:49:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:62:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:63:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:64:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:65:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:66:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:67:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:68:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:73:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:74:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:75:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:76:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:81:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:82:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:83:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:84:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:85:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:89:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:90:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:91:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:92:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:93:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:97:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 23 in 23 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 9 Simon Fraser (smfr) 2015-09-30 09:06:21 PDT
Created attachment 262167 [details]
Patch
Comment 10 WebKit Commit Bot 2015-09-30 09:08:25 PDT
Attachment 262167 [details] did not pass style-queue:


ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:50:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:63:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:67:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:68:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:69:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:70:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:71:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:72:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:73:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:78:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:80:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:81:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:86:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:87:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:88:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:89:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:90:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:94:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:95:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:96:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:97:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:98:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Tools/WebKitTestRunner/ios/IOKitSPI.h:102:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 24 in 23 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 11 Tim Horton 2015-09-30 11:04:40 PDT
Comment on attachment 262167 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=262167&action=review

> Tools/WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:38
> +// FIXME: move these to WKWebView_Private.h
> +- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view;
>  - (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale;

I think we shouldn't use these (and certainly shouldn't expose them as SPI). Instead, we should set ourselves as the WKWebView scrollView's delegate and use those.

> Tools/WebKitTestRunner/ios/HIDEventGenerator.m:125
> +    _eventCallbacks = [[NSMutableDictionary alloc] init];

Who deletes me?

> Tools/WebKitTestRunner/ios/HIDEventGenerator.m:248
> +        CFRetain(markerEvent);

RetainPtr?
Comment 12 Simon Fraser (smfr) 2015-09-30 14:49:06 PDT
https://trac.webkit.org/r190368