os/persistentdata/persistentstorage/sql/TEST/testexecute/SQLite/config/Concurrent.ini
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
     1 
     2 // Concurrency tests. Threads[2-8] wait (semaphore) until they receive a
     3 // signal. Thread1 creates the db and adds a table to it. It then signals the
     4 // other threads and all eight threads write integer, real, and text data
     5 // to the table.
     6 [Thread1]
     7 WaitB0=7
     8 Delete1=C:\Concurrent.db
     9 ExpectedError1=KErrNotFound
    10 Create2=C:\Concurrent.db
    11 Exec3=Create Table Con( Someint int primary key, Somereal real, Sometext text);
    12 Prepare4=insert into Con(Someint, Somereal, Sometext) values(:FInt, :FReal, :FText);
    13 // Wake up the other threads, we're doing the next bit concurrently.
    14 SignalA5=7
    15 
    16 Function6=WriteBigTable
    17 EventuallyExpectedError=KErrNone
    18 LowCount=0
    19 HighCount=64
    20 CountStep=8
    21 Multiplier=2.81
    22 Text=Thread1
    23 St_Close7=
    24 Close8=
    25 WaitB9=7
    26 EndBlock10=
    27 
    28 [Thread2]
    29 SignalB0=1
    30 WaitA1=1
    31 Open2=C:\Concurrent.db
    32 Prepare3=insert into Con(Someint, Somereal, Sometext) values(:FInt, :FReal, :FText);
    33 Function4=WriteBigTable
    34 EventuallyExpectedError=KErrNone
    35 LowCount=1
    36 HighCount=65
    37 CountStep=8
    38 Multiplier=-1.121
    39 Text=Thread2
    40 St_Close5=
    41 Close6=
    42 SignalB7=1
    43 EndBlock8=
    44 
    45 [Thread3]
    46 SignalB0=1
    47 WaitA1=1
    48 Open2=C:\Concurrent.db
    49 Prepare3=insert into Con(Someint, Somereal, Sometext) values(:FInt, :FReal, :FText);
    50 Function4=WriteBigTable
    51 EventuallyExpectedError=KErrNone
    52 LowCount=2
    53 HighCount=66
    54 CountStep=8
    55 Multiplier=4.8e-21
    56 Text=Thread3
    57 St_Close5=
    58 Close6=
    59 SignalB7=1
    60 EndBlock8=
    61 
    62 [Thread4]
    63 SignalB0=1
    64 WaitA1=1
    65 Open2=C:\Concurrent.db
    66 Prepare3=insert into Con(Someint, Somereal, Sometext) values(:FInt, :FReal, :FText);
    67 Function4=WriteBigTable
    68 EventuallyExpectedError=KErrNone
    69 LowCount=3
    70 HighCount=67
    71 CountStep=8
    72 Multiplier=3.141592654
    73 Text=Thread4
    74 St_Close5=
    75 Close6=
    76 SignalB7=1
    77 EndBlock8=
    78 
    79 [Thread5]
    80 SignalB0=1
    81 WaitA1=1
    82 Open2=C:\Concurrent.db
    83 Prepare3=insert into Con(Someint, Somereal, Sometext) values(:FInt, :FReal, :FText);
    84 Function4=WriteBigTable
    85 EventuallyExpectedError=KErrNone
    86 LowCount=4
    87 HighCount=68
    88 CountStep=8
    89 Multiplier=2.81
    90 Text=Thread5
    91 St_Close5=
    92 Close6=
    93 SignalB7=1
    94 EndBlock8=
    95 
    96 [Thread6]
    97 SignalB0=1
    98 WaitA1=1
    99 Open2=C:\Concurrent.db
   100 Prepare3=insert into Con(Someint, Somereal, Sometext) values(:FInt, :FReal, :FText);
   101 Function4=WriteBigTable
   102 EventuallyExpectedError=KErrNone
   103 LowCount=5
   104 HighCount=69
   105 CountStep=8
   106 Multiplier=-1.121
   107 Text=Thread6
   108 St_Close5=
   109 Close6=
   110 SignalB7=1
   111 EndBlock8=
   112 
   113 [Thread7]
   114 SignalB0=1
   115 WaitA1=1
   116 Open2=C:\Concurrent.db
   117 Prepare3=insert into Con(Someint, Somereal, Sometext) values(:FInt, :FReal, :FText);
   118 Function4=WriteBigTable
   119 EventuallyExpectedError=KErrNone
   120 LowCount=6
   121 HighCount=70
   122 CountStep=8
   123 Multiplier=4.8e-21
   124 Text=Thread7
   125 St_Close5=
   126 Close6=
   127 SignalB7=1
   128 EndBlock8=
   129 
   130 [Thread8]
   131 SignalB0=1
   132 WaitA1=1
   133 Open2=C:\Concurrent.db
   134 Prepare3=insert into Con(Someint, Somereal, Sometext) values(:FInt, :FReal, :FText);
   135 Function4=WriteBigTable
   136 EventuallyExpectedError=KErrNone
   137 LowCount=7
   138 HighCount=71
   139 CountStep=8
   140 Multiplier=3.141592654
   141 Text=Thread8
   142 St_Close5=
   143 Close6=
   144 SignalB7=1
   145 EndBlock8=
   146 
   147 // The following 8 blocks check the content written by the threads above.
   148 // These are entirely independent of each other and therefore do not require
   149 // use of the semaphores.
   150 
   151 [Check1]
   152 Open0=C:\Concurrent.db
   153 Prepare1=select * from Con where(Sometext="Thread1");
   154 Next2=KSqlAtRow
   155 ExpectedError2=KSqlAtRow
   156 NoOperation3=
   157 
   158 Function4=ReadBigTable
   159 EventuallyExpectedError=KErrNone
   160 LowCount=0
   161 HighCount=64
   162 CountStep=8
   163 Multiplier=2.81
   164 Text=Thread1
   165 AtRow5=False
   166 St_Close6=
   167 Close7=
   168 EndBlock8=
   169 
   170 [Check2]
   171 Open0=C:\Concurrent.db
   172 Prepare1=select * from Con where(Sometext="Thread2");
   173 Next2=KSqlAtRow
   174 ExpectedError2=KSqlAtRow
   175 NoOperation3=
   176 
   177 Function4=ReadBigTable
   178 EventuallyExpectedError=KErrNone
   179 LowCount=1
   180 HighCount=65
   181 CountStep=8
   182 Multiplier=-1.121
   183 Text=Thread2
   184 AtRow5=False
   185 St_Close6=
   186 Close7=
   187 EndBlock8=
   188 
   189 [Check3]
   190 Open0=C:\Concurrent.db
   191 Prepare1=select * from Con where(Sometext="Thread3");
   192 Next2=KSqlAtRow
   193 ExpectedError2=KSqlAtRow
   194 NoOperation3=
   195 
   196 Function4=ReadBigTable
   197 EventuallyExpectedError=KErrNone
   198 LowCount=2
   199 HighCount=66
   200 CountStep=8
   201 Multiplier=4.8e-21
   202 Text=Thread3
   203 AtRow5=False
   204 St_Close6=
   205 Close7=
   206 EndBlock8=
   207 
   208 [Check4]
   209 Open0=C:\Concurrent.db
   210 Prepare1=select * from Con where(Sometext="Thread4");
   211 Next2=KSqlAtRow
   212 ExpectedError2=KSqlAtRow
   213 NoOperation3=
   214 
   215 Function4=ReadBigTable
   216 EventuallyExpectedError=KErrNone
   217 LowCount=3
   218 HighCount=67
   219 CountStep=8
   220 Multiplier=3.141592654
   221 Text=Thread4
   222 AtRow5=False
   223 St_Close6=
   224 Close7=
   225 EndBlock8=
   226 
   227 [Check5]
   228 Open0=C:\Concurrent.db
   229 Prepare1=select * from Con where(Sometext="Thread5");
   230 Next2=KSqlAtRow
   231 ExpectedError2=KSqlAtRow
   232 NoOperation3=
   233 
   234 Function4=ReadBigTable
   235 EventuallyExpectedError=KErrNone
   236 LowCount=4
   237 HighCount=68
   238 CountStep=8
   239 Multiplier=2.81
   240 Text=Thread5
   241 AtRow5=False
   242 St_Close6=
   243 Close7=
   244 EndBlock8=
   245 
   246 [Check6]
   247 Open0=C:\Concurrent.db
   248 Prepare1=select * from Con where(Sometext="Thread6");
   249 Next2=KSqlAtRow
   250 ExpectedError2=KSqlAtRow
   251 NoOperation3=
   252 
   253 Function4=ReadBigTable
   254 EventuallyExpectedError=KErrNone
   255 LowCount=5
   256 HighCount=69
   257 CountStep=8
   258 Multiplier=-1.121
   259 Text=Thread6
   260 AtRow5=False
   261 St_Close6=
   262 Close7=
   263 EndBlock8=
   264 
   265 [Check7]
   266 Open0=C:\Concurrent.db
   267 Prepare1=select * from Con where(Sometext="Thread7");
   268 Next2=KSqlAtRow
   269 ExpectedError2=KSqlAtRow
   270 NoOperation3=
   271 
   272 Function4=ReadBigTable
   273 EventuallyExpectedError=KErrNone
   274 LowCount=6
   275 HighCount=70
   276 CountStep=8
   277 Multiplier=4.8e-21
   278 Text=Thread7
   279 AtRow5=False
   280 St_Close6=
   281 Close7=
   282 EndBlock8=
   283 
   284 [Check8]
   285 Open0=C:\Concurrent.db
   286 Prepare1=select * from Con where(Sometext="Thread8");
   287 Next2=KSqlAtRow
   288 ExpectedError2=KSqlAtRow
   289 NoOperation3=
   290 
   291 Function4=ReadBigTable
   292 EventuallyExpectedError=KErrNone
   293 LowCount=7
   294 HighCount=71
   295 CountStep=8
   296 Multiplier=3.141592654
   297 Text=Thread8
   298 AtRow5=False
   299 St_Close6=
   300 Close7=
   301 EndBlock8=
   302