Loading mysql-test/include/show_msg.inc +8 −2 Original line number Diff line number Diff line Loading @@ -6,13 +6,19 @@ # Usage: # Add the following to any *.test file: # : # set @message="This is a message example"; # let $message= <value>; # --source include/show_msg.inc # : # # Attention: # - Please do not write any spaces between $message and the "=", because the # assignment will not work. # - Be careful with single quotes. They must be escaped like "''" or "\'". # # "include/show_msg80.inc" contains a detailed description and examples. --disable_query_log SET @utf8_message = CONVERT(@message using utf8); eval SET @utf8_message = CONVERT('$message' using utf8); select @utf8_message as "" union select repeat(CONVERT('-' using utf8),char_length(@utf8_message)); Loading mysql-test/include/show_msg80.inc +103 −8 Original line number Diff line number Diff line #### include/show_msg80.inc # # This file writes the value set in @message into the # a protocol file as part of executing a test sequence # with a dash line that is fixed on 80 characters. # This can be used in the case of long messages, # multi line messages that exceed 80 or if an 80 char # line is desired for short messages. # This file writes the value set in @message into the a protocol file as part # of executing a test sequence with a dash line that is fixed on 80 characters. # # This can be used in the case of long messages, multi line messages that # exceed 80 or if an 80 char line is desired for short messages. # # Usage: # Add the following to any *.test file: # : # set @message="This is a message example"; # let $message= <value>; # --source include/show_msg80.inc # : # # Attention: # - Please do not write any spaces between $message and the "=", because the # assignment will not work. # - Be careful with single quotes within the value. They must be escaped like # "''" or "\'". # - Do not keep the value between single quotes. # # # Content of "$message" and protocol output depending on the assignment: # ---------------------------------------------------------------------- # # I is assumed, that the value is not kept between double quotes. # # <x> first character after "$message=", # where the content is not (space or tab) # <y*> first character after beginning of the line, # where the content is not (space or tab) # <z> last char before ";" # | beginning or end of line # # script: let $message= <x><whatever0>| # | <y1><whatever1>| # |................| # | <yn><whatevern><z>; # content: "<x><whatever0><new line><y1><whatever1><new line> # ....<new line><yn><whatevern><z>" # protocol output: |<x><whatever0>| # |<y1><whatever1>| # |.....| # |<yn><whatevern><z>| # |--- 80 dashes ---| # # Attention: # <x> and <y*> set to characters like "-$#" which are also used # to start comments, options and the names of mysqltest variables # lead to syntax errors or mangled messages. # # # Examples of messages: # --------------------- # # Variant1 (ease of use): # Several lines with indentation kept between double quotes # script: |let $message= # |" Testcase 3.1 : Ensure that Pi is not an| # | integer number.| # | Third line"; # protocol: |" Testcase 3.1 : Ensure that Pi is not an| # | integer number.| # | Third line"| # |------ 80 dashes ----| # # Please mention that # - the '"' preserves the indentation. # - it is easy to write the script lines to get a fine indentation, # if the value starts at the beginning of a new line # - the '"' is printed # - there are the least or no problems with characters like "-#$" # # # Variant 2 (grep the messages from the protocol is easy): # Several lines with indentation + auxiliary character (".") # at the (non tab or space) beginning of every message line # script: |let $message= . Testcase 3.1 : Ensure that Pi is not an| # | . integer number.| # | . Third line; # protocol: |. Testcase 3.1 : Ensure that Pi is not an| # |. integer number.| # |. Third line| # |------ 80 dashes ----| # Please mention that # - the auxiliary character preserves the indentation. # - it is easy to write the script lines to get a fine indentation # - the auxiliary character is printed # - it is recommended to use "." as auxiliary character # - auxiliary characters like "-'$#" cause problems # # # # Bad variant1: Several lines with lost indentation # script: |let $message= Here is message line 1 # | message line 2; # protocol: |Here is message line 1| # |message line 2| # |------ 80 dashes ----| # Please mention, that the leading spaces of the message lines disappeared. # # Bad variant2: Several lines leading to a syntax error, because of "-" # script: |let $message= - This is a message # | - with a second and # | - third line; # protocol: | - third line;; # |ERROR 42000: You have an error ... near '- third line' # + several following errors # # --disable_query_log SET @utf8_message = CONVERT(@message using utf8); eval SET @utf8_message = CONVERT('$message' using utf8); select @utf8_message as "" union select repeat(CONVERT('-' using utf8),80); Loading mysql-test/r/mysqltest.result +8 −6 Original line number Diff line number Diff line Loading @@ -148,17 +148,19 @@ a'b a"b select 'aaa\\','aa''a',"aa""a"; aaa\ aa'a aa"a aaa\ aa'a aa"a SET @message = 'Here comes a message'; Here comes a message -------------------- SET @message = USER(); root@localhost -------------- SET @message = 'Here comes a very very long message that is longer then 80 characters on multiple lines'; Here comes a very very long message that is longer then 80 characters on multiple lines "Here comes a very very long message that - is longer then 80 characters and - consists of several lines" -------------------------------------------------------------------------------- . Here comes a very very long message that . - is longer then 80 characters and . - consists of several lines -------------------------------------------------------------------------------- mysql-test/t/mysqltest.test +15 −5 Original line number Diff line number Diff line Loading @@ -299,19 +299,29 @@ select 'aaa\\','aa''a',"aa""a"; # # Check of include/show_msg.inc # Check of include/show_msg.inc and include/show_msg80.inc # # The message contains in most cases a string with the default character set SET @message = 'Here comes a message'; let $message= Here comes a message; --source include/show_msg.inc # The message could also contain a string with character set utf8 SET @message = USER(); let $message= `SELECT USER()`; --source include/show_msg.inc # The message contains more then 80 characters on multiple lines SET @message = 'Here comes a very very long message that is longer then 80 characters on multiple lines'; # and is kept between double quotes. let $message= "Here comes a very very long message that - is longer then 80 characters and - consists of several lines"; --source include/show_msg80.inc # The message contains more then 80 characters on multiple lines # and uses the auxiliary character "." at the beginning of the message lines. let $message= . Here comes a very very long message that . - is longer then 80 characters and . - consists of several lines; --source include/show_msg80.inc Loading
mysql-test/include/show_msg.inc +8 −2 Original line number Diff line number Diff line Loading @@ -6,13 +6,19 @@ # Usage: # Add the following to any *.test file: # : # set @message="This is a message example"; # let $message= <value>; # --source include/show_msg.inc # : # # Attention: # - Please do not write any spaces between $message and the "=", because the # assignment will not work. # - Be careful with single quotes. They must be escaped like "''" or "\'". # # "include/show_msg80.inc" contains a detailed description and examples. --disable_query_log SET @utf8_message = CONVERT(@message using utf8); eval SET @utf8_message = CONVERT('$message' using utf8); select @utf8_message as "" union select repeat(CONVERT('-' using utf8),char_length(@utf8_message)); Loading
mysql-test/include/show_msg80.inc +103 −8 Original line number Diff line number Diff line #### include/show_msg80.inc # # This file writes the value set in @message into the # a protocol file as part of executing a test sequence # with a dash line that is fixed on 80 characters. # This can be used in the case of long messages, # multi line messages that exceed 80 or if an 80 char # line is desired for short messages. # This file writes the value set in @message into the a protocol file as part # of executing a test sequence with a dash line that is fixed on 80 characters. # # This can be used in the case of long messages, multi line messages that # exceed 80 or if an 80 char line is desired for short messages. # # Usage: # Add the following to any *.test file: # : # set @message="This is a message example"; # let $message= <value>; # --source include/show_msg80.inc # : # # Attention: # - Please do not write any spaces between $message and the "=", because the # assignment will not work. # - Be careful with single quotes within the value. They must be escaped like # "''" or "\'". # - Do not keep the value between single quotes. # # # Content of "$message" and protocol output depending on the assignment: # ---------------------------------------------------------------------- # # I is assumed, that the value is not kept between double quotes. # # <x> first character after "$message=", # where the content is not (space or tab) # <y*> first character after beginning of the line, # where the content is not (space or tab) # <z> last char before ";" # | beginning or end of line # # script: let $message= <x><whatever0>| # | <y1><whatever1>| # |................| # | <yn><whatevern><z>; # content: "<x><whatever0><new line><y1><whatever1><new line> # ....<new line><yn><whatevern><z>" # protocol output: |<x><whatever0>| # |<y1><whatever1>| # |.....| # |<yn><whatevern><z>| # |--- 80 dashes ---| # # Attention: # <x> and <y*> set to characters like "-$#" which are also used # to start comments, options and the names of mysqltest variables # lead to syntax errors or mangled messages. # # # Examples of messages: # --------------------- # # Variant1 (ease of use): # Several lines with indentation kept between double quotes # script: |let $message= # |" Testcase 3.1 : Ensure that Pi is not an| # | integer number.| # | Third line"; # protocol: |" Testcase 3.1 : Ensure that Pi is not an| # | integer number.| # | Third line"| # |------ 80 dashes ----| # # Please mention that # - the '"' preserves the indentation. # - it is easy to write the script lines to get a fine indentation, # if the value starts at the beginning of a new line # - the '"' is printed # - there are the least or no problems with characters like "-#$" # # # Variant 2 (grep the messages from the protocol is easy): # Several lines with indentation + auxiliary character (".") # at the (non tab or space) beginning of every message line # script: |let $message= . Testcase 3.1 : Ensure that Pi is not an| # | . integer number.| # | . Third line; # protocol: |. Testcase 3.1 : Ensure that Pi is not an| # |. integer number.| # |. Third line| # |------ 80 dashes ----| # Please mention that # - the auxiliary character preserves the indentation. # - it is easy to write the script lines to get a fine indentation # - the auxiliary character is printed # - it is recommended to use "." as auxiliary character # - auxiliary characters like "-'$#" cause problems # # # # Bad variant1: Several lines with lost indentation # script: |let $message= Here is message line 1 # | message line 2; # protocol: |Here is message line 1| # |message line 2| # |------ 80 dashes ----| # Please mention, that the leading spaces of the message lines disappeared. # # Bad variant2: Several lines leading to a syntax error, because of "-" # script: |let $message= - This is a message # | - with a second and # | - third line; # protocol: | - third line;; # |ERROR 42000: You have an error ... near '- third line' # + several following errors # # --disable_query_log SET @utf8_message = CONVERT(@message using utf8); eval SET @utf8_message = CONVERT('$message' using utf8); select @utf8_message as "" union select repeat(CONVERT('-' using utf8),80); Loading
mysql-test/r/mysqltest.result +8 −6 Original line number Diff line number Diff line Loading @@ -148,17 +148,19 @@ a'b a"b select 'aaa\\','aa''a',"aa""a"; aaa\ aa'a aa"a aaa\ aa'a aa"a SET @message = 'Here comes a message'; Here comes a message -------------------- SET @message = USER(); root@localhost -------------- SET @message = 'Here comes a very very long message that is longer then 80 characters on multiple lines'; Here comes a very very long message that is longer then 80 characters on multiple lines "Here comes a very very long message that - is longer then 80 characters and - consists of several lines" -------------------------------------------------------------------------------- . Here comes a very very long message that . - is longer then 80 characters and . - consists of several lines --------------------------------------------------------------------------------
mysql-test/t/mysqltest.test +15 −5 Original line number Diff line number Diff line Loading @@ -299,19 +299,29 @@ select 'aaa\\','aa''a',"aa""a"; # # Check of include/show_msg.inc # Check of include/show_msg.inc and include/show_msg80.inc # # The message contains in most cases a string with the default character set SET @message = 'Here comes a message'; let $message= Here comes a message; --source include/show_msg.inc # The message could also contain a string with character set utf8 SET @message = USER(); let $message= `SELECT USER()`; --source include/show_msg.inc # The message contains more then 80 characters on multiple lines SET @message = 'Here comes a very very long message that is longer then 80 characters on multiple lines'; # and is kept between double quotes. let $message= "Here comes a very very long message that - is longer then 80 characters and - consists of several lines"; --source include/show_msg80.inc # The message contains more then 80 characters on multiple lines # and uses the auxiliary character "." at the beginning of the message lines. let $message= . Here comes a very very long message that . - is longer then 80 characters and . - consists of several lines; --source include/show_msg80.inc