Krinkle has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/338044 )
Change subject: navtiming: Make tests easier to extend ...................................................................... navtiming: Make tests easier to extend Convert unit test data to have a 1:many mapping between expected results and inputs to parse_ua(). This will make it easier to add new versions of the inputs in I85323b6997. Change-Id: I699c61e3ae20e2f0653213c213d107b9be730e63 --- M modules/webperf/files/navtiming.py M modules/webperf/files/navtiming_ua_data.yaml 2 files changed, 57 insertions(+), 57 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/operations/puppet refs/changes/44/338044/1 diff --git a/modules/webperf/files/navtiming.py b/modules/webperf/files/navtiming.py index 3a88470..6035b00 100755 --- a/modules/webperf/files/navtiming.py +++ b/modules/webperf/files/navtiming.py @@ -323,11 +323,13 @@ with open('navtiming_ua_data.yaml') as f: data = yaml.safe_load(f) for case in data: - if case['result']: - expect = tuple(case['result'].split('.')) - else: + if case == 'Other._': expect = None - self.assertEqual( - parse_ua(case['ua']), - expect - ) + else: + expect = tuple(case.split('.')) + uas = data.get(case) + for ua in uas: + self.assertEqual( + parse_ua(ua), + expect + ) diff --git a/modules/webperf/files/navtiming_ua_data.yaml b/modules/webperf/files/navtiming_ua_data.yaml index d8f2ca8..33a8f38 100644 --- a/modules/webperf/files/navtiming_ua_data.yaml +++ b/modules/webperf/files/navtiming_ua_data.yaml @@ -1,61 +1,59 @@ -# https://developer.chrome.com/multidevice/user-agent#webview_user_agent -- result: Android.4 - ua: 'Mozilla/5.0 (Linux; U; Android 4.1.1; en-gb; Build/KLP) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30' -- result: Android.4 - ua: 'Mozilla/5.0 (Linux; Android 4.4; Nexus 5 Build/_BuildID_) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36' -- result: Android.5 - ua: 'Mozilla/5.0 (Linux; Android 5.1.1; Nexus 5 Build/LMY48B; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/43.0.2357.65 Mobile Safari/537.36' +Android.4: + # https://developer.chrome.com/multidevice/user-agent#webview_user_agent + - 'Mozilla/5.0 (Linux; U; Android 4.1.1; en-gb; Build/KLP) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30' + - 'Mozilla/5.0 (Linux; Android 4.4; Nexus 5 Build/_BuildID_) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36' +Android.5: + - 'Mozilla/5.0 (Linux; Android 5.1.1; Nexus 5 Build/LMY48B; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/43.0.2357.65 Mobile Safari/537.36' -- result: Chromium.10 - ua: 'Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Ubuntu/10.10 Chromium/10.0.648.133 Chrome/10.0.648.133 Safari/534.16' -- result: Chrome.50 - ua: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2652.0 Safari/537.36' -- result: Chrome_Mobile.35 - ua: 'Mozilla/5.0 (Linux; Android 4.4.2; Nexus 5 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.122 Mobile Safari/537.36' +Chromium.10: + - 'Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Ubuntu/10.10 Chromium/10.0.648.133 Chrome/10.0.648.133 Safari/534.16' +Chrome.50: + - 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2652.0 Safari/537.36' +Chrome_Mobile.35: + - 'Mozilla/5.0 (Linux; Android 4.4.2; Nexus 5 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.122 Mobile Safari/537.36' +Chrome_Mobile_iOS.19: + - 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 5_1_1 like Mac OS X; en-gb) AppleWebKit/534.46.0 (KHTML, like Gecko) CriOS/19.0.1084.60 Mobile/9B206 Safari/7534.48.3' -- result: Chrome_Mobile_iOS.19 - ua: 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 5_1_1 like Mac OS X; en-gb) AppleWebKit/534.46.0 (KHTML, like Gecko) CriOS/19.0.1084.60 Mobile/9B206 Safari/7534.48.3' +Firefox.43: + - 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:43.0) Gecko/20100101 Firefox/43.0' +Firefox_Mobile.41: + - 'Mozilla/5.0 (Android 5.0; Tablet; rv:41.0) Gecko/41.0 Firefox/41.0' -- result: Firefox.43 - ua: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:43.0) Gecko/20100101 Firefox/43.0' -- result: Firefox_Mobile.41 - ua: 'Mozilla/5.0 (Android 5.0; Tablet; rv:41.0) Gecko/41.0 Firefox/41.0' +Opera.9: + - 'Opera/9.50 (Nintendo DSi; Opera/507; U; en-US)' +Opera.10: + - 'Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.5.24 Version/10.53' +Opera.33: + - 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36 OPR/33.0.1990.115' -- result: Opera.9 - ua: 'Opera/9.50 (Nintendo DSi; Opera/507; U; en-US)' -- result: Opera.10 - ua: 'Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.5.24 Version/10.53' -- result: Opera.33 - ua: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36 OPR/33.0.1990.115' +Opera_Mobile.14: + - 'Mozilla/5.0 (Linux; Android; 4.1.2; GT) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1234.12 Mobile Safari/537.22 OPR/14.0.123.123' -- result: Opera_Mobile.14 - ua: 'Mozilla/5.0 (Linux; Android; 4.1.2; GT) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1234.12 Mobile Safari/537.22 OPR/14.0.123.123' +Edge.12: + - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.9600' -- result: Edge.12 - ua: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.9600' +MSIE.11: + - 'Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; rv:11.0) like Gecko' +MSIE.10: + - 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; ARM; Trident/6.0)' +MSIE.8: + - 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6; .NET CLR 2.0.50727; .NET CLR 1.1.4322)' -- result: MSIE.11 - ua: 'Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; rv:11.0) like Gecko' -- result: MSIE.10 - ua: 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; ARM; Trident/6.0)' -- result: MSIE.8 - ua: 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6; .NET CLR 2.0.50727; .NET CLR 1.1.4322)' +Safari.9: + - 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/601.4.4 (KHTML, like Gecko) Version/9.0.3 Safari/601.4.4' -- result: Safari.9 - ua: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/601.4.4 (KHTML, like Gecko) Version/9.0.3 Safari/601.4.4' +Mobile_Safari.4_0: + - 'Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B367 Safari/531.21.10' +Mobile_Safari.5_0: + - 'Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5' +Mobile_Safari.5_0: + - 'Mozilla/5.0 (iPad; U; CPU OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari' -- result: Mobile_Safari.4_0 - ua: 'Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B367 Safari/531.21.10' -- result: Mobile_Safari.5_0 - ua: 'Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5' -- result: Mobile_Safari.5_0 - ua: 'Mozilla/5.0 (iPad; U; CPU OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari' - -- result: iOS_WebView.7_1 - ua: 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Mobile/11D257' -- result: 'iOS_WebView.4_3' - ua: 'Mozilla/5.0 (iPad; U; CPU OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile' +iOS_WebView.7_1: + - 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Mobile/11D257' +'iOS_WebView.4_3': + - 'Mozilla/5.0 (iPad; U; CPU OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile' # Undetected, but here to catch regressions -- result: - ua: 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:11.03.16) Gecko/20110302 Conkeror/0.9.2 (Debian-0.9.2)' +Other._: + - 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:11.03.16) Gecko/20110302 Conkeror/0.9.2 (Debian-0.9.2)' -- To view, visit https://gerrit.wikimedia.org/r/338044 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I699c61e3ae20e2f0653213c213d107b9be730e63 Gerrit-PatchSet: 1 Gerrit-Project: operations/puppet Gerrit-Branch: production Gerrit-Owner: Krinkle <krinklem...@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits