summaryrefslogtreecommitdiff
path: root/mysql-test/suite/funcs_2
diff options
context:
space:
mode:
authorMatthias Leich <mleich@mysql.com>2008-07-09 20:55:23 +0200
committerMatthias Leich <mleich@mysql.com>2008-07-09 20:55:23 +0200
commit1d9fab7f4d622ebf8830a250d0000543fb10e90f (patch)
tree5a7ea2f811a0a6765170da8455a924f194eb0dc6 /mysql-test/suite/funcs_2
parentc4b408f96dd2bccc279b602dfdb813155b908d48 (diff)
parenta81572bc425727bda467f69ee5a5e2349c5144bb (diff)
downloadmariadb-git-1d9fab7f4d622ebf8830a250d0000543fb10e90f.tar.gz
Upmerge 5.0 -> 5.1
Diffstat (limited to 'mysql-test/suite/funcs_2')
-rw-r--r--mysql-test/suite/funcs_2/charset/charset_master.test90
-rw-r--r--mysql-test/suite/funcs_2/t/innodb_charset.test12
-rw-r--r--mysql-test/suite/funcs_2/t/memory_charset.test12
-rw-r--r--mysql-test/suite/funcs_2/t/myisam_charset.test12
-rw-r--r--mysql-test/suite/funcs_2/t/ndb_charset.test12
5 files changed, 114 insertions, 24 deletions
diff --git a/mysql-test/suite/funcs_2/charset/charset_master.test b/mysql-test/suite/funcs_2/charset/charset_master.test
index a241e62f0f4..09e24e2c246 100644
--- a/mysql-test/suite/funcs_2/charset/charset_master.test
+++ b/mysql-test/suite/funcs_2/charset/charset_master.test
@@ -1,14 +1,96 @@
#################################################################################
-# Author: Serge Kozlov #
-# Date: 09/21/2005 #
-# Purpose: used by ../t/*_charset.test #
-# Require: set $engine_type= [NDB,MyISAM,InnoDB,etc] before calling #
+# Author: Serge Kozlov #
+# Date: 2005-09-21 #
+# Purpose: used by ../t/*_charset.test #
+# Require: set $engine_type= [NDB,MyISAM,InnoDB,etc] before calling #
+# #
+# Last modification: Matthias Leich #
+# Date: 2008-07-02 #
+# Purpose: Fix Bug#37160 funcs_2: The tests do not check if optional character #
+# sets exist. #
+# Add checking of prerequisites + minor cleanup #
#################################################################################
#
#
#
+# Check that all character sets needed are available
+# Note(mleich):
+# It is intentional that the common solution with
+# "--source include/have_<character set>.inc"
+# is not applied.
+# - We currently do not have such a prerequisite test for every character set
+# /collation needed.
+# - There is also no real value in mentioning the first missing character set
+# /collation within the "skip message" because it is most probably only
+# one of many.
+#
+# Hint: 5 character_set_names per source line if possible
+if (`SELECT COUNT(*) <> 36 FROM information_schema.character_sets
+ WHERE CHARACTER_SET_NAME IN (
+ 'armscii8', 'ascii' , 'big5' , 'binary' , 'cp1250',
+ 'cp1251' , 'cp1256' , 'cp1257' , 'cp850' , 'cp852' ,
+ 'cp866' , 'cp932' , 'dec8' , 'eucjpms', 'euckr' ,
+ 'gb2312' , 'gbk' , 'geostd8', 'greek' , 'hebrew',
+ 'hp8' , 'keybcs2', 'koi8r' , 'koi8u' , 'latin1',
+ 'latin2' , 'latin5' , 'latin7' , 'macce' , 'macroman',
+ 'sjis' , 'swe7' , 'tis620' , 'ucs2' , 'ujis',
+ 'utf8'
+ )`)
+{
+ --skip Not all character sets required for this test are present
+}
+# Check that all collations needed are available
+# Hint: 4 collation_names per source line if possible
+if (`SELECT COUNT(*) <> 123 FROM information_schema.collations
+WHERE collation_name IN (
+'armscii8_bin', 'armscii8_general_ci', 'ascii_bin', 'ascii_general_ci',
+'big5_bin', 'big5_chinese_ci', 'cp1250_bin', 'cp1250_croatian_ci',
+'cp1250_czech_cs', 'cp1250_general_ci', 'cp1251_bin', 'cp1251_bulgarian_ci',
+'cp1251_general_ci', 'cp1251_general_cs', 'cp1251_ukrainian_ci', 'cp1256_bin',
+'cp1256_general_ci', 'cp1257_bin', 'cp1257_general_ci', 'cp1257_lithuanian_ci',
+'cp850_bin', 'cp850_general_ci', 'cp852_bin', 'cp852_general_ci',
+'cp866_bin', 'cp866_general_ci', 'cp932_bin', 'cp932_japanese_ci',
+'dec8_bin', 'dec8_swedish_ci', 'eucjpms_bin', 'eucjpms_japanese_ci',
+'euckr_bin', 'euckr_korean_ci', 'gb2312_bin', 'gb2312_chinese_ci',
+'gbk_bin', 'gbk_chinese_ci', 'geostd8_bin', 'geostd8_general_ci',
+'greek_bin', 'greek_general_ci', 'hebrew_bin', 'hebrew_general_ci',
+'hp8_bin', 'hp8_english_ci', 'keybcs2_bin', 'keybcs2_general_ci',
+'koi8r_bin', 'koi8r_general_ci', 'koi8u_bin', 'koi8u_general_ci',
+'latin1_bin', 'latin1_danish_ci', 'latin1_general_ci', 'latin1_general_cs',
+'latin1_german1_ci', 'latin1_german2_ci', 'latin1_spanish_ci', 'latin1_swedish_ci',
+'latin2_bin', 'latin2_croatian_ci', 'latin2_czech_cs', 'latin2_general_ci',
+'latin2_hungarian_ci', 'latin5_bin', 'latin5_turkish_ci', 'latin7_bin',
+'latin7_estonian_cs', 'latin7_general_ci', 'latin7_general_cs', 'macce_bin',
+'macce_general_ci', 'macroman_bin', 'macroman_general_ci', 'sjis_bin',
+'sjis_japanese_ci', 'swe7_bin', 'swe7_swedish_ci', 'tis620_bin',
+'tis620_thai_ci', 'ucs2_bin', 'ucs2_czech_ci', 'ucs2_danish_ci',
+'ucs2_estonian_ci', 'ucs2_general_ci', 'ucs2_hungarian_ci', 'ucs2_icelandic_ci',
+'ucs2_latvian_ci', 'ucs2_lithuanian_ci', 'ucs2_persian_ci', 'ucs2_polish_ci',
+'ucs2_roman_ci', 'ucs2_romanian_ci', 'ucs2_slovak_ci', 'ucs2_slovenian_ci',
+'ucs2_spanish2_ci', 'ucs2_spanish_ci', 'ucs2_swedish_ci', 'ucs2_turkish_ci',
+'ucs2_unicode_ci', 'ujis_bin', 'ujis_japanese_ci', 'utf8_bin',
+'utf8_czech_ci', 'utf8_danish_ci', 'utf8_estonian_ci', 'utf8_general_ci',
+'utf8_hungarian_ci', 'utf8_icelandic_ci', 'utf8_latvian_ci', 'utf8_lithuanian_ci',
+'utf8_persian_ci', 'utf8_polish_ci', 'utf8_roman_ci', 'utf8_romanian_ci',
+'utf8_slovak_ci', 'utf8_slovenian_ci', 'utf8_spanish2_ci', 'utf8_spanish_ci',
+'utf8_swedish_ci', 'utf8_turkish_ci', 'utf8_unicode_ci'
+)`)
+{
+ --skip Not all collations required for this test are present
+}
+
+################################
+let $check_std_csets= 1;
+let $check_ucs2_csets= 1;
+let $check_utf8_csets= 1;
+
+#
+# Check all charsets/collation combinations
+#
+
+################################
let $check_std_csets= 1;
let $check_ucs2_csets= 1;
let $check_utf8_csets= 1;
diff --git a/mysql-test/suite/funcs_2/t/innodb_charset.test b/mysql-test/suite/funcs_2/t/innodb_charset.test
index 5d4a72cfa2e..b77bacfc01c 100644
--- a/mysql-test/suite/funcs_2/t/innodb_charset.test
+++ b/mysql-test/suite/funcs_2/t/innodb_charset.test
@@ -1,8 +1,10 @@
-#################################################################################
-# Author: Serge Kozlov #
-# Date: 09/21/2005 #
-# Purpose: Testing the charsets for InnoDB engine #
-#################################################################################
+################################################################################
+# Author: Serge Kozlov #
+# Date: 2005-09-21 #
+# Purpose: Testing the charsets for InnoDB engine #
+# #
+# Checking of other prerequisites is in charset_master.test #
+################################################################################
--source include/have_innodb.inc
diff --git a/mysql-test/suite/funcs_2/t/memory_charset.test b/mysql-test/suite/funcs_2/t/memory_charset.test
index ce9b80462f1..cc878652bfa 100644
--- a/mysql-test/suite/funcs_2/t/memory_charset.test
+++ b/mysql-test/suite/funcs_2/t/memory_charset.test
@@ -1,8 +1,10 @@
-#################################################################################
-# Author: Serge Kozlov #
-# Date: 09/21/2005 #
-# Purpose: Testing the charsets for Memory engine #
-#################################################################################
+################################################################################
+# Author: Serge Kozlov #
+# Date: 2005-09-21 #
+# Purpose: Testing the charsets for Memory engine #
+# #
+# Checking of other prerequisites is in charset_master.test #
+################################################################################
let $engine_type= Memory;
--source suite/funcs_2/charset/charset_master.test
diff --git a/mysql-test/suite/funcs_2/t/myisam_charset.test b/mysql-test/suite/funcs_2/t/myisam_charset.test
index b3f862c89de..e9a62e1060b 100644
--- a/mysql-test/suite/funcs_2/t/myisam_charset.test
+++ b/mysql-test/suite/funcs_2/t/myisam_charset.test
@@ -1,8 +1,10 @@
-#################################################################################
-# Author: Serge Kozlov #
-# Date: 09/21/2005 #
-# Purpose: Testing the charsets for MyISAM engine #
-#################################################################################
+################################################################################
+# Author: Serge Kozlov #
+# Date: 2005-09-21 #
+# Purpose: Testing the charsets for MyISAM engine #
+# #
+# Checking of other prerequisites is in charset_master.test #
+################################################################################
let $engine_type= MyISAM;
--source suite/funcs_2/charset/charset_master.test
diff --git a/mysql-test/suite/funcs_2/t/ndb_charset.test b/mysql-test/suite/funcs_2/t/ndb_charset.test
index 72ebbad43d7..68665cc1ae5 100644
--- a/mysql-test/suite/funcs_2/t/ndb_charset.test
+++ b/mysql-test/suite/funcs_2/t/ndb_charset.test
@@ -1,8 +1,10 @@
-#################################################################################
-# Author: Serge Kozlov #
-# Date: 09/21/2005 #
-# Purpose: Testing the charsets for NDB engine #
-#################################################################################
+################################################################################
+# Author: Serge Kozlov #
+# Date: 09/21/2005 #
+# Purpose: Testing the charsets for NDB engine #
+# #
+# Checking of other prerequisites is in charset_master.test #
+################################################################################
--source include/have_ndb.inc
--source include/not_embedded.inc