List:Commits« Previous MessageNext Message »
From:sebrecht Date:August 14 2007 8:17am
Subject:ODBC C-tests commit: r161 - in trunk: . testsuites testsuites/t_bug_30235
View as plain text  
Added:
   trunk/testsuites/t_bug_30235/
   trunk/testsuites/t_bug_30235/bug30235.c
   trunk/testsuites/t_bug_30235/t_bug_30235.h
   trunk/testsuites/t_bug_30235/t_bug_30235_suite.c
Modified:
   trunk/CMakeLists.txt
Log:
add test for bug 30235 


Modified: trunk/CMakeLists.txt
===================================================================
--- trunk/CMakeLists.txt	2007-07-17 15:27:41 UTC (rev 160)
+++ trunk/CMakeLists.txt	2007-08-14 06:17:27 UTC (rev 161)
@@ -16,6 +16,8 @@
   option(use_unixodbc "Build w/unixODBC as driver manager")
   option(use_libiodbc "Build w/libiodbc as driver manager")
 
+  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ggdb3")
+
   # make sure both odbc libs weren't specified
   if(use_unixodbc AND use_libiodbc)
     message(FATAL_ERROR "Cannot use both unixODBC and libiodbc.

Added: trunk/testsuites/t_bug_30235/bug30235.c
===================================================================
--- trunk/testsuites/t_bug_30235/bug30235.c	2007-07-17 15:27:41 UTC (rev 160)
+++ trunk/testsuites/t_bug_30235/bug30235.c	2007-08-14 06:17:27 UTC (rev 161)
@@ -0,0 +1,77 @@
+/* ******************************************
+ * This test shows bug 30235
+
+ * created: 08/08/2007 susanne
+
+ ****************************************** */
+
+
+#include "t_bug_30235.h"
+
+OT_TEST_METHOD(selectdate)
+{
+  SQLRETURN rc;
+  int i= 0;
+  SQLHANDLE stmt= get_statement();
+  SQLLEN len;
+  char *qry1= "select date_sub('2007-08-03 17:33:00', interval 1 minute) as field";
+  char *qry2= "select date_sub('2005-11-14 16:00:00', interval 1 minute) as field";
+  char *qry3= "select date_add('1999-12-31 14:59:00', interval 1 minute) as field";
+  char *qry4= "select date_sub('2000-01-01 00:58:00', interval 1 hour) as field";
+  
+  CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry1, SQL_NTS), stmt);
+
+  if((rc= SQLFetch(stmt)) == SQL_SUCCESS)
+  {
+    SQLCHAR rs [STRLEN];
+    CHECK_SQL_S(SQLGetData(stmt, 1, SQL_C_CHAR, rs, STRLEN, &len), stmt);
+    test_printf("result (2007-08-03 17:33:00) - 1 min.: %s\n",rs);
+    if(strncmp(rs, "2007-08-03 17:32:00",19) != 0)
+      OT_FAIL("Wrong data result for date_sub and minute interval.");
+  }
+  else
+    OT_FAIL("No data found for select date_sub.");
+  reset_statement(stmt);
+
+  CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry2, SQL_NTS), stmt);
+
+  if((rc= SQLFetch(stmt)) == SQL_SUCCESS)
+  {
+    SQLCHAR rs [STRLEN];
+    CHECK_SQL_S(SQLGetData(stmt, 1, SQL_C_CHAR, rs, STRLEN, &len), stmt);
+    test_printf("result (2005-11-14 16:00:00) - 1 min.: %s\n",rs);
+    if(strncmp(rs, "2005-11-14 15:59:00",19) != 0)
+      OT_FAIL("Wrong data result for date_sub and minute interval.");
+  }
+  else
+    OT_FAIL("No data found for select date_sub and even hours.");
+  reset_statement(stmt);
+
+  CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry3, SQL_NTS), stmt);
+
+  if((rc= SQLFetch(stmt)) == SQL_SUCCESS)
+  {
+    SQLCHAR rs [STRLEN];
+    CHECK_SQL_S(SQLGetData(stmt, 1, SQL_C_CHAR, rs, STRLEN, &len), stmt);
+    test_printf("result (1999-12-31 14:59:00) + 1 min.: %s\n",rs);
+    if(strncmp(rs, "1999-12-31 15:00:00",19) != 0)
+      OT_FAIL("Wrong data result for date_add and minute interval.");
+  }
+  else
+    OT_FAIL("No data found for select date_add.");
+  reset_statement(stmt);
+
+  CHECK_SQL_S(SQLExecDirect(stmt, (SQLCHAR *)qry4, SQL_NTS), stmt);
+
+  if((rc= SQLFetch(stmt)) == SQL_SUCCESS)
+  {
+    SQLCHAR rs [STRLEN];
+    CHECK_SQL_S(SQLGetData(stmt, 1, SQL_C_CHAR, rs, STRLEN, &len), stmt);
+    test_printf("result (2000-01-01 00:58:00) - 1 hour: %s\n",rs);
+    if(strncmp(rs, "1999-12-31 23:58:00",19) != 0)
+      OT_FAIL("Wrong data result for date_sub and hour interval.");
+  }
+  else
+    OT_FAIL("No data found for select date_sub and hour interval.");
+  free_statement(stmt);
+}

Added: trunk/testsuites/t_bug_30235/t_bug_30235.h
===================================================================
--- trunk/testsuites/t_bug_30235/t_bug_30235.h	2007-07-17 15:27:41 UTC (rev 160)
+++ trunk/testsuites/t_bug_30235/t_bug_30235.h	2007-08-14 06:17:27 UTC (rev 161)
@@ -0,0 +1,13 @@
+#include "odbctest.h"
+
+/* test data definitions */
+extern const char *TD_DBNAME;
+
+extern const int TD_ALLTYPES_COLS;
+
+/* create tests */
+OT_TEST_METHOD(selectdate);
+
+
+
+

Added: trunk/testsuites/t_bug_30235/t_bug_30235_suite.c
===================================================================
--- trunk/testsuites/t_bug_30235/t_bug_30235_suite.c	2007-07-17 15:27:41 UTC (rev 160)
+++ trunk/testsuites/t_bug_30235/t_bug_30235_suite.c	2007-08-14 06:17:27 UTC (rev 161)
@@ -0,0 +1,22 @@
+#include "t_bug_30235.h"
+
+OT_SUITE_SETUP(bug_30235_suite_setup)
+{  
+  if (!global_connect())
+    return "Cannot create global connection!";
+  else
+    return NULL;
+}
+
+OT_SUITE_TEARDOWN(bug_30235_suite_teardown)
+{
+  global_disconnect();
+  return NULL;
+}
+
+OT_SUITE_REGISTER_START("bug_30235",bug_30235_suite_setup,bug_30235_suite_teardown)
+/* create tests */
+OT_SUITE_ADD_TEST(selectdate, NULL, NULL);
+
+OT_SUITE_REGISTER_END
+

Thread
ODBC C-tests commit: r161 - in trunk: . testsuites testsuites/t_bug_30235sebrecht14 Aug