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_jbalint | jbalint | 2 Apr |