LTP GCOV extension - code coverage report
Current view: directory - dblib/unittests - t0020.c
Test: FreeTDS coverage
Date: 2008-11-21 Instrumented lines: 44
Code covered: 86.4 % Executed lines: 38

       1                 : /* 
       2                 :  * Purpose: Test for proper return code from dbsqlexec()
       3                 :  * Functions: db_name dbcmd dberrhandle dbmsghandle dbnextrow dbopen dbresults dbsqlexec
       4                 :  */
       5                 : 
       6                 : #if HAVE_CONFIG_H
       7                 : #include <config.h>
       8                 : #endif /* HAVE_CONFIG_H */
       9                 : 
      10                 : #include <stdio.h>
      11                 : 
      12                 : #if HAVE_STDLIB_H
      13                 : #include <stdlib.h>
      14                 : #endif /* HAVE_STDLIB_H */
      15                 : 
      16                 : #if HAVE_STRING_H
      17                 : #include <string.h>
      18                 : #endif /* HAVE_STRING_H */
      19                 : 
      20                 : #include <sqlfront.h>
      21                 : #include <sqldb.h>
      22                 : 
      23                 : #include "common.h"
      24                 : 
      25                 : static char software_version[] = "$Id: t0020.c,v 1.13 2005/04/19 03:51:04 jklowden Exp $";
      26                 : static void *no_unused_var_warn[] = { software_version, no_unused_var_warn };
      27                 : 
      28                 : 
      29                 : 
      30                 : int failed = 0;
      31                 : 
      32                 : 
      33                 : int
      34                 : main(int argc, char **argv)
      35               2 : {
      36                 :         LOGINREC *login;
      37                 :         DBPROCESS *dbproc;
      38                 :         RETCODE ret;
      39                 : 
      40               2 :         set_malloc_options();
      41                 : 
      42               2 :         read_login_info(argc, argv);
      43                 : 
      44               2 :         fprintf(stdout, "Start\n");
      45               2 :         add_bread_crumb();
      46                 : 
      47                 :         /* Fortify_EnterScope(); */
      48               2 :         dbinit();
      49                 : 
      50               2 :         add_bread_crumb();
      51               2 :         dberrhandle(syb_err_handler);
      52               2 :         dbmsghandle(syb_msg_handler);
      53                 : 
      54               2 :         fprintf(stdout, "About to logon\n");
      55                 : 
      56               2 :         add_bread_crumb();
      57               2 :         login = dblogin();
      58               2 :         DBSETLPWD(login, PASSWORD);
      59               2 :         DBSETLUSER(login, USER);
      60               2 :         DBSETLAPP(login, "t0020");
      61                 : 
      62               2 :         fprintf(stdout, "About to open\n");
      63                 : 
      64               2 :         add_bread_crumb();
      65               2 :         dbproc = dbopen(login, SERVER);
      66               2 :         if (strlen(DATABASE))
      67               2 :                 dbuse(dbproc, DATABASE);
      68               2 :         add_bread_crumb();
      69               2 :         dbloginfree(login);
      70               2 :         add_bread_crumb();
      71                 : 
      72               2 :         dbcmd(dbproc, "select dsjfkl dsjf");
      73               2 :         fprintf(stderr, "The following invalid column error is normal.\n");
      74               2 :         ret = dbsqlexec(dbproc);
      75               2 :         if (ret != FAIL) {
      76               0 :                 failed = 1;
      77               0 :                 fprintf(stderr, "Failed.  Expected FAIL to be returned.\n");
      78               0 :                 exit(1);
      79                 :         }
      80                 : 
      81               2 :         dbcmd(dbproc, "select db_name()");
      82               2 :         ret = dbsqlexec(dbproc);
      83               2 :         if (ret != SUCCEED) {
      84               0 :                 failed = 1;
      85               0 :                 fprintf(stderr, "Failed.  Expected SUCCEED to be returned.\n");
      86               0 :                 exit(1);
      87                 :         }
      88                 : 
      89               6 :         while (dbresults(dbproc) != NO_MORE_RESULTS) {
      90               4 :                 while (dbnextrow(dbproc) != NO_MORE_ROWS);
      91                 :         }
      92                 : 
      93               2 :         add_bread_crumb();
      94               2 :         dbexit();
      95               2 :         add_bread_crumb();
      96                 : 
      97               2 :         fprintf(stdout, "dblib %s on %s\n", (failed ? "failed!" : "okay"), __FILE__);
      98               2 :         free_bread_crumb();
      99               2 :         return failed ? 1 : 0;
     100                 : }

Generated by: LTP GCOV extension version 1.6