Skip to content

Commit

Permalink
Put changes to KV Basic tests back to using multiple device types
Browse files Browse the repository at this point in the history
  • Loading branch information
darrenge committed Jul 1, 2021
1 parent ac87cea commit 62a6ed9
Showing 1 changed file with 141 additions and 30 deletions.
171 changes: 141 additions & 30 deletions cs/test/BasicFASTERTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,6 @@ public void Setup()
// Clean up log files from previous test runs in case they weren't cleaned up
TestUtils.DeleteDirectory(path, wait: true);

log = Devices.CreateLogDevice(path + "/BasicFasterTests.log", deleteOnClose: true);
fht = new FasterKV<KeyStruct, ValueStruct>
(128, new LogSettings { LogDevice = log, MemorySizeBits = 29 });
session = fht.For(new Functions()).NewSession<Functions>();
}

[TearDown]
Expand All @@ -51,7 +47,6 @@ public void TearDown()
[Category("Smoke")]
public void NativeInMemWriteRead([Values] TestUtils.DeviceType deviceType)
{
// Reset all the log and fht values since using all deviceType
string filename = path + "NativeInMemWriteRead" + deviceType.ToString() + ".log";
log = TestUtils.CreateTestDevice(deviceType, filename);
fht = new FasterKV<KeyStruct, ValueStruct>
Expand Down Expand Up @@ -82,8 +77,15 @@ public void NativeInMemWriteRead([Values] TestUtils.DeviceType deviceType)

[Test]
[Category("FasterKV")]
public void NativeInMemWriteReadDelete()
[Category("Smoke")]
public void NativeInMemWriteReadDelete([Values] TestUtils.DeviceType deviceType)
{
string filename = path + "NativeInMemWriteReadDelete" + deviceType.ToString() + ".log";
log = TestUtils.CreateTestDevice(deviceType, filename);
fht = new FasterKV<KeyStruct, ValueStruct>
(128, new LogSettings { LogDevice = log, PageSizeBits = 10, MemorySizeBits = 12, SegmentSizeBits = 22 });
session = fht.For(new Functions()).NewSession<Functions>();

InputStruct input = default;
OutputStruct output = default;

Expand Down Expand Up @@ -137,10 +139,17 @@ public void NativeInMemWriteReadDelete()

[Test]
[Category("FasterKV")]
public void NativeInMemWriteReadDelete2()
[Category("Smoke")]
public void NativeInMemWriteReadDelete2([Values] TestUtils.DeviceType deviceType)
{
const int count = 10;

string filename = path + "NativeInMemWriteReadDelete2" + deviceType.ToString() + ".log";
log = TestUtils.CreateTestDevice(deviceType, filename);
fht = new FasterKV<KeyStruct, ValueStruct>
(128, new LogSettings { LogDevice = log, MemorySizeBits = 22, SegmentSizeBits = 22, PageSizeBits = 10 });
session = fht.For(new Functions()).NewSession<Functions>();

InputStruct input = default;
OutputStruct output = default;

Expand Down Expand Up @@ -196,12 +205,21 @@ public void NativeInMemWriteReadDelete2()

[Test]
[Category("FasterKV")]
public unsafe void NativeInMemWriteRead2()
[Category("Smoke")]
public unsafe void NativeInMemWriteRead2([Values] TestUtils.DeviceType deviceType)
{
int count = 200;

string filename = path + "NativeInMemWriteRead2" + deviceType.ToString() + ".log";
log = TestUtils.CreateTestDevice(deviceType, filename);
fht = new FasterKV<KeyStruct, ValueStruct>
(128, new LogSettings { LogDevice = log, MemorySizeBits = 22, SegmentSizeBits = 22, PageSizeBits = 10 });
session = fht.For(new Functions()).NewSession<Functions>();

InputStruct input = default;

Random r = new Random(10);
for (int c = 0; c < 1000; c++)
for (int c = 0; c < count; c++)
{
var i = r.Next(10000);
var key1 = new KeyStruct { kfield1 = i, kfield2 = i + 1 };
Expand All @@ -211,7 +229,7 @@ public unsafe void NativeInMemWriteRead2()

r = new Random(10);

for (int c = 0; c < 1000; c++)
for (int c = 0; c < count; c++)
{
var i = r.Next(10000);
OutputStruct output = default;
Expand All @@ -231,7 +249,7 @@ public unsafe void NativeInMemWriteRead2()
fht.Log.ShiftBeginAddress(fht.Log.TailAddress);

r = new Random(10);
for (int c = 0; c < 1000; c++)
for (int c = 0; c < count; c++)
{
var i = r.Next(10000);
OutputStruct output = default;
Expand All @@ -242,12 +260,21 @@ public unsafe void NativeInMemWriteRead2()

[Test]
[Category("FasterKV")]
public unsafe void TestShiftHeadAddress()
[Category("Smoke")]
public unsafe void TestShiftHeadAddress([Values] TestUtils.DeviceType deviceType)
{
InputStruct input = default;
int count = 200;

string filename = path + "TestShiftHeadAddress" + deviceType.ToString() + ".log";
log = TestUtils.CreateTestDevice(deviceType, filename);
fht = new FasterKV<KeyStruct, ValueStruct>
(128, new LogSettings { LogDevice = log, MemorySizeBits = 22, SegmentSizeBits = 22, PageSizeBits = 10 });
session = fht.For(new Functions()).NewSession<Functions>();


Random r = new Random(10);
for (int c = 0; c < 1000; c++)
for (int c = 0; c < count; c++)
{
var i = r.Next(10000);
var key1 = new KeyStruct { kfield1 = i, kfield2 = i + 1 };
Expand All @@ -257,7 +284,7 @@ public unsafe void TestShiftHeadAddress()

r = new Random(10);

for (int c = 0; c < 1000; c++)
for (int c = 0; c < count; c++)
{
var i = r.Next(10000);
OutputStruct output = default;
Expand All @@ -277,7 +304,7 @@ public unsafe void TestShiftHeadAddress()
fht.Log.FlushAndEvict(true);

r = new Random(10);
for (int c = 0; c < 1000; c++)
for (int c = 0; c < count; c++)
{
var i = r.Next(10000);
OutputStruct output = default;
Expand All @@ -290,10 +317,17 @@ public unsafe void TestShiftHeadAddress()

[Test]
[Category("FasterKV")]
public unsafe void NativeInMemRMWRefKeys()
[Category("Smoke")]
public unsafe void NativeInMemRMWRefKeys([Values] TestUtils.DeviceType deviceType)
{
InputStruct input = default;

string filename = path + "NativeInMemRMWRefKeys" + deviceType.ToString() + ".log";
log = TestUtils.CreateTestDevice(deviceType, filename);
fht = new FasterKV<KeyStruct, ValueStruct>
(128, new LogSettings { LogDevice = log, MemorySizeBits = 22, SegmentSizeBits = 22, PageSizeBits = 10 });
session = fht.For(new Functions()).NewSession<Functions>();

var nums = Enumerable.Range(0, 1000).ToArray();
var rnd = new Random(11);
for (int i = 0; i < nums.Length; ++i)
Expand Down Expand Up @@ -362,10 +396,17 @@ public unsafe void NativeInMemRMWRefKeys()

[Test]
[Category("FasterKV")]
public unsafe void NativeInMemRMWNoRefKeys()
[Category("Smoke")]
public unsafe void NativeInMemRMWNoRefKeys([Values] TestUtils.DeviceType deviceType)
{
InputStruct input = default;

string filename = path + "NativeInMemRMWNoRefKeys" + deviceType.ToString() + ".log";
log = TestUtils.CreateTestDevice(deviceType, filename);
fht = new FasterKV<KeyStruct, ValueStruct>
(128, new LogSettings { LogDevice = log, MemorySizeBits = 22, SegmentSizeBits = 22, PageSizeBits = 10 });
session = fht.For(new Functions()).NewSession<Functions>();

var nums = Enumerable.Range(0, 1000).ToArray();
var rnd = new Random(11);
for (int i = 0; i < nums.Length; ++i)
Expand Down Expand Up @@ -434,11 +475,18 @@ public unsafe void NativeInMemRMWNoRefKeys()
// Tests the overload of .Read(key, input, out output, context, serialNo)
[Test]
[Category("FasterKV")]
public void ReadNoRefKeyInputOutput()
[Category("Smoke")]
public void ReadNoRefKeyInputOutput([Values] TestUtils.DeviceType deviceType)
{
InputStruct input = default;
OutputStruct output = default;

string filename = path + "ReadNoRefKeyInputOutput" + deviceType.ToString() + ".log";
log = TestUtils.CreateTestDevice(deviceType, filename);
fht = new FasterKV<KeyStruct, ValueStruct>
(128, new LogSettings { LogDevice = log, MemorySizeBits = 22, SegmentSizeBits = 22, PageSizeBits = 10 });
session = fht.For(new Functions()).NewSession<Functions>();

var key1 = new KeyStruct { kfield1 = 13, kfield2 = 14 };
var value = new ValueStruct { vfield1 = 23, vfield2 = 24 };

Expand All @@ -465,8 +513,16 @@ public void ReadNoRefKeyInputOutput()
// Test the overload call of .Read (key, out output, userContext, serialNo)
[Test]
[Category("FasterKV")]
public void ReadNoRefKey()
[Category("Smoke")]
public void ReadNoRefKey([Values] TestUtils.DeviceType deviceType)
{

string filename = path + "ReadNoRefKey" + deviceType.ToString() + ".log";
log = TestUtils.CreateTestDevice(deviceType, filename);
fht = new FasterKV<KeyStruct, ValueStruct>
(128, new LogSettings { LogDevice = log, MemorySizeBits = 22, SegmentSizeBits = 22, PageSizeBits = 10 });
session = fht.For(new Functions()).NewSession<Functions>();

OutputStruct output = default;

var key1 = new KeyStruct { kfield1 = 13, kfield2 = 14 };
Expand Down Expand Up @@ -495,8 +551,16 @@ public void ReadNoRefKey()
// Test the overload call of .Read (ref key, ref output, userContext, serialNo)
[Test]
[Category("FasterKV")]
public void ReadWithoutInput()
[Category("Smoke")]
public void ReadWithoutInput([Values] TestUtils.DeviceType deviceType)
{

string filename = path + "ReadWithoutInput" + deviceType.ToString() + ".log";
log = TestUtils.CreateTestDevice(deviceType, filename);
fht = new FasterKV<KeyStruct, ValueStruct>
(128, new LogSettings { LogDevice = log, MemorySizeBits = 22, SegmentSizeBits = 22, PageSizeBits = 10 });
session = fht.For(new Functions()).NewSession<Functions>();

OutputStruct output = default;

var key1 = new KeyStruct { kfield1 = 13, kfield2 = 14 };
Expand Down Expand Up @@ -525,8 +589,15 @@ public void ReadWithoutInput()
// Test the overload call of .Read (ref key, ref input, ref output, ref recordInfo, userContext: context)
[Test]
[Category("FasterKV")]
public void ReadWithoutSerialID()
[Category("Smoke")]
public void ReadWithoutSerialID([Values] TestUtils.DeviceType deviceType)
{
string filename = path + "ReadWithoutSerialID" + deviceType.ToString() + ".log";
log = TestUtils.CreateTestDevice(deviceType, filename);
fht = new FasterKV<KeyStruct, ValueStruct>
(128, new LogSettings { LogDevice = log, MemorySizeBits = 22, SegmentSizeBits = 22, PageSizeBits = 10 });
session = fht.For(new Functions()).NewSession<Functions>();

InputStruct input = default;
OutputStruct output = default;

Expand Down Expand Up @@ -555,8 +626,16 @@ public void ReadWithoutSerialID()
// Test the overload call of .Read (key)
[Test]
[Category("FasterKV")]
public void ReadBareMinParams()
[Category("Smoke")]
public void ReadBareMinParams([Values] TestUtils.DeviceType deviceType)
{
string filename = path + "ReadBareMinParams" + deviceType.ToString() + ".log";
log = TestUtils.CreateTestDevice(deviceType, filename);
fht = new FasterKV<KeyStruct, ValueStruct>
(128, new LogSettings { LogDevice = log, MemorySizeBits = 22, SegmentSizeBits = 22, PageSizeBits = 10 });
session = fht.For(new Functions()).NewSession<Functions>();


var key1 = new KeyStruct { kfield1 = 13, kfield2 = 14 };
var value = new ValueStruct { vfield1 = 23, vfield2 = 24 };

Expand All @@ -582,8 +661,15 @@ public void ReadBareMinParams()
// Test the ReadAtAddress where ReadFlags = ReadFlags.none
[Test]
[Category("FasterKV")]
public void ReadAtAddressReadFlagsNone()
[Category("Smoke")]
public void ReadAtAddressReadFlagsNone([Values] TestUtils.DeviceType deviceType)
{
string filename = path + "ReadAtAddressReadFlagsNone" + deviceType.ToString() + ".log";
log = TestUtils.CreateTestDevice(deviceType, filename);
fht = new FasterKV<KeyStruct, ValueStruct>
(128, new LogSettings { LogDevice = log, MemorySizeBits = 22, SegmentSizeBits = 22, PageSizeBits = 10 });
session = fht.For(new Functions()).NewSession<Functions>();

InputStruct input = default;
OutputStruct output = default;

Expand Down Expand Up @@ -613,16 +699,21 @@ public void ReadAtAddressReadFlagsNone()

[Test]
[Category("FasterKV")]
public void ReadAtAddressReadFlagsSkipReadCache()
[Category("Smoke")]
public void ReadAtAddressReadFlagsSkipReadCache([Values] TestUtils.DeviceType deviceType)
{
string filename = path + "ReadAtAddressReadFlagsSkipReadCache" + deviceType.ToString() + ".log";
log = TestUtils.CreateTestDevice(deviceType, filename);
fht = new FasterKV<KeyStruct, ValueStruct>
(128, new LogSettings { LogDevice = log, MemorySizeBits = 22, SegmentSizeBits = 22, PageSizeBits = 10 });
session = fht.For(new Functions()).NewSession<Functions>();

InputStruct input = default;
OutputStruct output = default;
var key1 = new KeyStruct { kfield1 = 13, kfield2 = 14 };
var value = new ValueStruct { vfield1 = 23, vfield2 = 24 };
var readAtAddress = fht.Log.BeginAddress;



session.Upsert(ref key1, ref value, Empty.Default, 0);
//**** TODO: When Bug Fixed ... use the invalidAddress line
// Bug #136259
Expand Down Expand Up @@ -658,8 +749,15 @@ public void ReadAtAddressReadFlagsSkipReadCache()
// Simple Upsert test where ref key and ref value but nothing else set
[Test]
[Category("FasterKV")]
public void UpsertDefaultsTest()
[Category("Smoke")]
public void UpsertDefaultsTest([Values] TestUtils.DeviceType deviceType)
{
string filename = path + "UpsertDefaultsTest" + deviceType.ToString() + ".log";
log = TestUtils.CreateTestDevice(deviceType, filename);
fht = new FasterKV<KeyStruct, ValueStruct>
(128, new LogSettings { LogDevice = log, MemorySizeBits = 22, SegmentSizeBits = 22, PageSizeBits = 10 });
session = fht.For(new Functions()).NewSession<Functions>();

InputStruct input = default;
OutputStruct output = default;

Expand Down Expand Up @@ -688,8 +786,15 @@ public void UpsertDefaultsTest()
// Simple Upsert test of overload where not using Ref for key and value and setting all parameters
[Test]
[Category("FasterKV")]
public void UpsertNoRefNoDefaultsTest()
[Category("Smoke")]
public void UpsertNoRefNoDefaultsTest([Values] TestUtils.DeviceType deviceType)
{
string filename = path + "UpsertNoRefNoDefaultsTest" + deviceType.ToString() + ".log";
log = TestUtils.CreateTestDevice(deviceType, filename);
fht = new FasterKV<KeyStruct, ValueStruct>
(128, new LogSettings { LogDevice = log, MemorySizeBits = 22, SegmentSizeBits = 22, PageSizeBits = 10 });
session = fht.For(new Functions()).NewSession<Functions>();

InputStruct input = default;
OutputStruct output = default;

Expand All @@ -716,8 +821,14 @@ public void UpsertNoRefNoDefaultsTest()
// Upsert Test using Serial Numbers ... based on the VersionedRead Sample
[Test]
[Category("FasterKV")]
public void UpsertSerialNumberTest()
[Category("Smoke")]
public void UpsertSerialNumberTest([Values] TestUtils.DeviceType deviceType)
{
string filename = path + "UpsertSerialNumberTest" + deviceType.ToString() + ".log";
log = TestUtils.CreateTestDevice(deviceType, filename);
fht = new FasterKV<KeyStruct, ValueStruct>
(128, new LogSettings { LogDevice = log, MemorySizeBits = 22, SegmentSizeBits = 22, PageSizeBits = 10 });
session = fht.For(new Functions()).NewSession<Functions>();

int numKeys = 100;
int keyMod = 10;
Expand Down Expand Up @@ -775,4 +886,4 @@ public static void KVBasicsSampleEndToEndInDocs()
Assert.IsTrue(output == 10);
}
}
}
}

0 comments on commit 62a6ed9

Please sign in to comment.