Changeset 4310
- Timestamp:
- Jun 17, 2005, 2:52:17 PM (21 years ago)
- Location:
- trunk/psLib/test/dataIO
- Files:
-
- 2 edited
-
tst_psDB.c (modified) (5 diffs)
-
verified/tst_psDB.stderr (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/test/dataIO/tst_psDB.c
r4296 r4310 9 9 * @author Aaron Culliney, MHPCC 10 10 * 11 * @version $Revision: 1.2 1$ $Name: not supported by cvs2svn $12 * @date $Date: 2005-06-1 7 21:32:44$11 * @version $Revision: 1.22 $ $Name: not supported by cvs2svn $ 12 * @date $Date: 2005-06-18 00:52:17 $ 13 13 * 14 14 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 89 89 {TPDBSelectColumn, 845, "dbSelectColumn", 0, false}, 90 90 {TPDBSelectColumnNum,846, "dbSelectColumnNum", 0, false}, 91 {TPDBSelectRows, -7, "dbSelectRows", 0, false},92 {TPDBInsertOneRow, -8, "dbInsertOneRow", 0, false},93 {TPDBInsertRows, -9, "dbInsertRows", 0, false},91 {TPDBSelectRows, 847, "dbSelectRows", 0, false}, 92 {TPDBInsertOneRow, 848, "dbInsertOneRow", 0, false}, 93 {TPDBInsertRows, 849, "dbInsertRows", 0, false}, 94 94 {TPDBDumpRows, -10, "dbDumpRows", 0, false}, 95 95 {TPDBDumpCols, -11, "dbDumpCols", 0, false}, … … 997 997 const char* table = "table6"; 998 998 psMetadata *invalidRow = NULL; 999 psArray* ary = NULL; 999 1000 1000 1001 // Create table definition metadata … … 1023 1024 return 3; 1024 1025 } 1026 // Verify row was added to table 1027 ary = psDBSelectRows(dbh,table,NULL,0); 1028 if(ary->n != 1) { 1029 psError(PS_ERR_UNKNOWN,true,"Number of rows %d not as expected %d", 1030 ary->n,1); 1031 psDBDropTable(dbh,table); 1032 psDBCleanup(dbh); 1033 return 30; 1034 } 1035 psFree(ary); 1025 1036 1026 1037 // Insert a single row with NULL database … … 1070 1081 } 1071 1082 1072 // Testpoint # XXX, TPDBInsertRows shall write rows of data into a test table ...1083 // Testpoint #849, TPDBInsertRows shall write rows of data into a test table ... 1073 1084 psS32 TPDBInsertRows( void ) 1074 1085 { 1075 psS32 failed = 0;1076 1086 psDB *dbh = NULL; 1077 1087 const char* table = "table7"; 1078 1088 psArray *rowSet = NULL; 1089 psArray* dumpRowSet = NULL; 1090 psMetadataItem *item=NULL; 1091 psArray* ary = NULL; 1092 psMetadata* invalidRow = NULL; 1093 psArray* invalidRowSet = NULL; 1094 1095 //Create database table definition metadata 1079 1096 psMetadata *row=NULL, *md = _get_CreateTableMetadata(); 1080 psMetadataItem *item=NULL; 1081 1097 1098 // Initialize database connection 1082 1099 dbh = _init_psDB(); 1083 1100 if (dbh == NULL) { 1101 psError(PS_ERR_UNKNOWN,true,"Did not expect NULL for initializing database connection"); 1084 1102 return 1; 1085 1103 } 1086 1104 1087 psLogMsg( __func__, PS_LOG_INFO, "psDBInsertRows shall insert rows into a test table.\n" ); 1088 1089 failed = ! psDBCreateTable(dbh, table, md); 1090 if (!failed) { 1091 rowSet = psArrayAlloc(3); 1092 rowSet->n = 0; 1093 1094 row = _get_const_row1(); 1095 psArrayAdd(rowSet, 0, row); 1096 psFree(row); 1097 1098 row = _get_const_row2(); 1099 psArrayAdd(rowSet, 0, row); 1100 psFree(row); 1101 1102 row = _get_row(); 1103 psArrayAdd(rowSet, 0, row); 1104 psFree(row); 1105 1106 failed = ! psDBInsertRows(dbh, table, rowSet); 1107 psFree(rowSet); 1108 1109 // extra checks ... 1110 rowSet = psDBDumpRows(dbh, table); 1111 if (rowSet == NULL) { 1112 failed = 1; 1113 } else { 1114 _print_row((psMetadata*)psArrayGet(rowSet, 2)); 1115 _print_row((psMetadata*)psArrayGet(rowSet, 1)); 1116 row = (psMetadata*)psArrayGet(rowSet, 0); 1117 _print_row(row); 1118 1119 item = psMetadataLookup(row, "key_s32"); 1120 if ((item == NULL) || (item->data.S32 != S32_1)) { 1121 psLogMsg( __func__, PS_LOG_INFO, "oops, did not find expected output!\n" ); 1122 failed = 1; 1123 } else { 1124 psLogMsg( __func__, PS_LOG_INFO, "found expected output.\n" ); 1125 } 1126 1127 item = psMetadataLookup(row, "key_bool"); 1128 if ((item == NULL) || (item->data.B != B_1)) { 1129 psLogMsg( __func__, PS_LOG_INFO, "oops, did not find expected output!\n" ); 1130 failed = 1; 1131 } else { 1132 psLogMsg( __func__, PS_LOG_INFO, "found expected output.\n" ); 1133 } 1134 1135 psFree(rowSet); 1136 } 1137 1138 psDBDropTable(dbh, table); 1139 } 1140 1105 // Create database table for testing 1106 if(!psDBCreateTable(dbh, table, md)) { 1107 psError(PS_ERR_UNKNOWN,true,"Did not expect return false for creating table"); 1108 psDBCleanup(dbh); 1109 return 2; 1110 } 1111 1112 // Create array of row elements 1113 rowSet = psArrayAlloc(3); 1114 rowSet->n = 0; 1115 1116 row = _get_const_row1(); 1117 psArrayAdd(rowSet, 0, row); 1118 psFree(row); 1119 1120 row = _get_const_row2(); 1121 psArrayAdd(rowSet, 0, row); 1122 psFree(row); 1123 1124 row = _get_row(); 1125 psArrayAdd(rowSet, 0, row); 1126 psFree(row); 1127 1128 // Insert rows with valid arguments 1129 if(!psDBInsertRows(dbh, table, rowSet)) { 1130 psError(PS_ERR_UNKNOWN,true,"Did not expect return false for inserting rows w/ valid args"); 1131 psDBDropTable(dbh,table); 1132 psDBCleanup(dbh); 1133 return 3; 1134 } 1135 1136 // Verify row was added to table 1137 ary = psDBSelectRows(dbh,table,NULL,0); 1138 if(ary->n != 3) { 1139 psError(PS_ERR_UNKNOWN,true,"Number of rows %d not as expected %d", 1140 ary->n,3); 1141 psDBDropTable(dbh,table); 1142 psDBCleanup(dbh); 1143 return 30; 1144 } 1145 psFree(ary); 1146 1147 // extra checks ... 1148 dumpRowSet = psDBDumpRows(dbh, table); 1149 if (dumpRowSet == NULL) { 1150 psError(PS_ERR_UNKNOWN,true,"Did not expect NULL from dump rows"); 1151 psDBDropTable(dbh,table); 1152 psDBCleanup(dbh); 1153 return 4; 1154 } 1155 1156 // Get first row from array 1157 row = (psMetadata*)psArrayGet(dumpRowSet, 0); 1158 // Verify contents for column key_s32 1159 item = psMetadataLookup(row, "key_s32"); 1160 if ((item == NULL) || (item->data.S32 != S32_1)) { 1161 psError(PS_ERR_UNKNOWN,true,"Column value %d not as expected %d", 1162 item->data.S32, S32_1); 1163 psDBDropTable(dbh,table); 1164 psDBCleanup(dbh); 1165 return 5; 1166 } 1167 // Verify contents for column key_bool 1168 item = psMetadataLookup(row, "key_bool"); 1169 if ((item == NULL) || (item->data.B != B_1)) { 1170 psError(PS_ERR_UNKNOWN,true,"Column value %d not as expected %d", 1171 item->data.B, B_1); 1172 psDBDropTable(dbh,table); 1173 psDBCleanup(dbh); 1174 return 6; 1175 } 1176 psFree(dumpRowSet); 1177 1178 // Insert rows with NULL database object 1179 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL database"); 1180 if(psDBInsertRows(NULL,table,rowSet)) { 1181 psError(PS_ERR_UNKNOWN,true,"Did not expect return of false for NULL database"); 1182 psDBDropTable(dbh,table); 1183 psDBCleanup(dbh); 1184 return 7; 1185 } 1186 1187 // Insert rows with NULL table 1188 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL table"); 1189 if(psDBInsertRows(dbh,NULL,rowSet)) { 1190 psError(PS_ERR_UNKNOWN,true,"Did not expect return of false for NULL table"); 1191 psDBDropTable(dbh,table); 1192 psDBCleanup(dbh); 1193 return 70; 1194 } 1195 1196 // Insert rows with invalid table 1197 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for invalid table"); 1198 if(psDBInsertRows(dbh,"table999",rowSet)) { 1199 psError(PS_ERR_UNKNOWN,true,"Did not expect return of false for invalid table"); 1200 psDBDropTable(dbh,table); 1201 psDBCleanup(dbh); 1202 return 8; 1203 } 1204 1205 // Insert rows with NULL array of rows to be inserted 1206 psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message for NULL row array"); 1207 if(psDBInsertRows(dbh,table,NULL)) { 1208 psError(PS_ERR_UNKNOWN,true,"Did not expect return of false for NULL row array"); 1209 psDBDropTable(dbh,table); 1210 psDBCleanup(dbh); 1211 return 9; 1212 } 1213 1214 // Insert a single row which has column which does not match table 1215 invalidRow = _get_invalid_row(); 1216 // Create array of invalid row element 1217 invalidRowSet = psArrayAlloc(1); 1218 invalidRowSet->n = 0; 1219 psArrayAdd(invalidRowSet, 0, invalidRow); 1220 psFree(invalidRow); 1221 1222 psLogMsg(__func__,PS_LOG_INFO,"Following should generate error message for invalid column item"); 1223 if(psDBInsertRows(dbh,table,invalidRowSet)) { 1224 psError(PS_ERR_UNKNOWN,true,"Did not expect return value true for invalid column item"); 1225 psDBDropTable(dbh,table); 1226 psDBCleanup(dbh); 1227 return 10; 1228 } 1229 psFree(invalidRowSet); 1230 1231 psFree(rowSet); 1232 psDBDropTable(dbh, table); 1141 1233 psFree(md); 1142 1234 psDBCleanup(dbh); 1143 1235 1144 return failed;1236 return 0; 1145 1237 } 1146 1238 -
trunk/psLib/test/dataIO/verified/tst_psDB.stderr
r4296 r4310 212 212 213 213 <DATE><TIME>|<HOST>|I|TPDBInsertRows 214 psDBInsertRows shall insert rows into a test table. 215 <DATE><TIME>|<HOST>|I|_print_row 216 [key_string]=[randrow1] 217 <DATE><TIME>|<HOST>|I|_print_row 218 [key_s32]=[12345] 219 <DATE><TIME>|<HOST>|I|_print_row 220 [key_f32]=[9876.5] 221 <DATE><TIME>|<HOST>|I|_print_row 222 [key_f64]=[456.75] 223 <DATE><TIME>|<HOST>|I|_print_row 224 [key_bool]=[Yay] 225 <DATE><TIME>|<HOST>|I|_print_row 226 [key_s32_0]=[1] 227 <DATE><TIME>|<HOST>|I|_print_row 228 [key_string]=[randrow2] 229 <DATE><TIME>|<HOST>|I|_print_row 230 [key_s32]=[2345] 231 <DATE><TIME>|<HOST>|I|_print_row 232 [key_f32]=[876.5] 233 <DATE><TIME>|<HOST>|I|_print_row 234 [key_f64]=[56.75] 235 <DATE><TIME>|<HOST>|I|_print_row 236 [key_bool]=[Nay] 237 <DATE><TIME>|<HOST>|I|_print_row 238 [key_s32_0]=[2] 239 <DATE><TIME>|<HOST>|I|_print_row 240 [key_string]=[hello world!] 241 <DATE><TIME>|<HOST>|I|_print_row 242 [key_s32]=[1974] 243 <DATE><TIME>|<HOST>|I|_print_row 244 [key_f32]=[3.14159] 245 <DATE><TIME>|<HOST>|I|_print_row 246 [key_f64]=[2.71828] 247 <DATE><TIME>|<HOST>|I|_print_row 248 [key_bool]=[Yay] 249 <DATE><TIME>|<HOST>|I|_print_row 250 [key_s32_0]=[3] 251 <DATE><TIME>|<HOST>|I|TPDBInsertRows 252 found expected output. 253 <DATE><TIME>|<HOST>|I|TPDBInsertRows 254 found expected output. 214 Following should generate an error message for NULL database 215 <DATE><TIME>|<HOST>|E|psDBInsertRows (FILE:LINENO) 216 Invalid psDB has been specified. 217 <DATE><TIME>|<HOST>|I|TPDBInsertRows 218 Following should generate an error message for NULL table 219 <DATE><TIME>|<HOST>|E|psDBGenerateInsertRowSQL (FILE:LINENO) 220 Query generation failed. 221 <DATE><TIME>|<HOST>|E|psDBInsertRows (FILE:LINENO) 222 Query generation failed. 223 <DATE><TIME>|<HOST>|I|TPDBInsertRows 224 Following should generate an error message for invalid table 225 <DATE><TIME>|<HOST>|E|psDBInsertRows (FILE:LINENO) 226 Failed to prepare query. Error: Table 'test.table999' doesn't exist 227 <DATE><TIME>|<HOST>|I|TPDBInsertRows 228 Following should generate an error message for NULL row array 229 <DATE><TIME>|<HOST>|E|psDBInsertRows (FILE:LINENO) 230 Failed to insert row. 231 <DATE><TIME>|<HOST>|I|TPDBInsertRows 232 Following should generate error message for invalid column item 233 <DATE><TIME>|<HOST>|E|psDBInsertRows (FILE:LINENO) 234 Failed to prepare query. Error: Unknown column 'key_999' in 'field list' 255 235 256 236 ---> TESTPOINT PASSED (psDB{dbInsertRows} | tst_psDB.c)
Note:
See TracChangeset
for help on using the changeset viewer.
