Title: [233306] trunk/Tools
- Revision
- 233306
- Author
- [email protected]
- Date
- 2018-06-28 08:37:04 -0700 (Thu, 28 Jun 2018)
Log Message
The lldb vector summary provider always shows zero capacity
https://bugs.webkit.org/show_bug.cgi?id=187132
Reviewed by Daniel Bates.
WTFVectorProvider in lldb_webkit.py was calling GetChildMemberWithName('m_capacity')
on the buffer instead of the valobj.
* lldb/lldbWebKitTester/main.cpp:
(testSummaryProviders):
* lldb/lldb_webkit.py:
(WTFVectorProvider.update):
* lldb/lldb_webkit_unittest.py:
(TestSummaryProviders.serial_test_WTFString_SummaryProvider_16bit_string):
(TestSummaryProviders):
(TestSummaryProviders.serial_test_WTFVectorProvider_empty_vector):
(TestSummaryProviders.serial_test_WTFVectorProvider_vector_size_and_capacity):
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (233305 => 233306)
--- trunk/Tools/ChangeLog 2018-06-28 15:35:42 UTC (rev 233305)
+++ trunk/Tools/ChangeLog 2018-06-28 15:37:04 UTC (rev 233306)
@@ -1,3 +1,23 @@
+2018-06-28 Simon Fraser <[email protected]>
+
+ The lldb vector summary provider always shows zero capacity
+ https://bugs.webkit.org/show_bug.cgi?id=187132
+
+ Reviewed by Daniel Bates.
+
+ WTFVectorProvider in lldb_webkit.py was calling GetChildMemberWithName('m_capacity')
+ on the buffer instead of the valobj.
+
+ * lldb/lldbWebKitTester/main.cpp:
+ (testSummaryProviders):
+ * lldb/lldb_webkit.py:
+ (WTFVectorProvider.update):
+ * lldb/lldb_webkit_unittest.py:
+ (TestSummaryProviders.serial_test_WTFString_SummaryProvider_16bit_string):
+ (TestSummaryProviders):
+ (TestSummaryProviders.serial_test_WTFVectorProvider_empty_vector):
+ (TestSummaryProviders.serial_test_WTFVectorProvider_vector_size_and_capacity):
+
2018-06-28 Adam Barth <[email protected]>
Switch OS(FUCHSIA) to using JSCOnly
Modified: trunk/Tools/lldb/lldbWebKitTester/main.cpp (233305 => 233306)
--- trunk/Tools/lldb/lldbWebKitTester/main.cpp 2018-06-28 15:35:42 UTC (rev 233305)
+++ trunk/Tools/lldb/lldbWebKitTester/main.cpp 2018-06-28 15:37:04 UTC (rev 233306)
@@ -54,6 +54,12 @@
String a16BitString = utf16String(u"\u1680Cappuccino\u1680");
StringImpl* a16BitStringImpl = a16BitString.impl();
+
+ Vector<int> anEmptyVector;
+ Vector<int> aVectorWithOneItem;
+ aVectorWithOneItem.reserveCapacity(16);
+ aVectorWithOneItem.append(1);
+
breakForTestingSummaryProviders();
}
Modified: trunk/Tools/lldb/lldb_webkit.py (233305 => 233306)
--- trunk/Tools/lldb/lldb_webkit.py 2018-06-28 15:35:42 UTC (rev 233305)
+++ trunk/Tools/lldb/lldb_webkit.py 2018-06-28 15:37:04 UTC (rev 233306)
@@ -383,7 +383,7 @@
def update(self):
self.buffer = self.valobj.GetChildMemberWithName('m_buffer')
self.size = self.valobj.GetChildMemberWithName('m_size').GetValueAsUnsigned(0)
- self.capacity = self.buffer.GetChildMemberWithName('m_capacity').GetValueAsUnsigned(0)
+ self.capacity = self.valobj.GetChildMemberWithName('m_capacity').GetValueAsUnsigned(0)
self.data_type = self.buffer.GetType().GetPointeeType()
self.data_size = self.data_type.GetByteSize()
Modified: trunk/Tools/lldb/lldb_webkit_unittest.py (233305 => 233306)
--- trunk/Tools/lldb/lldb_webkit_unittest.py 2018-06-28 15:35:42 UTC (rev 233305)
+++ trunk/Tools/lldb/lldb_webkit_unittest.py 2018-06-28 15:37:04 UTC (rev 233306)
@@ -33,6 +33,7 @@
from webkitpy.common.system.systemhost import SystemHost
from webkitpy.port.config import Config
+# Run just the tests in this file with ./Tools/Scripts/test-webkitpy lldb_webkit_unittest
# We cache the lldb debug session state so that we don't create it again for each call to a serial_test_ method.
# We store it in a global variable so that we can delete this cached state on exit(3).
@@ -137,3 +138,13 @@
def serial_test_WTFString_SummaryProvider_16bit_string(self):
summary = lldb_webkit.WTFString_SummaryProvider(self._sbFrame.FindVariable('a16BitString'), {})
self.assertEqual(summary, u"{ length = 13, contents = '\\u1680Cappuccino\\u1680\\x00' }")
+
+ # MARK: WTFVector_SummaryProvider test cases
+
+ def serial_test_WTFVectorProvider_empty_vector(self):
+ summary = lldb_webkit.WTFVector_SummaryProvider(self._sbFrame.FindVariable('anEmptyVector'), {})
+ self.assertEqual(summary, "{ size = 0, capacity = 0 }")
+
+ def serial_test_WTFVectorProvider_vector_size_and_capacity(self):
+ summary = lldb_webkit.WTFVector_SummaryProvider(self._sbFrame.FindVariable('aVectorWithOneItem'), {})
+ self.assertEqual(summary, "{ size = 1, capacity = 16 }")
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes