From 2545d83f31119724b85a040cc70eec1ba5581738 Mon Sep 17 00:00:00 2001 From: "mleich@mysql.com" <> Date: Wed, 15 Jun 2005 19:16:17 +0200 Subject: [PATCH] Improvement of the auxiliary routines include/show_msg*.inc - replace @message by $message --> The annoying protocol line "SET @message= " will disappear. - extended description - some examples added --- mysql-test/include/show_msg.inc | 10 +++- mysql-test/include/show_msg80.inc | 82 ++++++++++++++++++++++++++++--- mysql-test/r/mysqltest.result | 9 ++-- mysql-test/t/mysqltest.test | 12 +++-- 4 files changed, 92 insertions(+), 21 deletions(-) diff --git a/mysql-test/include/show_msg.inc b/mysql-test/include/show_msg.inc index 5a29541edcf..659dce14686 100755 --- a/mysql-test/include/show_msg.inc +++ b/mysql-test/include/show_msg.inc @@ -6,13 +6,19 @@ # Usage: # Add the following to any *.test file: # : -# set @message="This is a message example"; +# let $message= ; # --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)); diff --git a/mysql-test/include/show_msg80.inc b/mysql-test/include/show_msg80.inc index d9a59c5517a..acc2c4301a3 100755 --- a/mysql-test/include/show_msg80.inc +++ b/mysql-test/include/show_msg80.inc @@ -1,22 +1,88 @@ #### 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= ; # --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. They must be escaped like "''" or "\'". +# +# +# Content of "$message" and protocol output depending on the assignement: +# ----------------------------------------------------------------------- +# first char after "$message=", +# where the content is not (space or tab) +# first chat after beginning of the line, +# where the content is not (space or tab) +# last char before ";" +# | beginning or end of line +# +# script: let $message= | +# | | +# |................| +# | ; +# content: " +# ...." +# protocol output: || +# || +# |.....| +# || +# |--- 80 dashes ---| +# +# +# Examples of messages: +# --------------------- +# +# Several lines with indentation variant 1: +# 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 "." preserves the indentation. +# - it is easy to write the script lines to get a fine indentation +# - the "." is printed +# +# Several lines with indentation variant 2: +# 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 not so easy to write the script lines to get a fine indentation +# - the '"' is printed +# +# Several lines with lost indentation (negative example) +# 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. +# --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); diff --git a/mysql-test/r/mysqltest.result b/mysql-test/r/mysqltest.result index 87e2fca970b..63123b418eb 100644 --- a/mysql-test/r/mysqltest.result +++ b/mysql-test/r/mysqltest.result @@ -148,17 +148,14 @@ 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" -------------------------------------------------------------------------------- diff --git a/mysql-test/t/mysqltest.test b/mysql-test/t/mysqltest.test index 4e16e57058d..43e82c4037b 100644 --- a/mysql-test/t/mysqltest.test +++ b/mysql-test/t/mysqltest.test @@ -299,19 +299,21 @@ 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'; +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