public static void TryStartNoGCRegionNegTest()
{
RemoteInvokeOptions options = new RemoteInvokeOptions();
options.TimeOut = TimeoutMilliseconds;
RemoteInvoke(() =>
{
Assert.Throws<InvalidOperationException>(() => GC.EndNoGCRegion());
Assert.True(GC.TryStartNoGCRegion(1024));
Assert.Throws<InvalidOperationException>(() => GC.TryStartNoGCRegion(1024));
Assert.True(GC.TryStartNoGCRegion(1024, true));
Assert.Throws<InvalidOperationException>(() => GC.TryStartNoGCRegion(1024, true));
Assert.True(GC.TryStartNoGCRegion(1024, 1024));
Assert.Throws<InvalidOperationException>(() => GC.TryStartNoGCRegion(1024, 1024));
Assert.True(GC.TryStartNoGCRegion(1024, 1024, true));
Assert.Throws<InvalidOperationException>(() => GC.TryStartNoGCRegion(1024, 1024, true));
Assert.True(GC.TryStartNoGCRegion(1024, true));
Assert.Equal(GCSettings.LatencyMode, GCLatencyMode.NoGCRegion);
Assert.Throws<InvalidOperationException>(() => GCSettings.LatencyMode = GCLatencyMode.LowLatency);
GC.EndNoGCRegion();
return SuccessExitCode;
}, options).Dispose();
}
[Fact]