Diff
Modified: trunk/Tools/ChangeLog (246325 => 246326)
--- trunk/Tools/ChangeLog 2019-06-11 18:17:24 UTC (rev 246325)
+++ trunk/Tools/ChangeLog 2019-06-11 18:44:53 UTC (rev 246326)
@@ -1,3 +1,33 @@
+2019-06-11 Jonathan Bedard <[email protected]>
+
+ webkitpy: Fix device ASan reporting, add testing for report configurations
+ https://bugs.webkit.org/show_bug.cgi?id=198756
+
+ Reviewed by Aakash Jain.
+
+ ASan results were reporting an incorrect style. This indicates we need to be testing this upload
+ configuration thoroughly in webkitpy.
+
+ * Scripts/webkitpy/port/config.py:
+ (clear_cached_configuration): Clearing configurations should clear the ASan cache as well.
+ * Scripts/webkitpy/port/device_port.py:
+ (DevicePort.configuration_for_upload): Add ASan as style.
+ * Scripts/webkitpy/port/ios_device_unittest.py:
+ (IOSDeviceTest):
+ (IOSDeviceTest.test_default_upload_configuration):
+ * Scripts/webkitpy/port/ios_simulator_unittest.py:
+ (IOSSimulatorTest.test_default_upload_configuration):
+ * Scripts/webkitpy/port/mock_drt_unittest.py:
+ (MockDRTPortTest.test_asan_upload_configuration):
+ * Scripts/webkitpy/port/port_testcase.py:
+ (test_default_upload_configuration):
+ (test_debug_upload_configuration):
+ (test_asan_upload_configuration):
+ (test_guard_malloc_configuration):
+ * Scripts/webkitpy/port/watch_simulator_unittest.py:
+ (WatchSimulatorTest):
+ (WatchSimulatorTest.test_default_upload_configuration):
+
2019-06-11 Michael Catanzaro <[email protected]>
tu-berlin university email web interface (Outlook Web App) goes directly to the light version instead of the normal web app
Modified: trunk/Tools/Scripts/webkitpy/port/config.py (246325 => 246326)
--- trunk/Tools/Scripts/webkitpy/port/config.py 2019-06-11 18:17:24 UTC (rev 246325)
+++ trunk/Tools/Scripts/webkitpy/port/config.py 2019-06-11 18:44:53 UTC (rev 246326)
@@ -53,6 +53,7 @@
global _have_determined_configuration, _configuration
_have_determined_configuration = False
_configuration = "Release"
+ Config.asan.fget._results_cache = {}
@memoized
Modified: trunk/Tools/Scripts/webkitpy/port/device_port.py (246325 => 246326)
--- trunk/Tools/Scripts/webkitpy/port/device_port.py 2019-06-11 18:17:24 UTC (rev 246325)
+++ trunk/Tools/Scripts/webkitpy/port/device_port.py 2019-06-11 18:44:53 UTC (rev 246326)
@@ -256,6 +256,13 @@
if version_name:
break
+ if self.get_option('guard_malloc'):
+ style = 'guard-malloc'
+ elif self._config.asan:
+ style = 'asan'
+ else:
+ style = configuration.build_type
+
return Upload.create_configuration(
platform=device_type.software_variant.lower(),
is_simulator=self.DEVICE_MANAGER == SimulatedDeviceManager,
@@ -262,7 +269,7 @@
version=str(version),
version_name=version_name,
architecture=configuration.architecture,
- style='guard-malloc' if self.get_option('guard_malloc') else configuration.build_type,
+ style=style,
model=model,
sdk=host.build_version if host else None,
)
Modified: trunk/Tools/Scripts/webkitpy/port/ios_device_unittest.py (246325 => 246326)
--- trunk/Tools/Scripts/webkitpy/port/ios_device_unittest.py 2019-06-11 18:17:24 UTC (rev 246325)
+++ trunk/Tools/Scripts/webkitpy/port/ios_device_unittest.py 2019-06-11 18:44:53 UTC (rev 246326)
@@ -25,6 +25,7 @@
from webkitpy.common.system.outputcapture import OutputCapture
from webkitpy.common.system.executive_mock import MockExecutive2, ScriptError
from webkitpy.common.version import Version
+from webkitpy.port.config import clear_cached_configuration
from webkitpy.port.ios_device import IOSDevicePort
from webkitpy.port import ios_testcase
from webkitpy.port import port_testcase
@@ -159,3 +160,13 @@
def test_max_child_processes(self):
pass
+
+ def test_default_upload_configuration(self):
+ clear_cached_configuration()
+ port = self.make_port()
+ configuration = port.configuration_for_upload()
+ self.assertEqual(configuration['architecture'], port.architecture())
+ self.assertEqual(configuration['is_simulator'], False)
+ self.assertEqual(configuration['platform'], port.host.platform.os_name)
+ self.assertEqual(configuration['style'], 'release')
+ self.assertEqual(configuration['version_name'], 'iOS {}'.format(port.device_version()))
Modified: trunk/Tools/Scripts/webkitpy/port/ios_simulator_unittest.py (246325 => 246326)
--- trunk/Tools/Scripts/webkitpy/port/ios_simulator_unittest.py 2019-06-11 18:17:24 UTC (rev 246325)
+++ trunk/Tools/Scripts/webkitpy/port/ios_simulator_unittest.py 2019-06-11 18:44:53 UTC (rev 246326)
@@ -25,6 +25,7 @@
from webkitpy.port import port_testcase
from webkitpy.common.system.outputcapture import OutputCapture
from webkitpy.common.version import Version
+from webkitpy.port.config import clear_cached_configuration
from webkitpy.tool.mocktool import MockOptions
from webkitpy.common.system.executive_mock import MockExecutive2, ScriptError
from webkitpy.xcode.device_type import DeviceType
@@ -162,16 +163,12 @@
port = self.make_port()
self.assertEqual(port.max_child_processes(DeviceType.from_string('Apple Watch')), 0)
- def test_configuration_for_upload(self):
+ def test_default_upload_configuration(self):
+ clear_cached_configuration()
port = self.make_port()
- self.assertEqual(
- dict(
- platform='ios',
- is_simulator=True,
- architecture='x86_64',
- version='11',
- version_name='iOS 11',
- style='release',
- ),
- port.configuration_for_upload(),
- )
+ configuration = port.configuration_for_upload()
+ self.assertEqual(configuration['architecture'], port.architecture())
+ self.assertEqual(configuration['is_simulator'], True)
+ self.assertEqual(configuration['platform'], 'ios')
+ self.assertEqual(configuration['style'], 'release')
+ self.assertEqual(configuration['version_name'], 'iOS {}'.format(port.device_version()))
Modified: trunk/Tools/Scripts/webkitpy/port/mock_drt_unittest.py (246325 => 246326)
--- trunk/Tools/Scripts/webkitpy/port/mock_drt_unittest.py 2019-06-11 18:17:24 UTC (rev 246325)
+++ trunk/Tools/Scripts/webkitpy/port/mock_drt_unittest.py 2019-06-11 18:44:53 UTC (rev 246326)
@@ -89,7 +89,10 @@
def test_check_build(self):
pass
+ def test_asan_upload_configuration(self):
+ pass
+
class MockDRTTest(unittest.TestCase):
def input_line(self, port, test_name, checksum=None):
url = ""
Modified: trunk/Tools/Scripts/webkitpy/port/port_testcase.py (246325 => 246326)
--- trunk/Tools/Scripts/webkitpy/port/port_testcase.py 2019-06-11 18:17:24 UTC (rev 246325)
+++ trunk/Tools/Scripts/webkitpy/port/port_testcase.py 2019-06-11 18:44:53 UTC (rev 246326)
@@ -45,7 +45,7 @@
from webkitpy.common.system.systemhost_mock import MockSystemHost
from webkitpy.common.version_name_map import INTERNAL_TABLE
from webkitpy.port.base import Port
-from webkitpy.port.config import apple_additions
+from webkitpy.port.config import apple_additions, clear_cached_configuration
from webkitpy.port.image_diff import ImageDiffer
from webkitpy.port.server_process_mock import MockServerProcess
from webkitpy.layout_tests.servers import http_server_base
@@ -662,6 +662,33 @@
self.assertEqual(port.baseline_search_path()[0], '/tmp/foo')
def test_max_child_processes(self):
+
port = self.make_port()
self.assertEqual(port.max_child_processes(True), 0)
self.assertEqual(port.max_child_processes(), float('inf'))
+
+ def test_default_upload_configuration(self):
+ clear_cached_configuration()
+ port = self.make_port()
+ configuration = port.configuration_for_upload()
+ self.assertEqual(configuration['architecture'], port.architecture())
+ self.assertEqual(configuration['is_simulator'], False)
+ self.assertEqual(configuration['platform'], port.host.platform.os_name)
+ self.assertEqual(configuration['style'], 'release')
+ self.assertEqual(configuration['version_name'], port.host.platform.os_version_name())
+
+ def test_debug_upload_configuration(self):
+ clear_cached_configuration()
+ port = self.make_port(options=MockOptions(configuration='Debug'))
+ self.assertEqual(port.configuration_for_upload()['style'], 'debug')
+
+ def test_asan_upload_configuration(self):
+ clear_cached_configuration()
+ port = self.make_port()
+ port.host.filesystem.write_text_file('/mock-build/ASan', 'YES')
+ self.assertEqual(port.configuration_for_upload()['style'], 'asan')
+
+ def test_guard_malloc_configuration(self):
+ clear_cached_configuration()
+ port = self.make_port(options=MockOptions(guard_malloc=True))
+ self.assertEqual(port.configuration_for_upload()['style'], 'guard-malloc')
Modified: trunk/Tools/Scripts/webkitpy/port/watch_simulator_unittest.py (246325 => 246326)
--- trunk/Tools/Scripts/webkitpy/port/watch_simulator_unittest.py 2019-06-11 18:17:24 UTC (rev 246325)
+++ trunk/Tools/Scripts/webkitpy/port/watch_simulator_unittest.py 2019-06-11 18:44:53 UTC (rev 246326)
@@ -23,6 +23,7 @@
from webkitpy.common.system.executive_mock import MockExecutive2, ScriptError
from webkitpy.common.system.outputcapture import OutputCapture
from webkitpy.common.version import Version
+from webkitpy.port.config import clear_cached_configuration
from webkitpy.port.watch_simulator import WatchSimulatorPort
from webkitpy.port import watch_testcase
from webkitpy.tool.mocktool import MockOptions
@@ -79,3 +80,13 @@
def test_max_child_processes(self):
port = self.make_port()
self.assertEqual(port.max_child_processes(DeviceType.from_string('iPhone')), 0)
+
+ def test_default_upload_configuration(self):
+ clear_cached_configuration()
+ port = self.make_port()
+ configuration = port.configuration_for_upload()
+ self.assertEqual(configuration['architecture'], port.architecture())
+ self.assertEqual(configuration['is_simulator'], True)
+ self.assertEqual(configuration['platform'], 'watchos')
+ self.assertEqual(configuration['style'], 'release')
+ self.assertEqual(configuration['version_name'], 'watchOS {}'.format(port.device_version()))