diff options
author | Jesse Morgan <jesse@jesterpm.net> | 2016-12-17 21:28:53 -0800 |
---|---|---|
committer | Jesse Morgan <jesse@jesterpm.net> | 2016-12-17 21:28:53 -0800 |
commit | 54df2afaa61c6a03cbb4a33c9b90fa572b6d07b8 (patch) | |
tree | 18147b92b969d25ffbe61935fb63035cac820dd0 /db-4.8.30/test/scr037/DatabaseTest.cs |
Berkeley DB 4.8 with rust build script for linux.
Diffstat (limited to 'db-4.8.30/test/scr037/DatabaseTest.cs')
-rw-r--r-- | db-4.8.30/test/scr037/DatabaseTest.cs | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/db-4.8.30/test/scr037/DatabaseTest.cs b/db-4.8.30/test/scr037/DatabaseTest.cs new file mode 100644 index 0000000..07634a6 --- /dev/null +++ b/db-4.8.30/test/scr037/DatabaseTest.cs @@ -0,0 +1,109 @@ +/*- + * See the file LICENSE for redistribution information. + * + * Copyright (c) 2009 Oracle. All rights reserved. + * + */ +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; +using System.Xml; +using NUnit.Framework; +using BerkeleyDB; + +namespace CsharpAPITest +{ + public class DatabaseTest + { + public static uint getDefaultCacheSizeBytes() + { + uint defaultCacheSizeBytes; + + string fixtureHome = "./TestOut/DatabaseTest"; + string dbName = fixtureHome + "/" + "getDefaultCacheSizeBytes" + ".db"; + + Configuration.ClearDir(fixtureHome); + + BTreeDatabaseConfig cfg = new BTreeDatabaseConfig(); + cfg.Creation = CreatePolicy.ALWAYS; + using (BTreeDatabase db = BTreeDatabase.Open(dbName, cfg)) + { + defaultCacheSizeBytes = db.CacheSize.Bytes; + } + + return defaultCacheSizeBytes; + } + + public static ByteOrder getMachineByteOrder() + { + string fixtureHome = "./TestOut/DatabaseTest"; + string dbName = fixtureHome + "/" + "getMachineByteOrder" + ".db"; + + Configuration.ClearDir(fixtureHome); + + ByteOrder byteOrder; + + BTreeDatabaseConfig dbConfig = new BTreeDatabaseConfig(); + dbConfig.ByteOrder = ByteOrder.MACHINE; + dbConfig.Creation = CreatePolicy.ALWAYS; + using (BTreeDatabase db = BTreeDatabase.Open(dbName, dbConfig)) + { + byteOrder = db.Endianness; + } + return byteOrder; + } + + public static void Confirm(XmlElement xmlElement, Database db, bool compulsory) + { + uint defaultBytes; + defaultBytes = getDefaultCacheSizeBytes(); + + Configuration.ConfirmBool(xmlElement, "AutoCommit", + db.AutoCommit, compulsory); + Configuration.ConfirmCacheSize(xmlElement, "CacheSize", + db.CacheSize, defaultBytes, compulsory); + Configuration.ConfirmCreatePolicy(xmlElement, "Creation", + db.Creation, compulsory); + Configuration.ConfirmString(xmlElement, "DatabaseName", + db.DatabaseName, compulsory); + Configuration.ConfirmBool(xmlElement, "DoChecksum", + db.DoChecksum, compulsory); + // Encrypted and EncryptWithAES? + Configuration.ConfirmByteOrder(xmlElement, "ByteOrder", + db.Endianness, compulsory); + Configuration.ConfirmString(xmlElement, "ErrorPrefix", + db.ErrorPrefix, compulsory); + // File name is confirmed in functiion, not here. + Configuration.ConfirmBool(xmlElement, "FreeThreaded", + db.FreeThreaded, compulsory); + Configuration.ConfirmBool(xmlElement, "HasMultiple", + db.HasMultiple, compulsory); + if (db.Endianness == getMachineByteOrder()) + Assert.IsTrue(db.InHostOrder); + else + Assert.IsFalse(db.InHostOrder); + Configuration.ConfirmBool(xmlElement, "NoMMap", + db.NoMMap, compulsory); + Configuration.ConfirmBool(xmlElement, "NonDurableTxns", + db.NonDurableTxns, compulsory); + Configuration.ConfirmUint(xmlElement, "PageSize", + db.Pagesize, compulsory); + Configuration.ConfirmCachePriority(xmlElement, + "Priority", db.Priority, compulsory); + Configuration.ConfirmBool(xmlElement, "ReadOnly", + db.ReadOnly, compulsory); + Configuration.ConfirmBool(xmlElement, "ReadUncommitted", + db.ReadUncommitted, compulsory); + /* + * Database.Truncated is the value set in + * DatabaseConfig.Truncate. + */ + Configuration.ConfirmBool(xmlElement, "Truncate", + db.Truncated, compulsory); + Configuration.ConfirmBool(xmlElement, "UseMVCC", + db.UseMVCC, compulsory); + } + } + +} |