From 44fd4edfe9347aceb0707101dd2f5f87f7f73034 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20K=C3=B6llner?= Date: Tue, 20 Aug 2019 19:45:40 +0200 Subject: [PATCH] Troubleshooting EmbargoServer TC --- Capnp.Net.Runtime.Tests/TcpRpcInterop.cs | 59 +++++++++---------- .../TestCapImplementations.cs | 3 + 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/Capnp.Net.Runtime.Tests/TcpRpcInterop.cs b/Capnp.Net.Runtime.Tests/TcpRpcInterop.cs index f19ac4b..cc17f0a 100644 --- a/Capnp.Net.Runtime.Tests/TcpRpcInterop.cs +++ b/Capnp.Net.Runtime.Tests/TcpRpcInterop.cs @@ -773,43 +773,40 @@ namespace Capnp.Net.Runtime.Tests } var cap = new TestCallOrderImpl(); - using (Skeleton.Claim(cap)) + cap.CountToDispose = 6; + var earlyCall = main.GetCallSequence(0, default); + + var echo = main.Echo(cap, default); + + using (var pipeline = echo.Eager()) { - var earlyCall = main.GetCallSequence(0, default); + var call0 = pipeline.GetCallSequence(0, default); + var call1 = pipeline.GetCallSequence(1, default); - var echo = main.Echo(cap, default); + Assert.IsTrue(earlyCall.Wait(MediumNonDbgTimeout), "early call returns"); - using (var pipeline = echo.Eager()) + var call2 = pipeline.GetCallSequence(2, default); + + Assert.IsTrue(echo.Wait(MediumNonDbgTimeout)); + using (var resolved = echo.Result) { - var call0 = pipeline.GetCallSequence(0, default); - var call1 = pipeline.GetCallSequence(1, default); + var call3 = pipeline.GetCallSequence(3, default); + var call4 = pipeline.GetCallSequence(4, default); + var call5 = pipeline.GetCallSequence(5, default); - Assert.IsTrue(earlyCall.Wait(MediumNonDbgTimeout), "early call returns"); - - var call2 = pipeline.GetCallSequence(2, default); - - Assert.IsTrue(echo.Wait(MediumNonDbgTimeout)); - using (var resolved = echo.Result) - { - var call3 = pipeline.GetCallSequence(3, default); - var call4 = pipeline.GetCallSequence(4, default); - var call5 = pipeline.GetCallSequence(5, default); - - Assert.IsTrue(call0.Wait(MediumNonDbgTimeout), "call 0 returns"); - Assert.IsTrue(call1.Wait(MediumNonDbgTimeout), "call 1 returns"); - Assert.IsTrue(call2.Wait(MediumNonDbgTimeout), "call 2 returns"); - Assert.IsTrue(call3.Wait(MediumNonDbgTimeout), "call 3 returns"); - Assert.IsTrue(call4.Wait(MediumNonDbgTimeout), "call 4 returns"); - Assert.IsTrue(call5.Wait(MediumNonDbgTimeout), "call 5 returns"); - - Assert.AreEqual(0u, call0.Result); - Assert.AreEqual(1u, call1.Result); - Assert.AreEqual(2u, call2.Result); - Assert.AreEqual(3u, call3.Result); - Assert.AreEqual(4u, call4.Result); - Assert.AreEqual(5u, call5.Result); - } + Assert.IsTrue(call0.Wait(MediumNonDbgTimeout), "call 0 returns"); + Assert.IsTrue(call1.Wait(MediumNonDbgTimeout), "call 1 returns"); + Assert.IsTrue(call2.Wait(MediumNonDbgTimeout), "call 2 returns"); + Assert.IsTrue(call3.Wait(MediumNonDbgTimeout), "call 3 returns"); + Assert.IsTrue(call4.Wait(MediumNonDbgTimeout), "call 4 returns"); + Assert.IsTrue(call5.Wait(MediumNonDbgTimeout), "call 5 returns"); + Assert.AreEqual(0u, call0.Result); + Assert.AreEqual(1u, call1.Result); + Assert.AreEqual(2u, call2.Result); + Assert.AreEqual(3u, call3.Result); + Assert.AreEqual(4u, call4.Result); + Assert.AreEqual(5u, call5.Result); } } } diff --git a/Capnp.Net.Runtime.Tests/TestCapImplementations.cs b/Capnp.Net.Runtime.Tests/TestCapImplementations.cs index a8e7b78..5b89f82 100644 --- a/Capnp.Net.Runtime.Tests/TestCapImplementations.cs +++ b/Capnp.Net.Runtime.Tests/TestCapImplementations.cs @@ -514,8 +514,11 @@ namespace Capnp.Net.Runtime.Tests.GenImpls public uint Count { get; set; } + public uint? CountToDispose { get; set; } + public void Dispose() { + Assert.IsTrue(!CountToDispose.HasValue || Count == CountToDispose, "Must not dispose at this point"); } public Task GetCallSequence(uint expected, CancellationToken cancellationToken_)