Modified: trunk/Tools/ChangeLog (243307 => 243308)
--- trunk/Tools/ChangeLog 2019-03-21 18:49:52 UTC (rev 243307)
+++ trunk/Tools/ChangeLog 2019-03-21 18:57:09 UTC (rev 243308)
@@ -1,3 +1,19 @@
+2019-03-21 Timothy Hatcher <[email protected]>
+
+ Style check error "WK_MAC_TBA is neither a version number nor WK_IOS_TBA" is confusing.
+ https://bugs.webkit.org/show_bug.cgi?id=196088
+
+ Reviewed by Brian Burg.
+
+ Fix the error messages used when looking for macos(WK_IOS_TBA) or ios(WK_MAC_TBA).
+ Support checks when only one platform is specified. Also deprecate macosx() and
+ force the use of macos() instead.
+
+ * Scripts/webkitpy/style/checkers/cpp.py:
+ (check_min_versions_of_wk_api_available):
+ * Scripts/webkitpy/style/checkers/cpp_unittest.py:
+ (WebKitStyleTest.test_min_versions_of_wk_api_available):
+
2019-03-21 Alexey Proskuryakov <[email protected]>
Update status inactive committers' status to 'contributor'.
Modified: trunk/Tools/Scripts/webkitpy/style/checkers/cpp.py (243307 => 243308)
--- trunk/Tools/Scripts/webkitpy/style/checkers/cpp.py 2019-03-21 18:49:52 UTC (rev 243307)
+++ trunk/Tools/Scripts/webkitpy/style/checkers/cpp.py 2019-03-21 18:57:09 UTC (rev 243308)
@@ -2862,16 +2862,33 @@
line = clean_lines.elided[line_number] # Get rid of comments and strings.
- wk_api_available = search(r'WK_API_AVAILABLE\(macosx\(([^\)]+)\), ios\(([^\)]+)\)\)', line)
+ wk_api_available = search(r'WK_API_AVAILABLE\(macosx\(', line)
if wk_api_available:
- macosxMinVersion = wk_api_available.group(1)
- if not match(r'^([\d\.]+|WK_MAC_TBA)$', macosxMinVersion):
- error(line_number, 'build/wk_api_available', 5, '%s is neither a version number nor WK_MAC_TBA' % macosxMinVersion)
+ error(line_number, 'build/wk_api_available', 5, 'macosx() is deprecated; use macos() instead')
+ # FIXME: This should support any order.
+ wk_api_available = search(r'WK_API_AVAILABLE\(macos\(([^\)]+)\), ios\(([^\)]+)\)\)', line)
+ if wk_api_available:
+ macosMinVersion = wk_api_available.group(1)
+ if not match(r'^([\d\.]+|WK_MAC_TBA)$', macosMinVersion):
+ error(line_number, 'build/wk_api_available', 5, 'macos(%s) is invalid; expected WK_MAC_TBA or a number' % macosMinVersion)
+
iosMinVersion = wk_api_available.group(2)
if not match(r'^([\d\.]+|WK_IOS_TBA)$', iosMinVersion):
- error(line_number, 'build/wk_api_available', 5, '%s is neither a version number nor WK_IOS_TBA' % iosMinVersion)
+ error(line_number, 'build/wk_api_available', 5, 'ios(%s) is invalid; expected WK_IOS_TBA or a number' % iosMinVersion)
+ wk_api_available = search(r'WK_API_AVAILABLE\(macos\(([^\)]+)\)\)', line)
+ if wk_api_available:
+ macosMinVersion = wk_api_available.group(1)
+ if not match(r'^([\d\.]+|WK_MAC_TBA)$', macosMinVersion):
+ error(line_number, 'build/wk_api_available', 5, 'macos(%s) is invalid; expected WK_MAC_TBA or a number' % macosMinVersion)
+
+ wk_api_available = search(r'WK_API_AVAILABLE\(ios\(([^\)]+)\)\)', line)
+ if wk_api_available:
+ iosMinVersion = wk_api_available.group(1)
+ if not match(r'^([\d\.]+|WK_IOS_TBA)$', iosMinVersion):
+ error(line_number, 'build/wk_api_available', 5, 'ios(%s) is invalid; expected WK_IOS_TBA or a number' % iosMinVersion)
+
def check_style(clean_lines, line_number, file_extension, class_state, file_state, enum_state, error):
"""Checks rules from the 'C++ style rules' section of cppguide.html.
Modified: trunk/Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py (243307 => 243308)
--- trunk/Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py 2019-03-21 18:49:52 UTC (rev 243307)
+++ trunk/Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py 2019-03-21 18:57:09 UTC (rev 243308)
@@ -5685,10 +5685,19 @@
self.assert_lint('MYMACRO(a ? b() : c);', '')
def test_min_versions_of_wk_api_available(self):
- self.assert_lint('WK_API_AVAILABLE(macosx(1.2.3), ios(3.4.5))', '') # version numbers are OK.
- self.assert_lint('WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA))', '') # WK_MAC_TBA and WK_IOS_TBA are OK.
- self.assert_lint('WK_API_AVAILABLE(macosx(WK_IOS_TBA), ios(3.4.5))', 'WK_IOS_TBA is neither a version number nor WK_MAC_TBA [build/wk_api_available] [5]')
- self.assert_lint('WK_API_AVAILABLE(macosx(1.2.3), ios(WK_MAC_TBA))', 'WK_MAC_TBA is neither a version number nor WK_IOS_TBA [build/wk_api_available] [5]')
+ self.assert_lint('WK_API_AVAILABLE(macosx(1.2.3))', 'macosx() is deprecated; use macos() instead [build/wk_api_available] [5]')
+ self.assert_lint('WK_API_AVAILABLE(macosx(WK_MAC_TBA))', 'macosx() is deprecated; use macos() instead [build/wk_api_available] [5]')
+ self.assert_lint('WK_API_AVAILABLE(macos(1.2.3), ios(3.4.5))', '') # version numbers are OK.
+ self.assert_lint('WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA))', '') # WK_MAC_TBA and WK_IOS_TBA are OK.
+ self.assert_lint('WK_API_AVAILABLE(macos(WK_IOS_TBA), ios(3.4.5))', 'macos(WK_IOS_TBA) is invalid; expected WK_MAC_TBA or a number [build/wk_api_available] [5]')
+ self.assert_lint('WK_API_AVAILABLE(macos(1.2.3), ios(WK_MAC_TBA))', 'ios(WK_MAC_TBA) is invalid; expected WK_IOS_TBA or a number [build/wk_api_available] [5]')
+ self.assert_lint('WK_API_AVAILABLE(macos(1.2.3))', '') # version numbers are OK.
+ self.assert_lint('WK_API_AVAILABLE(macos(WK_MAC_TBA))', '') # WK_MAC_TBA is OK.
+ self.assert_lint('WK_API_AVAILABLE(ios(3.4.5))', '') # version numbers are OK.
+ self.assert_lint('WK_API_AVAILABLE(ios(WK_IOS_TBA))', '') # WK_IOS_TBA is OK.
+ self.assert_lint('WK_API_AVAILABLE(macos(WK_IOS_TBA))', 'macos(WK_IOS_TBA) is invalid; expected WK_MAC_TBA or a number [build/wk_api_available] [5]')
+ self.assert_lint('WK_API_AVAILABLE(macos(WK_IOS_TBA))', 'macos(WK_IOS_TBA) is invalid; expected WK_MAC_TBA or a number [build/wk_api_available] [5]')
+ self.assert_lint('WK_API_AVAILABLE(ios(WK_MAC_TBA))', 'ios(WK_MAC_TBA) is invalid; expected WK_IOS_TBA or a number [build/wk_api_available] [5]')
def test_os_version_checks(self):
self.assert_lint('#if PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED < 110000', 'Misplaced OS version check. Please use a named macro in wtf/Platform.h, wtf/FeatureDefines.h, or an appropriate internal file. [build/version_check] [5]')