mirror of
https://github.com/space-wizards/RobustToolbox.git
synced 2026-02-14 19:29:36 +01:00
* Enable roslyn extension tests in CI * I'll be real I kinda just hoped that last one would work. dotnet test's --help documentation is useless garbage so I couldn't tell if that was supported or not. Guess not. * Actually fix the Roslyn tests. As far as I can tell, Roslyn tests haven't worked since #2976. The tests used a pretty awful technique of linking the test code against the analyzer, so that the analyzer's copy of the relevant attributes got included into the test. This then broke when the namespace got changed by the linked PR. Now the tests get an EmbeddedResource for the necessary test files compiled instead. Also applied this to DependencyAssignAnalyzerTest because why not.
23 lines
712 B
C#
23 lines
712 B
C#
using System.Collections.Generic;
|
|
using Microsoft.CodeAnalysis.Testing;
|
|
using Microsoft.CodeAnalysis.Text;
|
|
|
|
namespace Robust.Analyzers.Tests;
|
|
|
|
public static class TestHelper
|
|
{
|
|
public static void AddEmbeddedSources(SolutionState state, params string[] embeddedFiles)
|
|
{
|
|
AddEmbeddedSources(state, (IEnumerable<string>) embeddedFiles);
|
|
}
|
|
|
|
public static void AddEmbeddedSources(SolutionState state, IEnumerable<string> embeddedFiles)
|
|
{
|
|
foreach (var fileName in embeddedFiles)
|
|
{
|
|
using var stream = typeof(AccessAnalyzer_Test).Assembly.GetManifestResourceStream(fileName)!;
|
|
state.Sources.Add((fileName, SourceText.From(stream)));
|
|
}
|
|
}
|
|
}
|