Browse Source

fix tests

pull/1730/head
Anton Firszov 5 years ago
parent
commit
13a3522465
  1. 6
      tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.Trim.cs
  2. 2
      tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedPoolMemoryAllocatorTests.cs

6
tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.Trim.cs

@ -36,7 +36,7 @@ namespace SixLabors.ImageSharp.Tests.Memory.Allocators
UnmanagedMemoryHandle[] b = pool.Rent(64); UnmanagedMemoryHandle[] b = pool.Rent(64);
pool.Return(a); pool.Return(a);
Assert.Equal(128, UnmanagedMemoryHandle.TotalOutstandingHandles); Assert.Equal(128, UnmanagedMemoryHandle.TotalOutstandingHandles);
Thread.Sleep(20_000); Thread.Sleep(15_000);
// We expect at least 2 Trim actions, first trim 32, then 16 arrays. // We expect at least 2 Trim actions, first trim 32, then 16 arrays.
// 128 - 32 - 16 = 80 // 128 - 32 - 16 = 80
@ -70,10 +70,12 @@ namespace SixLabors.ImageSharp.Tests.Memory.Allocators
GC.WaitForPendingFinalizers(); GC.WaitForPendingFinalizers();
Assert.Equal(128, UnmanagedMemoryHandle.TotalOutstandingHandles); Assert.Equal(128, UnmanagedMemoryHandle.TotalOutstandingHandles);
Thread.Sleep(20_000); Thread.Sleep(15_000);
Assert.True( Assert.True(
UnmanagedMemoryHandle.TotalOutstandingHandles <= 64, UnmanagedMemoryHandle.TotalOutstandingHandles <= 64,
$"UnmanagedMemoryHandle.TotalOutstandingHandles={UnmanagedMemoryHandle.TotalOutstandingHandles} > 64"); $"UnmanagedMemoryHandle.TotalOutstandingHandles={UnmanagedMemoryHandle.TotalOutstandingHandles} > 64");
GC.KeepAlive(pool1);
GC.KeepAlive(pool2);
} }
[MethodImpl(MethodImplOptions.NoInlining)] [MethodImpl(MethodImplOptions.NoInlining)]

2
tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedPoolMemoryAllocatorTests.cs

@ -253,6 +253,7 @@ namespace SixLabors.ImageSharp.Tests.Memory.Allocators
} }
} }
[Theory]
[InlineData(300)] [InlineData(300)]
[InlineData(600)] [InlineData(600)]
[InlineData(1200)] [InlineData(1200)]
@ -302,6 +303,7 @@ namespace SixLabors.ImageSharp.Tests.Memory.Allocators
} }
} }
[Theory]
[InlineData(300)] [InlineData(300)]
[InlineData(600)] [InlineData(600)]
public void MemoryOwnerFinalizer_ReturnsToPool(int length) public void MemoryOwnerFinalizer_ReturnsToPool(int length)

Loading…
Cancel
Save