Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/linker.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTlakaelel Axayakatl Ceja <tlakaelel.ceja@microsoft.com>2021-07-27 02:25:57 +0300
committerGitHub <noreply@github.com>2021-07-27 02:25:57 +0300
commitb888d672e11588e2bbca1cd3eeaee30d53416897 (patch)
tree427e6fff0b144fbe1cd51db7f43fc203ba48eebb /test/ILLink.RoslynAnalyzer.Tests
parent7b1945a5390c548e26849d3ee9485d57b4a2fc88 (diff)
RAF Attribute unification (#2156)
Bump sdk version in global.json Fix new analyzer recommendations about AsSpan and Contains(char) Disable ImplicitNamespaceImports Update Microsoft.NetCore.App.Ref used by analyzer to take new Runtime attribute changes Update analyzer to not use Message as a property in RequiresAssemblyFilesAttribute Update cecil to use Microsoft.NETFramework.ReferenceAssemblies.net40 1.0.2 along with taking other cecil updates
Diffstat (limited to 'test/ILLink.RoslynAnalyzer.Tests')
-rw-r--r--test/ILLink.RoslynAnalyzer.Tests/RequiresAssemblyFilesAnalyzerTests.cs48
-rw-r--r--test/ILLink.RoslynAnalyzer.Tests/TestCaseUtils.cs2
-rw-r--r--test/ILLink.RoslynAnalyzer.Tests/UnconditionalSuppressMessageCodeFixTests.cs25
3 files changed, 30 insertions, 45 deletions
diff --git a/test/ILLink.RoslynAnalyzer.Tests/RequiresAssemblyFilesAnalyzerTests.cs b/test/ILLink.RoslynAnalyzer.Tests/RequiresAssemblyFilesAnalyzerTests.cs
index 4f66348ba..cf09be77e 100644
--- a/test/ILLink.RoslynAnalyzer.Tests/RequiresAssemblyFilesAnalyzerTests.cs
+++ b/test/ILLink.RoslynAnalyzer.Tests/RequiresAssemblyFilesAnalyzerTests.cs
@@ -166,7 +166,7 @@ using System.Diagnostics.CodeAnalysis;
class C
{
- [RequiresAssemblyFiles (Message = ""Message from attribute"", Url = ""https://helpurl"")]
+ [RequiresAssemblyFiles (""Message from attribute"", Url = ""https://helpurl"")]
void M1()
{
}
@@ -231,13 +231,13 @@ class C
M2();
}
- [RequiresAssemblyFiles (Message = ""Warn from M2"")]
+ [RequiresAssemblyFiles (""Warn from M2"")]
void M2()
{
M3();
}
- [RequiresAssemblyFiles (Message = ""Warn from M3"")]
+ [RequiresAssemblyFiles (""Warn from M3"")]
void M3()
{
}
@@ -321,6 +321,8 @@ class C
}
}";
return VerifyRequiresAssemblyFilesAnalyzer (src,
+ // (8,13): warning IL3002: Using member 'System.Reflection.AssemblyName.CodeBase.get' which has 'RequiresAssemblyFilesAttribute' can break functionality when embedded in a single-file app. The code will return an empty string for assemblies embedded in a single-file app.
+ VerifyCS.Diagnostic (RequiresAssemblyFilesAnalyzer.IL3002).WithSpan (8, 13, 8, 23).WithArguments ("System.Reflection.AssemblyName.CodeBase.get", " The code will return an empty string for assemblies embedded in a single-file app.", ""),
// (8,13): warning IL3000: 'System.Reflection.AssemblyName.CodeBase' always returns an empty string for assemblies embedded in a single-file app. If the path to the app directory is needed, consider calling 'System.AppContext.BaseDirectory'.
VerifyCS.Diagnostic (RequiresAssemblyFilesAnalyzer.IL3000).WithSpan (8, 13, 8, 23).WithArguments ("System.Reflection.AssemblyName.CodeBase"),
// (9,13): warning IL3000: 'System.Reflection.AssemblyName.EscapedCodeBase' always returns an empty string for assemblies embedded in a single-file app. If the path to the app directory is needed, consider calling 'System.AppContext.BaseDirectory'.
@@ -445,7 +447,7 @@ class C
using System.Diagnostics.CodeAnalysis;
public class C
{
- [RequiresAssemblyFiles(Message = ""message"")]
+ [RequiresAssemblyFiles(""message"")]
public int M1() => 0;
int M2() => M1();
}
@@ -469,18 +471,18 @@ public class E
using System.Diagnostics.CodeAnalysis;
public class C
{
- [RequiresAssemblyFiles(Message = ""message"")]
+ [RequiresAssemblyFiles(""message"")]
public int M1() => 0;
- [RequiresAssemblyFiles(Message = ""Calls M1"")]
+ [RequiresAssemblyFiles(""Calls M1"")]
int M2() => M1();
}
class D
{
- [RequiresAssemblyFiles(Message = ""Calls M1"")]
+ [RequiresAssemblyFiles(""Calls M1"")]
public int M3(C c) => c.M1();
public class E
{
- [RequiresAssemblyFiles(Message = ""Calls M1"")]
+ [RequiresAssemblyFiles(""Calls M1"")]
public int M4(C c) => c.M1();
}
}
@@ -561,7 +563,7 @@ using System.Diagnostics.CodeAnalysis;
public class C
{
- [RequiresAssemblyFiles(Message = ""message"")]
+ [RequiresAssemblyFiles(""message"")]
public int M1() => 0;
int M2 => M1();
@@ -572,10 +574,10 @@ using System.Diagnostics.CodeAnalysis;
public class C
{
- [RequiresAssemblyFiles(Message = ""message"")]
+ [RequiresAssemblyFiles(""message"")]
public int M1() => 0;
- [RequiresAssemblyFiles(Message = ""Calls M1"")]
+ [RequiresAssemblyFiles(""Calls M1"")]
int M2 => M1();
}";
return VerifyRequiresAssemblyFilesCodeFix (
@@ -642,7 +644,7 @@ using System.Diagnostics.CodeAnalysis;
public class C
{
- [RequiresAssemblyFiles(Message = ""message"")]
+ [RequiresAssemblyFiles(""message"")]
public int M1() => 0;
Action M2()
@@ -657,13 +659,13 @@ using System.Diagnostics.CodeAnalysis;
public class C
{
- [RequiresAssemblyFiles(Message = ""message"")]
+ [RequiresAssemblyFiles(""message"")]
public int M1() => 0;
- [RequiresAssemblyFiles(Message = ""Calls Wrapper"")]
+ [RequiresAssemblyFiles(""Calls Wrapper"")]
Action M2()
{
- [global::System.Diagnostics.CodeAnalysis.RequiresAssemblyFilesAttribute(Message = ""Calls M1"")] void Wrapper () => M1();
+ [global::System.Diagnostics.CodeAnalysis.RequiresAssemblyFilesAttribute(""Calls M1"")] void Wrapper () => M1();
return Wrapper;
}
}";
@@ -688,7 +690,7 @@ using System.Diagnostics.CodeAnalysis;
public class C
{
- [RequiresAssemblyFiles(Message = ""message"")]
+ [RequiresAssemblyFiles(""message"")]
public int M1() => 0;
public C () => M1();
@@ -699,7 +701,7 @@ using System.Diagnostics.CodeAnalysis;
public class C
{
- [RequiresAssemblyFiles(Message = ""message"")]
+ [RequiresAssemblyFiles(""message"")]
public int M1() => 0;
[RequiresAssemblyFiles()]
@@ -724,7 +726,7 @@ using System.Diagnostics.CodeAnalysis;
public class C
{
- [RequiresAssemblyFiles(Message = ""message"")]
+ [RequiresAssemblyFiles(""message"")]
public int M1() => 0;
public event EventHandler E1
@@ -742,7 +744,7 @@ using System.Diagnostics.CodeAnalysis;
public class C
{
- [RequiresAssemblyFiles(Message = ""message"")]
+ [RequiresAssemblyFiles(""message"")]
public int M1() => 0;
[RequiresAssemblyFiles()]
@@ -773,7 +775,7 @@ using System.Diagnostics.CodeAnalysis;
class StaticCtor
{
- [RequiresAssemblyFiles (Message = ""Message for --TestStaticCtor--"")]
+ [RequiresAssemblyFiles (""Message for --TestStaticCtor--"")]
static StaticCtor ()
{
}
@@ -799,7 +801,7 @@ class StaticCtorTriggeredByFieldAccess
{
public static int field;
- [RequiresAssemblyFiles (Message = ""Message for --StaticCtorTriggeredByFieldAccess.Cctor--"")]
+ [RequiresAssemblyFiles (""Message for --StaticCtorTriggeredByFieldAccess.Cctor--"")]
static StaticCtorTriggeredByFieldAccess ()
{
field = 0;
@@ -826,12 +828,12 @@ using System.Diagnostics.CodeAnalysis;
class StaticCtorTriggeredByMethodCall
{
- [RequiresAssemblyFiles (Message = ""Message for --StaticCtorTriggeredByMethodCall.Cctor--"")]
+ [RequiresAssemblyFiles (""Message for --StaticCtorTriggeredByMethodCall.Cctor--"")]
static StaticCtorTriggeredByMethodCall ()
{
}
- [RequiresAssemblyFiles (Message = ""Message for --StaticCtorTriggeredByMethodCall.TriggerStaticCtorMarking--"")]
+ [RequiresAssemblyFiles (""Message for --StaticCtorTriggeredByMethodCall.TriggerStaticCtorMarking--"")]
public void TriggerStaticCtorMarking ()
{
}
diff --git a/test/ILLink.RoslynAnalyzer.Tests/TestCaseUtils.cs b/test/ILLink.RoslynAnalyzer.Tests/TestCaseUtils.cs
index 6022d9a29..60da38b14 100644
--- a/test/ILLink.RoslynAnalyzer.Tests/TestCaseUtils.cs
+++ b/test/ILLink.RoslynAnalyzer.Tests/TestCaseUtils.cs
@@ -22,7 +22,7 @@ namespace ILLink.RoslynAnalyzer.Tests
public static readonly ReferenceAssemblies Net6PreviewAssemblies =
new ReferenceAssemblies (
"net6.0",
- new PackageIdentity ("Microsoft.NETCore.App.Ref", "6.0.0-preview.5.21224.4"),
+ new PackageIdentity ("Microsoft.NETCore.App.Ref", "6.0.0-preview.7.21368.2"),
Path.Combine ("ref", "net6.0"))
.WithNuGetConfigFilePath (Path.Combine (TestCaseUtils.GetRepoRoot (), "NuGet.config"));
diff --git a/test/ILLink.RoslynAnalyzer.Tests/UnconditionalSuppressMessageCodeFixTests.cs b/test/ILLink.RoslynAnalyzer.Tests/UnconditionalSuppressMessageCodeFixTests.cs
index 38249eb3e..05fe2ba10 100644
--- a/test/ILLink.RoslynAnalyzer.Tests/UnconditionalSuppressMessageCodeFixTests.cs
+++ b/test/ILLink.RoslynAnalyzer.Tests/UnconditionalSuppressMessageCodeFixTests.cs
@@ -49,26 +49,9 @@ build_property.{MSBuildPropertyOptionNames.EnableTrimAnalyzer} = true")));
DiagnosticResult[] baselineExpected,
DiagnosticResult[] fixedExpected)
{
- var attributeDefinition = @"
-namespace System.Diagnostics.CodeAnalysis
-{
-#nullable enable
- [AttributeUsage(AttributeTargets.Constructor |
- AttributeTargets.Event |
- AttributeTargets.Method |
- AttributeTargets.Property,
- Inherited = false,
- AllowMultiple = false)]
- public sealed class RequiresAssemblyFilesAttribute : Attribute
- {
- public RequiresAssemblyFilesAttribute() { }
- public string? Message { get; set; }
- public string? Url { get; set; }
- }
-}";
var test = new VerifyCSUSMwithRAF.Test {
- TestCode = source + attributeDefinition,
- FixedCode = fixedSource + attributeDefinition,
+ TestCode = source,
+ FixedCode = fixedSource,
ReferenceAssemblies = TestCaseUtils.Net6PreviewAssemblies
};
test.ExpectedDiagnostics.AddRange (baselineExpected);
@@ -117,7 +100,7 @@ public class C
using System.Diagnostics.CodeAnalysis;
public class C
{
- [RequiresAssemblyFiles(Message = ""message"")]
+ [RequiresAssemblyFiles(""message"")]
public int M1() => 0;
int M2() => M1();
}";
@@ -125,7 +108,7 @@ public class C
using System.Diagnostics.CodeAnalysis;
public class C
{
- [RequiresAssemblyFiles(Message = ""message"")]
+ [RequiresAssemblyFiles(""message"")]
public int M1() => 0;
[UnconditionalSuppressMessage(""SingleFile"", ""IL3002:Avoid calling members marked with 'RequiresAssemblyFilesAttribute' when publishing as a single-file"", Justification = ""<Pending>"")]
int M2() => M1();