LCOV - code coverage report
Current view: top level - src/odbc/unittests - date.c (source / functions) Hit Total Coverage
Test: FreeTDS coverage Lines: 20 22 90.9 %
Date: 2025-02-21 09:36:06 Functions: 2 2 100.0 %

          Line data    Source code
       1             : #include "common.h"
       2             : 
       3             : static void
       4          20 : DoTest(int n)
       5             : {
       6             :         SQLCHAR output[256];
       7             : 
       8             :         SQLSMALLINT colType;
       9             :         SQLULEN colSize;
      10             :         SQLSMALLINT colScale, colNullable;
      11             :         SQLLEN dataSize;
      12             : 
      13             :         TIMESTAMP_STRUCT ts;
      14             : 
      15          20 :         odbc_command("select convert(datetime, '2002-12-27 18:43:21')");
      16             : 
      17          20 :         CHKFetch("SI");
      18          20 :         CHKDescribeCol(1, (SQLTCHAR*)output, sizeof(output)/sizeof(SQLWCHAR), NULL, &colType, &colSize, &colScale, &colNullable, "S");
      19             : 
      20          20 :         if (n == 0) {
      21          10 :                 memset(&ts, 0, sizeof(ts));
      22          10 :                 CHKGetData(1, SQL_C_TIMESTAMP, &ts, sizeof(ts), &dataSize, "S");
      23          10 :                 sprintf((char *) output, "%04d-%02d-%02d %02d:%02d:%02d.000", ts.year, ts.month, ts.day, ts.hour, ts.minute, ts.second);
      24             :         } else {
      25          10 :                 CHKGetData(1, SQL_C_CHAR, output, sizeof(output), &dataSize, "S");
      26             :         }
      27             : 
      28          20 :         printf("Date returned: %s\n", output);
      29          20 :         if (strcmp((char *) output, "2002-12-27 18:43:21.000") != 0) {
      30           0 :                 fprintf(stderr, "Invalid returned date\n");
      31           0 :                 exit(1);
      32             :         }
      33             : 
      34          20 :         CHKFetch("No");
      35          20 :         CHKCloseCursor("SI");
      36          20 : }
      37             : 
      38             : int
      39          10 : main(void)
      40             : {
      41          10 :         odbc_connect();
      42             : 
      43          10 :         DoTest(0);
      44          10 :         DoTest(1);
      45             : 
      46          10 :         odbc_disconnect();
      47             : 
      48          10 :         printf("Done.\n");
      49             :         return 0;
      50             : }

Generated by: LCOV version 1.13