persistentstorage/sqlite3api/TEST/t_sqliteapi.c
changeset 55 44f437012c90
parent 40 b8bdbc8f59c7
equal deleted inserted replaced
51:7d4490026038 55:44f437012c90
   942 			}
   942 			}
   943 		}
   943 		}
   944 	
   944 	
   945 	srand((unsigned)&ThreadFunc);
   945 	srand((unsigned)&ThreadFunc);
   946 	
   946 	
   947 	PrintS("Thread \"%s\" - begin\r\n", (char*)pname);
   947 	ThreadPrintS("Thread \"%s\" - begin\r\n", (char*)pname);
   948 	err = sqlite3_open(TheTestDbName, &db);
   948 	err = sqlite3_open(TheTestDbName, &db);
   949 	TEST2(err, SQLITE_OK);
   949 	TEST2(err, SQLITE_OK);
   950 	TEST(db != 0);
   950 	TEST(db != 0);
   951 	
   951 	
   952 	while(records < KRecordsCount)
   952 	while(records < KRecordsCount)
   953 		{
   953 		{
   954         if((records % 10) == 0)
   954         if((records % 10) == 0)
   955             {
   955             {
   956             PrintSI("Thread \"%s\", %d records.\r\n", (char*)pname, records);
   956             ThreadPrintSI("Thread \"%s\", %d records.\r\n", (char*)pname, records);
   957             }
   957             }
   958 		err = sqlite3_exec(db, "BEGIN", 0, 0, &errmsg);
   958 		err = sqlite3_exec(db, "BEGIN", 0, 0, &errmsg);
   959 		if(err == SQLITE_OK)
   959 		if(err == SQLITE_OK)
   960 			{
   960 			{
   961 			err = sqlite3_exec(db, "INSERT INTO A VALUES(0,0,0.0,'',x'00')", 0, 0, &errmsg);
   961 			err = sqlite3_exec(db, "INSERT INTO A VALUES(0,0,0.0,'',x'00')", 0, 0, &errmsg);
   982 				{
   982 				{
   983                 char fmt[100];
   983                 char fmt[100];
   984                 strcpy(fmt, "Thread \"");
   984                 strcpy(fmt, "Thread \"");
   985                 strcat(fmt, (char*)pname);
   985                 strcat(fmt, (char*)pname);
   986                 strcat(fmt, "\". Err msg: %s. Err: %d.\r\n");
   986                 strcat(fmt, "\". Err msg: %s. Err: %d.\r\n");
   987 				PrintSI(fmt, errmsg, err);
   987 				ThreadPrintSI(fmt, errmsg, err);
   988 				sqlite3_free(errmsg);
   988 				sqlite3_free(errmsg);
   989 				errmsg = 0;
   989 				errmsg = 0;
   990 				}
   990 				}
   991 			usleep((rand() % 3000) + 500);
   991 			usleep((rand() % 3000) + 500);
   992 			}
   992 			}
   993 		}
   993 		}
   994 
   994 
   995 	err = sqlite3_close(db);
   995 	err = sqlite3_close(db);
   996 	TEST2(err, SQLITE_OK);
   996 	TEST2(err, SQLITE_OK);
   997 	
   997 	
   998 	PrintS("Thread \"%s\" - end\r\n", (char*)pname);
   998 	ThreadPrintS("Thread \"%s\" - end\r\n", (char*)pname);
   999 	return &TheInsertRecCnt[threadIdx];
   999 	return &TheInsertRecCnt[threadIdx];
  1000 	}
  1000 	}
  1001 
  1001 
  1002 /**
  1002 /**
  1003 @SYMTestCaseID			SYSLIB-SQLITE3-UT-4007
  1003 @SYMTestCaseID			SYSLIB-SQLITE3-UT-4007
  1055 	{
  1055 	{
  1056 	int err;
  1056 	int err;
  1057 	sqlite3* db;
  1057 	sqlite3* db;
  1058 
  1058 
  1059 	UNUSED_ARG(parg);
  1059 	UNUSED_ARG(parg);
  1060 	PrintS("Thread \"%s\" - begin\r\n", KThreadNames[0]);
  1060 	ThreadPrintS("Thread \"%s\" - begin\r\n", KThreadNames[0]);
  1061 	
  1061 	
  1062 	err = sqlite3_open(TheTestDbName, &db);
  1062 	err = sqlite3_open(TheTestDbName, &db);
  1063 	TEST2(err, SQLITE_OK);
  1063 	TEST2(err, SQLITE_OK);
  1064 	TEST(db != 0);
  1064 	TEST(db != 0);
  1065 	
  1065 	
  1080 	(void)sem_post(&TheSemaphores[1]);/* The database is unlocked. Notify thread 2 to attempt the INSERT operation again */
  1080 	(void)sem_post(&TheSemaphores[1]);/* The database is unlocked. Notify thread 2 to attempt the INSERT operation again */
  1081 	
  1081 	
  1082 	err = sqlite3_close(db);
  1082 	err = sqlite3_close(db);
  1083 	TEST2(err, SQLITE_OK);
  1083 	TEST2(err, SQLITE_OK);
  1084 	
  1084 	
  1085 	PrintS("Thread \"%s\" - end\r\n", KThreadNames[0]);
  1085 	ThreadPrintS("Thread \"%s\" - end\r\n", KThreadNames[0]);
  1086 	return 0;
  1086 	return 0;
  1087 	}
  1087 	}
  1088 
  1088 
  1089 static void* ThreadFunc2(void* parg)
  1089 static void* ThreadFunc2(void* parg)
  1090 	{
  1090 	{
  1091 	int err;
  1091 	int err;
  1092 	sqlite3* db;
  1092 	sqlite3* db;
  1093 	
  1093 	
  1094 	UNUSED_ARG(parg);
  1094 	UNUSED_ARG(parg);
  1095 	PrintS("Thread \"%s\" - begin\r\n", KThreadNames[1]);
  1095 	ThreadPrintS("Thread \"%s\" - begin\r\n", KThreadNames[1]);
  1096 	
  1096 	
  1097 	err = sqlite3_open(TheTestDbName, &db);
  1097 	err = sqlite3_open(TheTestDbName, &db);
  1098 	TEST2(err, SQLITE_OK);
  1098 	TEST2(err, SQLITE_OK);
  1099 	TEST(db != 0);
  1099 	TEST(db != 0);
  1100 	
  1100 	
  1110 	TEST2(err, SQLITE_OK);
  1110 	TEST2(err, SQLITE_OK);
  1111 	
  1111 	
  1112 	err = sqlite3_close(db);
  1112 	err = sqlite3_close(db);
  1113 	TEST2(err, SQLITE_OK);
  1113 	TEST2(err, SQLITE_OK);
  1114 	
  1114 	
  1115 	PrintS("Thread \"%s\" - end\r\n", KThreadNames[1]);
  1115 	ThreadPrintS("Thread \"%s\" - end\r\n", KThreadNames[1]);
  1116 	return 0;
  1116 	return 0;
  1117 	}
  1117 	}
  1118 
  1118 
  1119 /**
  1119 /**
  1120 @SYMTestCaseID			SYSLIB-SQLITE3-UT-4008
  1120 @SYMTestCaseID			SYSLIB-SQLITE3-UT-4008