mirror of https://github.com/microsoft/autogen.git
[.Net] Dispose kernel after running dotnet interactive tests (#3378)
* dispose kernel after running test * add timeout
This commit is contained in:
parent
d5068d9b6c
commit
a638a08f81
|
@ -54,6 +54,7 @@ jobs:
|
|||
os: [ ubuntu-latest, macos-latest, windows-latest ]
|
||||
python-version: ["3.11"]
|
||||
runs-on: ${{ matrix.os }}
|
||||
timeout-minutes: 30
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
|
|
|
@ -1,82 +1,83 @@
|
|||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// DotnetInteractiveServiceTest.cs
|
||||
|
||||
//using FluentAssertions;
|
||||
//using Xunit;
|
||||
//using Xunit.Abstractions;
|
||||
using FluentAssertions;
|
||||
using Xunit;
|
||||
using Xunit.Abstractions;
|
||||
|
||||
//namespace AutoGen.DotnetInteractive.Tests;
|
||||
namespace AutoGen.DotnetInteractive.Tests;
|
||||
|
||||
//public class DotnetInteractiveServiceTest : IDisposable
|
||||
//{
|
||||
// private ITestOutputHelper _output;
|
||||
// private InteractiveService _interactiveService;
|
||||
// private string _workingDir;
|
||||
[Collection("Sequential")]
|
||||
public class DotnetInteractiveServiceTest : IDisposable
|
||||
{
|
||||
private ITestOutputHelper _output;
|
||||
private InteractiveService _interactiveService;
|
||||
private string _workingDir;
|
||||
|
||||
// public DotnetInteractiveServiceTest(ITestOutputHelper output)
|
||||
// {
|
||||
// _output = output;
|
||||
// _workingDir = Path.Combine(Path.GetTempPath(), "test", Path.GetRandomFileName());
|
||||
// if (!Directory.Exists(_workingDir))
|
||||
// {
|
||||
// Directory.CreateDirectory(_workingDir);
|
||||
// }
|
||||
public DotnetInteractiveServiceTest(ITestOutputHelper output)
|
||||
{
|
||||
_output = output;
|
||||
_workingDir = Path.Combine(Path.GetTempPath(), "test", Path.GetRandomFileName());
|
||||
if (!Directory.Exists(_workingDir))
|
||||
{
|
||||
Directory.CreateDirectory(_workingDir);
|
||||
}
|
||||
|
||||
// _interactiveService = new InteractiveService(_workingDir);
|
||||
// _interactiveService.StartAsync(_workingDir, default).Wait();
|
||||
// }
|
||||
_interactiveService = new InteractiveService(_workingDir);
|
||||
_interactiveService.StartAsync(_workingDir, default).Wait();
|
||||
}
|
||||
|
||||
// public void Dispose()
|
||||
// {
|
||||
// _interactiveService.Dispose();
|
||||
// }
|
||||
public void Dispose()
|
||||
{
|
||||
_interactiveService.Dispose();
|
||||
}
|
||||
|
||||
// [Fact]
|
||||
// public async Task ItRunCSharpCodeSnippetTestsAsync()
|
||||
// {
|
||||
// var cts = new CancellationTokenSource();
|
||||
// var isRunning = await _interactiveService.StartAsync(_workingDir, cts.Token);
|
||||
[Fact]
|
||||
public async Task ItRunCSharpCodeSnippetTestsAsync()
|
||||
{
|
||||
var cts = new CancellationTokenSource();
|
||||
var isRunning = await _interactiveService.StartAsync(_workingDir, cts.Token);
|
||||
|
||||
// isRunning.Should().BeTrue();
|
||||
isRunning.Should().BeTrue();
|
||||
|
||||
// _interactiveService.IsRunning().Should().BeTrue();
|
||||
_interactiveService.IsRunning().Should().BeTrue();
|
||||
|
||||
// // test code snippet
|
||||
// var hello_world = @"
|
||||
//Console.WriteLine(""hello world"");
|
||||
//";
|
||||
// test code snippet
|
||||
var hello_world = @"
|
||||
Console.WriteLine(""hello world"");
|
||||
";
|
||||
|
||||
// await this.TestCSharpCodeSnippet(_interactiveService, hello_world, "hello world");
|
||||
// await this.TestCSharpCodeSnippet(
|
||||
// _interactiveService,
|
||||
// code: @"
|
||||
//Console.WriteLine(""hello world""
|
||||
//",
|
||||
// expectedOutput: "Error: (2,32): error CS1026: ) expected");
|
||||
await this.TestCSharpCodeSnippet(_interactiveService, hello_world, "hello world");
|
||||
await this.TestCSharpCodeSnippet(
|
||||
_interactiveService,
|
||||
code: @"
|
||||
Console.WriteLine(""hello world""
|
||||
",
|
||||
expectedOutput: "Error: (2,32): error CS1026: ) expected");
|
||||
|
||||
// await this.TestCSharpCodeSnippet(
|
||||
// service: _interactiveService,
|
||||
// code: "throw new Exception();",
|
||||
// expectedOutput: "Error: System.Exception: Exception of type 'System.Exception' was thrown");
|
||||
// }
|
||||
await this.TestCSharpCodeSnippet(
|
||||
service: _interactiveService,
|
||||
code: "throw new Exception();",
|
||||
expectedOutput: "Error: System.Exception: Exception of type 'System.Exception' was thrown");
|
||||
}
|
||||
|
||||
// [Fact]
|
||||
// public async Task ItRunPowershellScriptTestsAsync()
|
||||
// {
|
||||
// // test power shell
|
||||
// var ps = @"Write-Output ""hello world""";
|
||||
// await this.TestPowershellCodeSnippet(_interactiveService, ps, "hello world");
|
||||
// }
|
||||
[Fact]
|
||||
public async Task ItRunPowershellScriptTestsAsync()
|
||||
{
|
||||
// test power shell
|
||||
var ps = @"Write-Output ""hello world""";
|
||||
await this.TestPowershellCodeSnippet(_interactiveService, ps, "hello world");
|
||||
}
|
||||
|
||||
// private async Task TestPowershellCodeSnippet(InteractiveService service, string code, string expectedOutput)
|
||||
// {
|
||||
// var result = await service.SubmitPowershellCodeAsync(code, CancellationToken.None);
|
||||
// result.Should().StartWith(expectedOutput);
|
||||
// }
|
||||
private async Task TestPowershellCodeSnippet(InteractiveService service, string code, string expectedOutput)
|
||||
{
|
||||
var result = await service.SubmitPowershellCodeAsync(code, CancellationToken.None);
|
||||
result.Should().StartWith(expectedOutput);
|
||||
}
|
||||
|
||||
// private async Task TestCSharpCodeSnippet(InteractiveService service, string code, string expectedOutput)
|
||||
// {
|
||||
// var result = await service.SubmitCSharpCodeAsync(code, CancellationToken.None);
|
||||
// result.Should().StartWith(expectedOutput);
|
||||
// }
|
||||
//}
|
||||
private async Task TestCSharpCodeSnippet(InteractiveService service, string code, string expectedOutput)
|
||||
{
|
||||
var result = await service.SubmitCSharpCodeAsync(code, CancellationToken.None);
|
||||
result.Should().StartWith(expectedOutput);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@ using Xunit.Abstractions;
|
|||
namespace AutoGen.DotnetInteractive.Tests;
|
||||
|
||||
[Collection("Sequential")]
|
||||
public class DotnetInteractiveStdioKernelConnectorTests
|
||||
public class DotnetInteractiveStdioKernelConnectorTests : IDisposable
|
||||
{
|
||||
private string _workingDir;
|
||||
private Kernel kernel;
|
||||
|
@ -77,4 +77,9 @@ public class DotnetInteractiveStdioKernelConnectorTests
|
|||
var result = await this.kernel.RunSubmitCodeCommandAsync(pythonCode, "python");
|
||||
result.Should().Contain("Hello, World!");
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
this.kernel.Dispose();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,12 +7,13 @@ using Xunit;
|
|||
|
||||
namespace AutoGen.DotnetInteractive.Tests;
|
||||
|
||||
[Collection("Sequential")]
|
||||
public class InProcessDotnetInteractiveKernelBuilderTest
|
||||
{
|
||||
[Fact]
|
||||
public async Task ItAddCSharpKernelTestAsync()
|
||||
{
|
||||
var kernel = DotnetInteractiveKernelBuilder
|
||||
using var kernel = DotnetInteractiveKernelBuilder
|
||||
.CreateEmptyInProcessKernelBuilder()
|
||||
.AddCSharpKernel()
|
||||
.Build();
|
||||
|
@ -29,7 +30,7 @@ public class InProcessDotnetInteractiveKernelBuilderTest
|
|||
[Fact]
|
||||
public async Task ItAddPowershellKernelTestAsync()
|
||||
{
|
||||
var kernel = DotnetInteractiveKernelBuilder
|
||||
using var kernel = DotnetInteractiveKernelBuilder
|
||||
.CreateEmptyInProcessKernelBuilder()
|
||||
.AddPowershellKernel()
|
||||
.Build();
|
||||
|
@ -45,7 +46,7 @@ public class InProcessDotnetInteractiveKernelBuilderTest
|
|||
[Fact]
|
||||
public async Task ItAddFSharpKernelTestAsync()
|
||||
{
|
||||
var kernel = DotnetInteractiveKernelBuilder
|
||||
using var kernel = DotnetInteractiveKernelBuilder
|
||||
.CreateEmptyInProcessKernelBuilder()
|
||||
.AddFSharpKernel()
|
||||
.Build();
|
||||
|
@ -62,7 +63,7 @@ public class InProcessDotnetInteractiveKernelBuilderTest
|
|||
[Fact]
|
||||
public async Task ItAddPythonKernelTestAsync()
|
||||
{
|
||||
var kernel = DotnetInteractiveKernelBuilder
|
||||
using var kernel = DotnetInteractiveKernelBuilder
|
||||
.CreateEmptyInProcessKernelBuilder()
|
||||
.AddPythonKernel("python3")
|
||||
.Build();
|
||||
|
|
Loading…
Reference in New Issue