public static void CrashTestOnMerge()
{
string path = Path.GetFullPath("TestData\\CrashTestOnMerge");
int num_items = 50000;
using (var db = new KeyValueStore(path)) {
db.Truncate();
db.Manifest.Logger = (msg) => Console.WriteLine(msg);
for (int i = 0; i < num_items; i++) {
byte[] keyBytes = new byte[40];
Array.Copy(BitConverter.GetBytes(i).Reverse().ToArray(), keyBytes, 4);
Array.Copy(ByteArray.Random(36).InternalBytes, 0, keyBytes, 4, 36);
var randomKey = new ByteArray(keyBytes);
var randomValue = ByteArray.Random(256);
db.Set(randomKey.InternalBytes, randomValue.InternalBytes);
}
// Signal our test to fall through
try {
ManualResetEvent.OpenExisting("CrashTestOnMerge").Set();
} catch (WaitHandleCannotBeOpenedException e) {
Console.WriteLine("{0}", e);
}
}
}