List:Commits« Previous MessageNext Message »
From:jbalint Date:April 2 2007 4:20pm
Subject:ODBC C-tests commit: r47 - trunk/testsuites/t_jbalint
View as plain text  
Added:
   trunk/testsuites/t_jbalint/README.txt
   trunk/testsuites/t_jbalint/init_test_db.sql
Modified:
   trunk/testsuites/t_jbalint/catalog.c
   trunk/testsuites/t_jbalint/t_jbalint.h
   trunk/testsuites/t_jbalint/t_jbalint_suite.c
Log:
added init sql for t_jbalint
some small clean-ups

Added: trunk/testsuites/t_jbalint/README.txt
===================================================================
--- trunk/testsuites/t_jbalint/README.txt	2007-03-30 10:13:04 UTC (rev 46)
+++ trunk/testsuites/t_jbalint/README.txt	2007-04-02 16:20:35 UTC (rev 47)
@@ -0,0 +1,5 @@
+MySQL Connector/ODBC v5
+ODBC API Tests
+
+Load the init_test_db.sql into your test database before running.
+

Modified: trunk/testsuites/t_jbalint/catalog.c
===================================================================
--- trunk/testsuites/t_jbalint/catalog.c	2007-03-30 10:13:04 UTC (rev 46)
+++ trunk/testsuites/t_jbalint/catalog.c	2007-04-02 16:20:35 UTC (rev 47)
@@ -71,7 +71,7 @@
         test_printf("\tname=%s,namelen=%d,type=%d,colsz=%d,"
             "decimaldigits=%d,nullable=%d\n", names[i], namelen[i],
             type[i], size[i], decdigits[i], nullable[i]);
-        CuAssertStrEquals_Msg(tc, "Field name", realname[i], names[i]);
+        OT_ASSERT_STR_MSG("Field name", realname[i], names[i]);
         CuAssertIntEquals_Msg(tc, "Field name length",
             (int)strlen(realname[i]), namelen[i]);
         CuAssertIntEquals_Msg(tc, "Type", realtype[i], type[i]);
@@ -368,25 +368,25 @@
 
     test_printf("\tCatalog=%s\n", catalog);
     /*
-    CuAssertStrEquals_Msg(tc, "Catalog name", TD_DBNAME, catalog);
+    OT_ASSERT_STR_MSG("Catalog name", TD_DBNAME, catalog);
     CuAssertIntEquals(tc, (int)strlen(TD_DBNAME), len[PKCAT]);
     */
     test_printf("\tSchema=<null>\n");
     CuAssertIntEquals_Msg(tc, "Schema is NULL", SQL_NULL_DATA, len[PKSCH]);
     test_printf("\tTable=%s\n", table);
-    CuAssertStrEquals_Msg(tc, "Table name", testtable, table);
+    OT_ASSERT_STR_MSG("Table name", testtable, table);
     CuAssertIntEquals(tc, (int)strlen(testtable), len[PKTBL]);
     test_printf("\tColumn=%s\n", column);
-    CuAssertStrEquals_Msg(tc, "Column name", realpkcolumn, column);
+    OT_ASSERT_STR_MSG("Column name", realpkcolumn, column);
     CuAssertIntEquals(tc, (int)strlen(realpkcolumn), len[PKCOL]);
     test_printf("\tSequence=%d\n", keyseq);
     CuAssertIntEquals_Msg(tc, "Only one primary key", 1, keyseq);
     test_printf("\tName=%s\n", pkname);
-    CuAssertStrEquals_Msg(tc, "Pk name", realpkname, pkname);
+    OT_ASSERT_STR_MSG("Pk name", realpkname, pkname);
     CuAssertIntEquals(tc, (int)strlen(realpkname), len[PKNAM]);
 
     CHECK_SQL_RC(rc = SQLFetch(stmt), stmt, SQL_HANDLE_STMT, SQL_NO_DATA);
-    CuAssertIntEquals(tc, SQL_NO_DATA, rc);
+    OT_ASSERT_INT(SQL_NO_DATA, rc);
 
     free_statement(stmt);
 }
@@ -394,10 +394,8 @@
 /*
  * Test the use of SQLStatistics on the simple1 table. This contains
  * one primary and one other unique index.
- *
- * TODO we could use constants for column offsets.
  */
-OT_TEST_METHOD(statistics)
+OT_TEST_METHOD(statistics_basic)
 {
     SQLHANDLE stmt = get_statement();
 
@@ -418,7 +416,11 @@
     const char *realcol[] = {"rowid", "details"};
     const char *tablename = "simple1";
     const int idxcnt = 2;
+    SQLCHAR currdb[STRLEN];
 
+    CHECK_SQL_S(get_currdb(stmt, currdb), stmt);
+    reset_statement(stmt);
+
     CHECK_SQL_S(SQLStatistics(stmt, NULL, 0, NULL, 0,
         (SQLCHAR *)tablename, SQL_NTS, SQL_INDEX_ALL, SQL_QUICK), stmt);
 
@@ -460,39 +462,36 @@
         test_printf("\tCardinality=%d,pages=%d,filtcond=%s\n", card, pages,
             len[12] == SQL_NULL_DATA ? "<null>" : (const char *)filtcond);
 
-        /*
-        CuAssertStrEquals_Msg(tc, "Catalog", TD_DBNAME, cat);
-        */
-        CuAssertStrEquals_Msg(tc, "Schema is blank", "", sch);
-        CuAssertStrEquals_Msg(tc, "Table", tablename, tbl);
-        CuAssertIntEquals_Msg(tc, "Non-unique", SQL_FALSE, nonunique);
+        OT_ASSERT_STR_MSG("Catalog", currdb, cat);
+        OT_ASSERT_STR_MSG("Schema is blank", "", sch);
+        OT_ASSERT_STR_MSG("Table", tablename, tbl);
+        OT_ASSERT_INT_MSG("Non-unique", SQL_FALSE, nonunique);
         /* qual is NULL */
-        CuAssertStrEquals_Msg(tc, "Index name", realidx[i], idxnam);
-        CuAssertIntEquals_Msg(tc, "Index type", SQL_INDEX_OTHER, type);
-        CuAssertIntEquals_Msg(tc,
-            "Column position in index - single column index", 1, ord);
-        CuAssertStrEquals_Msg(tc, "Column", realcol[i], col);
-        CuAssertStrEquals_Msg(tc, "Order", "A", order);
-        CuAssertIntEquals_Msg(tc, "Cardinality", TD_SIMPLE1_ROWS, card);
+        OT_ASSERT_STR_MSG("Index name", realidx[i], idxnam);
+        OT_ASSERT_INT_MSG("Index type", SQL_INDEX_OTHER, type);
+        OT_ASSERT_INT_MSG("Column position in index", 1, ord);
+        OT_ASSERT_STR_MSG("Column", realcol[i], col);
+        OT_ASSERT_STR_MSG("Order", "A", order);
+        OT_ASSERT_INT_MSG("Cardinality", TD_SIMPLE1_ROWS, card);
         /* pages, filtcond are NULL */
 
         /* check string lengths and nulls */
-        CuAssertIntEquals(tc, (int)strlen(cat), len[0]);
-        CuAssertIntEquals(tc, (int)strlen(sch), len[1]);
-        CuAssertIntEquals(tc, (int)strlen(tbl), len[2]);
-        CuAssertIntEquals(tc, sizeof(SQLSMALLINT), len[3]);
-        CuAssertIntEquals(tc, SQL_NULL_DATA, len[4]);
-        CuAssertIntEquals(tc, (int)strlen(idxnam), len[5]);
-        CuAssertIntEquals(tc, sizeof(SQLSMALLINT), len[6]);
-        CuAssertIntEquals(tc, sizeof(SQLSMALLINT), len[7]);
-        CuAssertIntEquals(tc, (int)strlen(col), len[8]);
-        CuAssertIntEquals(tc, (int)strlen(order), len[9]);
-        CuAssertIntEquals(tc, sizeof(SQLINTEGER), len[10]);
-        CuAssertIntEquals(tc, SQL_NULL_DATA, len[11]);
-        CuAssertIntEquals(tc, SQL_NULL_DATA, len[12]);
+        OT_ASSERT_INT((int)strlen(cat), len[0]);
+        OT_ASSERT_INT((int)strlen(sch), len[1]);
+        OT_ASSERT_INT((int)strlen(tbl), len[2]);
+        OT_ASSERT_INT(sizeof(SQLSMALLINT), len[3]);
+        OT_ASSERT_INT(SQL_NULL_DATA, len[4]);
+        OT_ASSERT_INT((int)strlen(idxnam), len[5]);
+        OT_ASSERT_INT(sizeof(SQLSMALLINT), len[6]);
+        OT_ASSERT_INT(sizeof(SQLSMALLINT), len[7]);
+        OT_ASSERT_INT((int)strlen(col), len[8]);
+        OT_ASSERT_INT((int)strlen(order), len[9]);
+        OT_ASSERT_INT(sizeof(SQLINTEGER), len[10]);
+        OT_ASSERT_INT(SQL_NULL_DATA, len[11]);
+        OT_ASSERT_INT(SQL_NULL_DATA, len[12]);
     }
-    CuAssertIntEquals(tc, SQL_NO_DATA, rc);
-    CuAssertIntEquals(tc, idxcnt, i);
+    OT_ASSERT_INT(SQL_NO_DATA, rc);
+    OT_ASSERT_INT(idxcnt, i);
 
     free_statement(stmt);
 }
@@ -542,16 +541,16 @@
         test_printf("--------- Column:\n");
 
         test_printf("\tCatalog=%s\n", catalog);
-        CuAssertStrEquals_Msg(tc, "Catalog name", currdb, catalog);
+        OT_ASSERT_STR_MSG("Catalog name", currdb, catalog);
         CuAssertIntEquals(tc, (int)strlen(currdb), len[COLCAT]);
         test_printf("\tSchema=%s\n", schema);
-        CuAssertStrEquals_Msg(tc, "Schema name", "", schema);
+        OT_ASSERT_STR_MSG("Schema name", "", schema);
         CuAssertIntEquals(tc, 0, len[COLSCH]);
         test_printf("\tTable=%s\n", table);
-        CuAssertStrEquals_Msg(tc, "Table name", TD_SIMPLE1_TBL, table);
+        OT_ASSERT_STR_MSG("Table name", TD_SIMPLE1_TBL, table);
         CuAssertIntEquals(tc, (int)strlen(TD_SIMPLE1_TBL), len[COLTBL]);
         test_printf("\tName=%s\n", colname);
-        CuAssertStrEquals_Msg(tc, "Column name",
+        OT_ASSERT_STR_MSG("Column name",
             TD_SIMPLE1_COLNAMES[i], colname);
         CuAssertIntEquals(tc,
             (int)strlen(TD_SIMPLE1_COLNAMES[i]), len[COLNAM]);
@@ -592,7 +591,7 @@
  * Basic test for SQLTables. Checks the fields and lengths
  * and looks for a "marker" table that should be in the test db.
  */
-OT_TEST_METHOD(tables)
+OT_TEST_METHOD(sqltables_basic)
 {
     SQLHANDLE stmt = get_statement();
     SQLCHAR flds[5][STRLEN];

Added: trunk/testsuites/t_jbalint/init_test_db.sql
===================================================================
--- trunk/testsuites/t_jbalint/init_test_db.sql	2007-03-30 10:13:04 UTC (rev 46)
+++ trunk/testsuites/t_jbalint/init_test_db.sql	2007-04-02 16:20:35 UTC (rev 47)
@@ -0,0 +1,176 @@
+-- MySQL dump 10.10
+--
+-- Host: localhost    Database: test
+-- ------------------------------------------------------
+-- Server version	5.0.26-community-max-nt
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8 */;
+/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
+/*!40103 SET TIME_ZONE='+00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+
+--
+-- Table structure for table `all_types`
+--
+
+DROP TABLE IF EXISTS `all_types`;
+CREATE TABLE `all_types` (
+  `xbit` bit(1) NOT NULL,
+  `xtinyint` tinyint(4) NOT NULL,
+  `xutinyint` tinyint(4) unsigned NOT NULL,
+  `xboolean` tinyint(1) NOT NULL,
+  `xsmallint` smallint(6) NOT NULL,
+  `xusmallint` smallint(6) unsigned NOT NULL,
+  `xmediumint` mediumint(9) NOT NULL,
+  `xumediumint` mediumint(9) unsigned NOT NULL,
+  `xint` int(11) NOT NULL,
+  `xuint` int(11) unsigned NOT NULL,
+  `xbigint` bigint(20) NOT NULL,
+  `xubigint` bigint(20) unsigned NOT NULL,
+  `xfloat` float NOT NULL,
+  `xdouble` double NOT NULL,
+  `xdecimal` decimal(10,0) NOT NULL,
+  `xdate` date NOT NULL,
+  `xdatetime` datetime NOT NULL,
+  `xtimestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
+  `xtime` time NOT NULL,
+  `xyear` year(4) NOT NULL,
+  `xchar` char(10) NOT NULL,
+  `xvarchar` varchar(100) NOT NULL,
+  `xnchar` char(10) character set utf8 NOT NULL,
+  `xnvarchar` varchar(100) character set utf8 NOT NULL,
+  `xbinary` binary(10) NOT NULL,
+  `xvarbinary` varbinary(100) NOT NULL,
+  `xtinyblob` tinyblob NOT NULL,
+  `xtinytext` tinytext NOT NULL,
+  `xblob` blob NOT NULL,
+  `xtext` text NOT NULL,
+  `xmediumblob` mediumblob NOT NULL,
+  `xmediumtext` mediumtext NOT NULL,
+  `xlongblob` longblob NOT NULL,
+  `xlongtext` longtext NOT NULL,
+  `xenum` enum('a','b','c') NOT NULL,
+  `xset` set('james','john','sally') NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `all_types`
+--
+
+LOCK TABLES `all_types` WRITE;
+/*!40000 ALTER TABLE `all_types` DISABLE KEYS */;
+INSERT INTO `all_types` VALUES
('',1,1,1,2,2,2,2,2,2,2,2,3,3,'3','2006-11-07','2006-11-07 04:17:22','2006-11-07
11:22:19','12:32:00',2006,'ccc','vcvc','ncnc','nvnv','bbb\0\0\0\0\0\0\0','vbvb','tbtb','tttt','bbb','ttt','mbmb','mtmt','lblb','ltlt','a','james');
+/*!40000 ALTER TABLE `all_types` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `simple1`
+--
+
+DROP TABLE IF EXISTS `simple1`;
+CREATE TABLE `simple1` (
+  `rowid` int(11) NOT NULL auto_increment,
+  `details` varchar(100) NOT NULL,
+  `age` int(11) NOT NULL default '0',
+  PRIMARY KEY  (`rowid`),
+  UNIQUE KEY `xdetails` (`details`)
+) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `simple1`
+--
+
+LOCK TABLES `simple1` WRITE;
+/*!40000 ALTER TABLE `simple1` DISABLE KEYS */;
+INSERT INTO `simple1` VALUES (1,'time',3),(2,'clock',3),(3,'watch',3);
+/*!40000 ALTER TABLE `simple1` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `simple2`
+--
+
+DROP TABLE IF EXISTS `simple2`;
+CREATE TABLE `simple2` (
+  `rowid` int(11) NOT NULL auto_increment,
+  `details` varchar(100),
+  `age` int(11),
+  PRIMARY KEY  (`rowid`)
+) ENGINE=INNODB DEFAULT CHARSET=latin1;
+
+--
+-- Table structure for table `unicode`
+--
+
+DROP TABLE IF EXISTS `unicode`;
+CREATE TABLE `unicode` (
+  `id` int(11) NOT NULL auto_increment,
+  `sample_data` varchar(200) character set utf8 NOT NULL,
+  PRIMARY KEY  (`id`)
+) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;
+
+--
+-- Dumping data for table `unicode`
+--
+
+LOCK TABLES `unicode` WRITE;
+/*!40000 ALTER TABLE `unicode` DISABLE KEYS */;
+INSERT INTO `unicode` VALUES (1,'AښBﭳCﻺDﯣ'),(2,'a\'b\'c\'d'),(3,'xxx');
+/*!40000 ALTER TABLE `unicode` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Dumping routines for database 'test'
+--
+DELIMITER ;;
+/*!50003 DROP PROCEDURE IF EXISTS `sp_fail` */;;
+/*!50003 SET SESSION SQL_MODE=""*/;;
+/*!50003 CREATE*/ /*!50020 DEFINER=`root`@`localhost`*/ /*!50003 PROCEDURE `sp_fail`()
+begin
+ Select * from asldjklsadjklasdjklda;
+end */;;
+/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
+/*!50003 DROP PROCEDURE IF EXISTS `sp_simple1` */;;
+/*!50003 SET SESSION SQL_MODE=""*/;;
+/*!50003 CREATE*/ /*!50020 DEFINER=`root`@`localhost`*/ /*!50003 PROCEDURE `sp_simple1`()
+begin
+select rowid,details,age from simple1 order by rowid;
+end */;;
+/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
+DELIMITER ;
+
+--
+-- Temporary table structure for view `v_simple1`
+--
+
+DROP TABLE IF EXISTS `v_simple1`;
+/*!50001 DROP VIEW IF EXISTS `v_simple1`*/;
+/*!50001 CREATE TABLE `v_simple1` (
+  `grage` int(11)
+) */;
+
+--
+-- Temporary table structure for view `v_simple_details`
+--
+
+DROP TABLE IF EXISTS `v_simple_details`;
+/*!50001 DROP VIEW IF EXISTS `v_simple_details`*/;
+/*!50001 CREATE TABLE `v_simple_details` (
+  `details` varchar(100)
+) */;
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
+
+-- Dump completed on 2006-12-06 19:37:18

Modified: trunk/testsuites/t_jbalint/t_jbalint.h
===================================================================
--- trunk/testsuites/t_jbalint/t_jbalint.h	2007-03-30 10:13:04 UTC (rev 46)
+++ trunk/testsuites/t_jbalint/t_jbalint.h	2007-04-02 16:20:35 UTC (rev 47)
@@ -41,10 +41,10 @@
 OT_TEST_METHOD(specialcolumns_multicol_uidx_as_rowid);
 OT_TEST_METHOD(specialcolumns_view_no_rowid);
 OT_TEST_METHOD(primarykeys);
-OT_TEST_METHOD(statistics);
+OT_TEST_METHOD(statistics_basic);
 OT_TEST_METHOD(columns);
 OT_TEST_METHOD(columns_alltypes);
-OT_TEST_METHOD(tables);
+OT_TEST_METHOD(sqltables_basic);
 OT_TEST_METHOD(sqltables_catalogs);
 OT_TEST_METHOD(sqltables_schemas);
 OT_TEST_METHOD(sqltables_tbltypes);

Modified: trunk/testsuites/t_jbalint/t_jbalint_suite.c
===================================================================
--- trunk/testsuites/t_jbalint/t_jbalint_suite.c	2007-03-30 10:13:04 UTC (rev 46)
+++ trunk/testsuites/t_jbalint/t_jbalint_suite.c	2007-04-02 16:20:35 UTC (rev 47)
@@ -34,10 +34,10 @@
     OT_SUITE_ADD_TEST(specialcolumns_multicol_uidx_as_rowid, NULL, NULL);
     OT_SUITE_ADD_TEST(specialcolumns_view_no_rowid, NULL, NULL);
     OT_SUITE_ADD_TEST(primarykeys, NULL, NULL);
-    OT_SUITE_ADD_TEST(statistics, NULL, NULL);
+    OT_SUITE_ADD_TEST(statistics_basic, NULL, NULL);
     OT_SUITE_ADD_TEST(columns, NULL, NULL);
     OT_SUITE_ADD_TEST(columns_alltypes, NULL, NULL);
-    OT_SUITE_ADD_TEST(tables, NULL, NULL);
+    OT_SUITE_ADD_TEST(sqltables_basic, NULL, NULL);
     OT_SUITE_ADD_TEST(sqltables_catalogs, NULL, NULL);
     OT_SUITE_ADD_TEST(sqltables_schemas, NULL, NULL);
     OT_SUITE_ADD_TEST(sqltables_tbltypes, NULL, NULL);

Thread
ODBC C-tests commit: r47 - trunk/testsuites/t_jbalintjbalint2 Apr