summaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.base/printcmds.c
diff options
context:
space:
mode:
authorKeith Seitz <keiths@redhat.com>2012-11-10 20:18:58 +0000
committerKeith Seitz <keiths@redhat.com>2012-11-10 20:18:58 +0000
commit6cad06895668ad73b91161fc2c95f0b113bdb898 (patch)
tree0af4ae7e2b701d9a760f26f600ef5b5eb77b96d5 /gdb/testsuite/gdb.base/printcmds.c
parente3fa7da3f6f27b5da85c1f906f5f88cd73d3f1d9 (diff)
downloadgdb-6cad06895668ad73b91161fc2c95f0b113bdb898.tar.gz
PR gdb/14288
* c-valprint.c (c_val_print): For character arrays with "print null" option on, print ellipses if the output is truncated and the next character is not \000. * valprint.c (MAX_WCHARS): Define. (WCHAR_BUFLEN): Likewise. (WCHAR_BUFLEN_MAX): Likewise. (struct converted_character): New structure. (count_next_character): New function. (print_converted_chars_to_obstack): New function. (generic_printstr): Rewrite using count_next_character and print_converted_chars_to_obstack. * gdb.base/printcmds.c: Add invalid_XXX globals for repeated byte tests. * gdb.base/printcmds.exp (test_repeat_bytes): New procedure. * gdb.base/wchar.c (main): Add and construct a wchar_t array with repeated characters. * gdb.base/wchar.exp: Add repeated character tests.
Diffstat (limited to 'gdb/testsuite/gdb.base/printcmds.c')
-rw-r--r--gdb/testsuite/gdb.base/printcmds.c92
1 files changed, 92 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.base/printcmds.c b/gdb/testsuite/gdb.base/printcmds.c
index 743734b4a5c..d80c13d95af 100644
--- a/gdb/testsuite/gdb.base/printcmds.c
+++ b/gdb/testsuite/gdb.base/printcmds.c
@@ -122,6 +122,98 @@ struct some_struct
}
};
+/* The following variables are used for testing byte repeat sequences.
+ The variable names are encoded: invalid_XYZ where:
+ X = start
+ Y = invalid
+ Z = end
+
+ Each of X and Z can be "E" (empty), "S" (single), "L" (long single),
+ or "R" (repeat).
+
+ Y can be either any of the above except "E" (otherwise there is nothing
+ to test). */
+char invalid_ESE[] = "\240";
+char invalid_SSE[] = "a\240";
+char invalid_LSE[] = "abaabbaaabbb\240";
+char invalid_RSE[] = "aaaaaaaaaaaaaaaaaaaa\240";
+char invalid_ESS[] = "\240c";
+char invalid_SSS[] = "a\240c";
+char invalid_LSS[] = "abaabbaaabbb\240c";
+char invalid_RSS[] = "aaaaaaaaaaaaaaaaaaaa\240c";
+char invalid_ESL[] = "\240cdccddcccddd";
+char invalid_SSL[] = "a\240cdccddcccddd";
+char invalid_LSL[] = "abaabbaaabbb\240cdccddcccddd";
+char invalid_RSL[] = "aaaaaaaaaaaaaaaaaaaa\240cdccddcccddd";
+char invalid_ESR[] = "\240cccccccccccccccccccc";
+char invalid_SSR[] = "a\240cccccccccccccccccccc";
+char invalid_LSR[] = "abaabbaaabbb\240cccccccccccccccccccc";
+char invalid_RSR[] = "aaaaaaaaaaaaaaaaaaaa\240cccccccccccccccccccc";
+char invalid_ELE[] = "\240\240\240\240";
+char invalid_SLE[] = "a\240\240\240\240";
+char invalid_LLE[] = "abaabbaaabbb\240\240\240\240";
+char invalid_RLE[] = "aaaaaaaaaaaaaaaaaaaa\240\240\240\240";
+char invalid_ELS[] = "\240\240\240\240c";
+char invalid_SLS[] = "a\240\240\240\240c";
+char invalid_LLS[] = "abaabbaaabbb\240\240\240\240c";
+char invalid_RLS[] = "aaaaaaaaaaaaaaaaaaaa\240\240\240\240c";
+char invalid_ELL[] = "\240\240\240\240cdccddcccddd";
+char invalid_SLL[] = "a\240\240\240\240cdccddcccddd";
+char invalid_LLL[] = "abaabbaaabbb\240\240\240\240cdccddcccddd";
+char invalid_RLL[] = "aaaaaaaaaaaaaaaaaaaa\240\240\240\240cdccddcccddd";
+char invalid_ELR[] = "\240\240\240\240cccccccccccccccccccc";
+char invalid_SLR[] = "a\240\240\240\240cccccccccccccccccccc";
+char invalid_LLR[] = "abaabbaaabbb\240\240\240\240cccccccccccccccccccc";
+char invalid_RLR[] = "aaaaaaaaaaaaaaaaaaaa\240\240\240\240cccccccccccccccccccc";
+char invalid_ERE[] = ""
+ "\240\240\240\240\240\240\240\240\240\240"
+ "\240\240\240\240\240\240\240\240\240\240";
+char invalid_LRE[] = "abaabbaaabbb"
+ "\240\240\240\240\240\240\240\240\240\240"
+ "\240\240\240\240\240\240\240\240\240\240";
+char invalid_RRE[] = "aaaaaaaaaaaaaaaaaaaa"
+ "\240\240\240\240\240\240\240\240\240\240"
+ "\240\240\240\240\240\240\240\240\240\240";
+char invalid_ERS[] = ""
+ "\240\240\240\240\240\240\240\240\240\240"
+ "\240\240\240\240\240\240\240\240\240\240c";
+char invalid_ERL[] = ""
+ "\240\240\240\240\240\240\240\240\240\240"
+ "\240\240\240\240\240\240\240\240\240\240cdccddcccddd";
+char invalid_ERR[] = ""
+ "\240\240\240\240\240\240\240\240\240\240"
+ "\240\240\240\240\240\240\240\240\240\240cccccccccccccccccccc";
+char invalid_SRE[] = "a"
+ "\240\240\240\240\240\240\240\240\240\240"
+ "\240\240\240\240\240\240\240\240\240\240";
+char invalid_SRS[] = "a"
+ "\240\240\240\240\240\240\240\240\240\240"
+ "\240\240\240\240\240\240\240\240\240\240c";
+char invalid_SRL[] = "a"
+ "\240\240\240\240\240\240\240\240\240\240"
+ "\240\240\240\240\240\240\240\240\240\240cdccddcccddd";
+char invalid_SRR[] = "a"
+ "\240\240\240\240\240\240\240\240\240\240"
+ "\240\240\240\240\240\240\240\240\240\240cccccccccccccccccccc";
+char invalid_LRS[] = "abaabbaaabbb"
+ "\240\240\240\240\240\240\240\240\240\240"
+ "\240\240\240\240\240\240\240\240\240\240c";
+char invalid_LRL[] = "abaabbaaabbb"
+ "\240\240\240\240\240\240\240\240\240\240"
+ "\240\240\240\240\240\240\240\240\240\240cdccddcccddd";
+char invalid_LRR[] = "abaabbaaabbb"
+ "\240\240\240\240\240\240\240\240\240\240"
+ "\240\240\240\240\240\240\240\240\240\240cccccccccccccccccccc";
+char invalid_RRS[] = "aaaaaaaaaaaaaaaaaaaa"
+ "\240\240\240\240\240\240\240\240\240\240"
+ "\240\240\240\240\240\240\240\240\240\240c";
+char invalid_RRL[] = "aaaaaaaaaaaaaaaaaaaa"
+ "\240\240\240\240\240\240\240\240\240\240"
+ "\240\240\240\240\240\240\240\240\240\240cdccddcccddd";
+char invalid_RRR[] = "aaaaaaaaaaaaaaaaaaaa"
+ "\240\240\240\240\240\240\240\240\240\240"
+ "\240\240\240\240\240\240\240\240\240\240cccccccccccccccccccc";
+
/* -- */
int main ()