public void AllocCriticalSize() { AprAllocator a = AprAllocator.Create(); Assert.IsFalse(a.IsNull, "#C01"); AprMemNode m = AllocHelper(a, 256, "#C02"); a.Free(m); AprMemNode m1 = AllocHelper(a, 512, "#C03"); AprMemNode m2 = AllocHelper(a, 1024, "#C04"); a.Free(m2); AprMemNode m3 = AllocHelper(a, 2048, "#C05"); AprMemNode m4 = AllocHelper(a, 4096, "#C06"); AprMemNode m5 = AllocHelper(a, 6148, "#C07"); a.Free(m5); a.Free(m3); a.Free(m1); a.Free(m4); m1 = AllocHelper(a, 9216, "#D02"); m2 = AllocHelper(a, 12265, "#D03"); m3 = AllocHelper(a, 16384, "#D04"); a.Free(m2); a.Free(m3); a.Free(m1); a.Destroy(); Assert.IsTrue(a.IsNull, "#C08"); }
public void AllocSimple() { AprAllocator a = AprAllocator.Create(); Assert.IsFalse(a.IsNull, "#B01"); AprMemNode m = AllocHelper(a, 256, "#B02"); a.Free(m); a.Destroy(); Assert.IsTrue(a.IsNull, "#B03"); }
private AprMemNode AllocHelper(AprAllocator a, int size, string test) { AprMemNode m = a.Alloc(size); Assert.IsFalse(m.IsNull, test + "a"); if ((size + 24) <= 8192) { Assert.AreEqual(1, m.NativeIndex, test + "c"); Assert.AreEqual((8192 - 24), (m.EndP.ToInt32() - m.FirstAvail.ToInt32()), test + "d"); } else { Assert.AreEqual((size - 4097 + 24) / 4096 + 1, m.NativeIndex, test + "c"); Assert.AreEqual((m.NativeIndex - 1) * 4096 + (8192 - 24), (m.EndP.ToInt32() - m.FirstAvail.ToInt32()), test + "d"); } return(m); }