https://github.com/Michael137 updated https://github.com/llvm/llvm-project/pull/77920
>From 4de3716b55a22dc8b7dda621889089f390026739 Mon Sep 17 00:00:00 2001 From: Michael Buch <michaelbuc...@gmail.com> Date: Fri, 12 Jan 2024 12:34:16 +0000 Subject: [PATCH 1/2] [lldb][test] Add tests for target.max-string-summary-length setting --- .../TestDataFormatterAdv.py | 17 +++++++++++++++++ .../data-formatter-advanced/main.cpp | 14 ++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py b/lldb/test/API/functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py index e7c517a90134f3..fb22256e6fa1a8 100644 --- a/lldb/test/API/functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py @@ -295,6 +295,23 @@ def cleanup(): substrs=["e_2", "n_2", "r_2", "i_2", "k_2", "o_2"], ) + self.runCmd("settings set target.max-string-summary-length 5") + some_string = self.frame().FindVariable('some_string') + some_string_summary = some_string.GetSummary() + self.assertEqual(some_string_summary, '"01234"...') + + some_carr = self.frame().FindVariable('some_carr') + some_carr_summary = some_carr.GetSummary() + self.assertEqual(some_carr_summary, '"01234"...') + + # FIXME: c-strings should honor the target.max-string-summary-length + # setting. Currently a C-string will be truncated at 64 (an internal + # implementation detail) instead of the value specified in the setting. + some_cstring = self.frame().FindVariable('some_cstring') + some_cstring_summary = some_cstring.GetSummary() + self.assertEqual(len(some_cstring_summary), 66) # 64 + 2 (for quotation marks) + self.assertFalse(some_cstring_summary.endswith('...')) + # override the cap self.expect( "frame variable a_long_guy --show-all-children", diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-advanced/main.cpp b/lldb/test/API/functionalities/data-formatter/data-formatter-advanced/main.cpp index e7a52fe73bd4c5..c78f381b8ebe9f 100644 --- a/lldb/test/API/functionalities/data-formatter/data-formatter-advanced/main.cpp +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-advanced/main.cpp @@ -1,6 +1,7 @@ #include <stdio.h> #include <stdlib.h> #include <stdint.h> +#include <string> struct i_am_cool { @@ -164,6 +165,19 @@ int main (int argc, const char * argv[]) Simple a_simple_object(3,0.14,'E'); VeryLong a_long_guy; + + std::string some_string = + "012345678901234567890123456789" + "012345678901234567890123456789" + "012345678901234567890123456789" + "012345678901234567890123456789"; + char const* some_cstring = some_string.c_str(); + + char const some_carr[] = + "012345678901234567890123456789" + "012345678901234567890123456789" + "012345678901234567890123456789" + "012345678901234567890123456789"; return 0; // Set break point at this line. } >From c3a9cc915377ecb49ce4c3102e1c008bb9ee2fda Mon Sep 17 00:00:00 2001 From: Michael Buch <michaelbuc...@gmail.com> Date: Fri, 12 Jan 2024 12:56:35 +0000 Subject: [PATCH 2/2] fixup! formatting --- .../TestDataFormatterAdv.py | 10 ++++---- .../data-formatter-advanced/main.cpp | 24 +++++++++---------- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py b/lldb/test/API/functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py index fb22256e6fa1a8..c275904eaf2014 100644 --- a/lldb/test/API/functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py @@ -296,21 +296,21 @@ def cleanup(): ) self.runCmd("settings set target.max-string-summary-length 5") - some_string = self.frame().FindVariable('some_string') + some_string = self.frame().FindVariable("some_string") some_string_summary = some_string.GetSummary() self.assertEqual(some_string_summary, '"01234"...') - some_carr = self.frame().FindVariable('some_carr') + some_carr = self.frame().FindVariable("some_carr") some_carr_summary = some_carr.GetSummary() self.assertEqual(some_carr_summary, '"01234"...') # FIXME: c-strings should honor the target.max-string-summary-length # setting. Currently a C-string will be truncated at 64 (an internal # implementation detail) instead of the value specified in the setting. - some_cstring = self.frame().FindVariable('some_cstring') + some_cstring = self.frame().FindVariable("some_cstring") some_cstring_summary = some_cstring.GetSummary() - self.assertEqual(len(some_cstring_summary), 66) # 64 + 2 (for quotation marks) - self.assertFalse(some_cstring_summary.endswith('...')) + self.assertEqual(len(some_cstring_summary), 66) # 64 + 2 (for quotation marks) + self.assertFalse(some_cstring_summary.endswith("...")) # override the cap self.expect( diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-advanced/main.cpp b/lldb/test/API/functionalities/data-formatter/data-formatter-advanced/main.cpp index c78f381b8ebe9f..9d12ca30f984c1 100644 --- a/lldb/test/API/functionalities/data-formatter/data-formatter-advanced/main.cpp +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-advanced/main.cpp @@ -1,6 +1,6 @@ +#include <stdint.h> #include <stdio.h> #include <stdlib.h> -#include <stdint.h> #include <string> struct i_am_cool @@ -166,18 +166,16 @@ int main (int argc, const char * argv[]) VeryLong a_long_guy; - std::string some_string = - "012345678901234567890123456789" - "012345678901234567890123456789" - "012345678901234567890123456789" - "012345678901234567890123456789"; - char const* some_cstring = some_string.c_str(); + std::string some_string = "012345678901234567890123456789" + "012345678901234567890123456789" + "012345678901234567890123456789" + "012345678901234567890123456789"; + char const *some_cstring = some_string.c_str(); + + char const some_carr[] = "012345678901234567890123456789" + "012345678901234567890123456789" + "012345678901234567890123456789" + "012345678901234567890123456789"; - char const some_carr[] = - "012345678901234567890123456789" - "012345678901234567890123456789" - "012345678901234567890123456789" - "012345678901234567890123456789"; - return 0; // Set break point at this line. } _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits