Index: Tests/tkt-72905c9a77.eagle ================================================================== --- Tests/tkt-72905c9a77.eagle +++ Tests/tkt-72905c9a77.eagle @@ -94,12 +94,12 @@ // under test is private and cannot normally be executed from // C# directly. If this fails, the following statement will // throw a NullReferenceException, which is fine as that will // cause the whole test to fail. // - Type type = Type.GetType("System.Data.SQLite.SQLite3, " + - "System.Data.SQLite"); + Type type = Type.GetType( + "System.Data.SQLite.SQLite3, System.Data.SQLite"); // // NOTE: Attempt to lookup the method object for the private method // we need for this test. If this fails, the first attempt // to invoke the method using this variable will throw a @@ -124,17 +124,10 @@ // machine with 4 processors, limit the total number of // threads to 16. // int count = Math.Min(4 * Environment.ProcessorCount, 16); - // - // NOTE: Create a random number generator suitable for waiting a - // random number of milliseconds between each attempt to - // cause the race condition on a given thread. - // - Random random = new Random(); - // // NOTE: Create a (reusable) delegate that will contain the code // that each created thread is to execute. // ThreadStart threadStart = delegate() @@ -145,10 +138,18 @@ // NOTE: Wait forever for the "GO" signal so that all threads // can start working at approximately the same time. // goEvent.WaitOne(); + // + // NOTE: Create a pseudorandom number generator suitable for + // waiting a random number of milliseconds between each + // attempt to cause the race condition being tested on + // a given thread. + // + Random random = new Random(); + // // NOTE: Force the SQLiteLog.StaticIsInitialized method to // be repeatedly called on every thread right away to // thoroughly test its locking semantics. Also, use a // random delay, in milliseconds, between zero and the @@ -273,11 +274,12 @@ } result] : [set result ""]}] [string map [list \r\n \n] $result] } -cleanup { cleanupDb $fileName unset -nocomplain result code results errors dataSource fileName -} -constraints [fixConstraints {eagle monoBug28 configuration.Release\ +} -constraints \ +[fixConstraints {fail.false eagle monoBug28 configuration.Release\ !defineConstant.System.Data.SQLite.INTEROP_LOG command.sql compile.DATA\ SQLite System.Data.SQLite compileCSharp}] -match regexp -result [appendArgs \ "^Ok System#CodeDom#Compiler#CompilerResults#\\d+ \\{\\} 0 \\{" [string repeat \ "SQLite message \\(0\\): TEST $id " [expr {min(4 * [info processors], 16)}]] "\\}\$"]}