Skip to content

Commit 32cfc54

Browse files
authored
Merge pull request #1719 from Samirat/samirat/add_test_discovery
Add test discovery and NoBuild option to test requests
2 parents e3082ba + e9215de commit 32cfc54

21 files changed

+249
-47
lines changed

src/OmniSharp.Abstractions/OmniSharpEndpoints.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ public static class V2
5858
public const string DebugTestsInContextGetStartInfo = "/v2/debugtestsincontext/getstartinfo";
5959
public const string DebugTestStop = "/v2/debugtest/stop";
6060
public const string DebugTestsInClassGetStartInfo = "/v2/debugtestsinclass/getstartinfo";
61+
public const string DiscoverTests = "/v2/discovertests";
6162
public const string RunTestsInContext = "/v2/runtestsincontext";
6263

6364
public const string BlockStructure = "/v2/blockstructure";
Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,26 @@
1-
using OmniSharp.Models;
1+
using OmniSharp.Models;
22

33
namespace OmniSharp.DotNetTest.Models
44
{
5-
public class BaseTestClassRequest : Request
5+
public class BaseTestRequest : Request
66
{
7-
public string[] MethodNames { get; set; }
87
public string RunSettings { get; set; }
98
public string TestFrameworkName { get; set; }
109

1110
/// <summary>
1211
/// e.g. .NETCoreApp, Version=2.0
1312
/// </summary>
1413
public string TargetFrameworkVersion { get; set; }
14+
public bool NoBuild { get; set; } = false;
15+
}
16+
17+
public class SingleTestRequest : BaseTestRequest
18+
{
19+
public string MethodName { get; set; }
20+
}
21+
22+
public class MultiTestRequest : BaseTestRequest
23+
{
24+
public string[] MethodNames { get; set; }
1525
}
1626
}

src/OmniSharp.DotNetTest/Models/BaseTestsInContextRequest.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,7 @@ public abstract class BaseTestsInContextRequest : Request
1111
/// e.g. .NETCoreApp, Version=2.0
1212
/// </summary>
1313
public string? TargetFrameworkVersion { get; set; }
14+
15+
public bool NoBuild { get; set; } = false;
1416
}
1517
}

src/OmniSharp.DotNetTest/Models/DebugTestClassGetStartInfoRequest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
namespace OmniSharp.DotNetTest.Models
55
{
66
[OmniSharpEndpoint(OmniSharpEndpoints.V2.DebugTestsInClassGetStartInfo, typeof(DebugTestClassGetStartInfoRequest), typeof(DebugTestGetStartInfoResponse))]
7-
public class DebugTestClassGetStartInfoRequest : BaseTestClassRequest
7+
public class DebugTestClassGetStartInfoRequest : MultiTestRequest
88
{
99
}
1010
}

src/OmniSharp.DotNetTest/Models/DebugTestGetStartInfoRequest.cs

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,7 @@
44
namespace OmniSharp.DotNetTest.Models
55
{
66
[OmniSharpEndpoint(OmniSharpEndpoints.V2.DebugTestGetStartInfo, typeof(DebugTestGetStartInfoRequest), typeof(DebugTestGetStartInfoResponse))]
7-
public class DebugTestGetStartInfoRequest : Request
7+
public class DebugTestGetStartInfoRequest : SingleTestRequest
88
{
9-
public string MethodName { get; set; }
10-
public string RunSettings { get; set; }
11-
public string TestFrameworkName { get; set; }
12-
/// <summary>
13-
/// e.g. .NETCoreApp, Version=2.0
14-
/// </summary>
15-
public string TargetFrameworkVersion { get; set; }
169
}
1710
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
using OmniSharp.Mef;
2+
using OmniSharp.Models;
3+
4+
namespace OmniSharp.DotNetTest.Models
5+
{
6+
[OmniSharpEndpoint(OmniSharpEndpoints.V2.DiscoverTests, typeof(DiscoverTestsRequest), typeof(DiscoverTestsResponse))]
7+
public class DiscoverTestsRequest : BaseTestRequest
8+
{
9+
}
10+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
namespace OmniSharp.DotNetTest.Models
2+
{
3+
public class Test
4+
{
5+
public string FullyQualifiedName { get; set; }
6+
7+
public string DisplayName { get; set; }
8+
9+
public string Source { get; set; }
10+
11+
public string CodeFilePath { get; set; }
12+
13+
public int LineNumber { get; set; }
14+
}
15+
16+
public class DiscoverTestsResponse
17+
{
18+
public Test[] Tests { get; set; }
19+
}
20+
}

src/OmniSharp.DotNetTest/Models/GetTestStartInfoRequest.cs

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,7 @@
44
namespace OmniSharp.DotNetTest.Models
55
{
66
[OmniSharpEndpoint(OmniSharpEndpoints.V2.GetTestStartInfo, typeof(GetTestStartInfoRequest), typeof(GetTestStartInfoResponse))]
7-
public class GetTestStartInfoRequest : Request
7+
public class GetTestStartInfoRequest : SingleTestRequest
88
{
9-
public string MethodName { get; set; }
10-
public string RunSettings { get; set; }
11-
public string TestFrameworkName { get; set; }
12-
/// <summary>
13-
/// e.g. .NETCoreApp, Version=2.0
14-
/// </summary>
15-
public string TargetFrameworkVersion { get; set; }
169
}
1710
}

src/OmniSharp.DotNetTest/Models/RunTestInClassRequest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
namespace OmniSharp.DotNetTest.Models
55
{
66
[OmniSharpEndpoint(OmniSharpEndpoints.V2.RunAllTestsInClass, typeof(RunTestsInClassRequest), typeof(RunTestResponse))]
7-
public class RunTestsInClassRequest : BaseTestClassRequest
7+
public class RunTestsInClassRequest : MultiTestRequest
88
{
99
}
1010
}

src/OmniSharp.DotNetTest/Models/RunTestRequest.cs

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,7 @@
44
namespace OmniSharp.DotNetTest.Models
55
{
66
[OmniSharpEndpoint(OmniSharpEndpoints.V2.RunTest, typeof(RunTestRequest), typeof(RunTestResponse))]
7-
public class RunTestRequest : Request
7+
public class RunTestRequest : SingleTestRequest
88
{
9-
public string MethodName { get; set; }
10-
public string RunSettings { get; set; }
11-
public string TestFrameworkName { get; set; }
12-
/// <summary>
13-
/// e.g. .NETCoreApp, Version=2.0
14-
/// </summary>
15-
public string TargetFrameworkVersion { get; set; }
169
}
1710
}

0 commit comments

Comments
 (0)