Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions samples/OptionAnalyzer.Test/UnitTests.fs
Original file line number Diff line number Diff line change
Expand Up @@ -478,7 +478,7 @@ module ClientTests =
let stats = client.LoadAnalyzers(path)
let! messages = client.RunAnalyzersSafely(ctx)

Assert.That(stats.Analyzers, Is.Not.EqualTo 0)
Assert.That(stats.AnalyzerNames, Is.Not.Empty)

match List.tryHead messages with
| Some message ->
Expand Down Expand Up @@ -510,7 +510,7 @@ module ClientTests =
let stats = client.LoadAnalyzers(path)
let! messages = client.RunAnalyzersSafely(ctx)

Assert.That(stats.Analyzers, Is.Not.EqualTo 0)
Assert.That(stats.AnalyzerNames, Is.Not.Empty)

match List.tryHead messages with
| Some message ->
Expand Down Expand Up @@ -542,7 +542,7 @@ module ClientTests =
let stats = client.LoadAnalyzers(path)
let! messages = client.RunAnalyzersSafely(ctx)

Assert.That(stats.Analyzers, Is.Not.EqualTo 0)
Assert.That(stats.AnalyzerNames, Is.Not.Empty)

match List.tryHead messages with
| Some message ->
Expand Down Expand Up @@ -575,7 +575,7 @@ module ClientTests =
let stats = client.LoadAnalyzers(path)
let! messages = client.RunAnalyzersSafely(ctx)

Assert.That(stats.Analyzers, Is.Not.EqualTo 0)
Assert.That(stats.AnalyzerNames, Is.Not.Empty)

match List.tryHead messages with
| Some message ->
Expand Down Expand Up @@ -609,7 +609,7 @@ module ClientTests =
let stats = client.LoadAnalyzers(path)
let! messages = client.RunAnalyzersSafely(ctx)

Assert.That(stats.Analyzers, Is.Not.EqualTo 0)
Assert.That(stats.AnalyzerNames, Is.Not.Empty)

match List.tryHead messages with
| Some message ->
Expand Down Expand Up @@ -662,7 +662,7 @@ module ClientTests =
let stats = client.LoadAnalyzers(path)
let! messages = client.RunAnalyzers(ctx)

Assert.That(stats.Analyzers, Is.Not.EqualTo 0)
Assert.That(stats.AnalyzerNames, Is.Not.Empty)
Assert.That(messages, Is.Not.Empty)
}

Expand All @@ -685,7 +685,7 @@ module ClientTests =
let stats = client.LoadAnalyzers(path)
let! messages = client.RunAnalyzers(ctx)

Assert.That(stats.Analyzers, Is.Not.EqualTo 0)
Assert.That(stats.AnalyzerNames, Is.Not.Empty)
Assert.That(messages, Is.Empty)
}

Expand All @@ -707,7 +707,7 @@ module ClientTests =
let stats = client.LoadAnalyzers(path)
let! messages = client.RunAnalyzers(ctx)

Assert.That(stats.Analyzers, Is.Not.EqualTo 0)
Assert.That(stats.AnalyzerNames, Is.Not.Empty)
Assert.That(messages, Is.Empty)
}

Expand All @@ -730,7 +730,7 @@ module ClientTests =
let stats = client.LoadAnalyzers(path)
let! messages = client.RunAnalyzers(ctx)

Assert.That(stats.Analyzers, Is.Not.EqualTo 0)
Assert.That(stats.AnalyzerNames, Is.Not.Empty)
Assert.That(messages, Is.Empty)
}

Expand All @@ -754,6 +754,6 @@ module ClientTests =
let stats = client.LoadAnalyzers(path)
let! messages = client.RunAnalyzers(ctx)

Assert.That(stats.Analyzers, Is.Not.EqualTo 0)
Assert.That(stats.AnalyzerNames, Is.Not.Empty)
Assert.That(messages, Is.Empty)
}
15 changes: 9 additions & 6 deletions src/FSharp.Analyzers.SDK/FSharp.Analyzers.SDK.Client.fs
Original file line number Diff line number Diff line change
Expand Up @@ -201,10 +201,12 @@ module Client =
type AssemblyLoadStats =
{
AnalyzerAssemblies: int
Analyzers: int
AnalyzerNames: string list
FailedAssemblies: int
}

member x.Analyzers = x.AnalyzerNames.Length

type ExcludeInclude =
| ExcludeFilter of (AnalyzerName -> bool)
| IncludeFilter of (AnalyzerName -> bool)
Expand Down Expand Up @@ -325,24 +327,25 @@ type Client<'TAttribute, 'TContext when 'TAttribute :> AnalyzerAttribute and 'TC

let assemblyCount = Array.length analyzers

let analyzerCount =
let analyzerNames =
analyzers
|> Seq.sumBy (
|> Seq.collect (
snd
>> Seq.length
>> Seq.map (fun a -> a.Name)
)
|> Seq.toList

{
AnalyzerAssemblies = assemblyCount
Analyzers = analyzerCount
AnalyzerNames = analyzerNames
FailedAssemblies = skippedAssemblies.Value
}
else
logger.LogWarning("Analyzer path {analyzerPath} does not exist", dir)

{
AnalyzerAssemblies = 0
Analyzers = 0
AnalyzerNames = []
FailedAssemblies = 0
}

Expand Down
7 changes: 5 additions & 2 deletions src/FSharp.Analyzers.SDK/FSharp.Analyzers.SDK.Client.fsi
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,15 @@ type AssemblyLoadStats =
{
/// The number of DLLs from which we tried to load analyzers.
AnalyzerAssemblies: int
/// The total number of analyzers loaded across all attempted DLLs.
Analyzers: int
/// The names of all analyzers loaded across all attempted DLLs.
AnalyzerNames: string list
/// The number of assemblies from which we tried and failed to load any DLLs.
FailedAssemblies: int
}

/// The total number of analyzers loaded across all attempted DLLs.
member Analyzers: int

type ExcludeInclude =
/// A predicate function to exclude Analyzers.
| ExcludeFilter of (string -> bool)
Expand Down
Loading