Browse Source

Add RemovedDeadCode = true to F# ILPretty tests

pull/925/merge
Siegfried Pammer 8 years ago
parent
commit
68357655b4
  1. 4
      ICSharpCode.Decompiler.Tests/Helpers/Tester.cs
  2. 12
      ICSharpCode.Decompiler.Tests/ILPrettyTestRunner.cs

4
ICSharpCode.Decompiler.Tests/Helpers/Tester.cs

@ -256,11 +256,11 @@ namespace ICSharpCode.Decompiler.Tests.Helpers
return process.ExitCode; return process.ExitCode;
} }
public static string DecompileCSharp(string assemblyFileName) public static string DecompileCSharp(string assemblyFileName, DecompilerSettings settings = null)
{ {
using (var module = ModuleDefinition.ReadModule(assemblyFileName)) { using (var module = ModuleDefinition.ReadModule(assemblyFileName)) {
var typeSystem = new DecompilerTypeSystem(module); var typeSystem = new DecompilerTypeSystem(module);
CSharpDecompiler decompiler = new CSharpDecompiler(typeSystem, new DecompilerSettings()); CSharpDecompiler decompiler = new CSharpDecompiler(typeSystem, settings ?? new DecompilerSettings());
decompiler.AstTransforms.Insert(0, new RemoveCompilerAttribute()); decompiler.AstTransforms.Insert(0, new RemoveCompilerAttribute());
decompiler.AstTransforms.Add(new EscapeInvalidIdentifiers()); decompiler.AstTransforms.Add(new EscapeInvalidIdentifiers());
var syntaxTree = decompiler.DecompileWholeModuleAsSingleFile(); var syntaxTree = decompiler.DecompileWholeModuleAsSingleFile();

12
ICSharpCode.Decompiler.Tests/ILPrettyTestRunner.cs

@ -45,34 +45,34 @@ namespace ICSharpCode.Decompiler.Tests
[Test] [Test]
public void FSharpUsing_Debug() public void FSharpUsing_Debug()
{ {
Run(); Run(settings: new DecompilerSettings { RemoveDeadCode = true });
} }
[Test] [Test]
public void FSharpUsing_Release() public void FSharpUsing_Release()
{ {
Run(); Run(settings: new DecompilerSettings { RemoveDeadCode = true });
} }
[Test, Ignore] [Test, Ignore]
public void FSharpLoops_Debug() public void FSharpLoops_Debug()
{ {
Run(); Run(settings: new DecompilerSettings { RemoveDeadCode = true });
} }
[Test, Ignore] [Test, Ignore]
public void FSharpLoops_Release() public void FSharpLoops_Release()
{ {
Run(); Run(settings: new DecompilerSettings { RemoveDeadCode = true });
} }
void Run([CallerMemberName] string testName = null) void Run([CallerMemberName] string testName = null, DecompilerSettings settings = null)
{ {
var ilFile = Path.Combine(TestCasePath, testName + ".il"); var ilFile = Path.Combine(TestCasePath, testName + ".il");
var csFile = Path.Combine(TestCasePath, testName + ".cs"); var csFile = Path.Combine(TestCasePath, testName + ".cs");
var executable = Tester.AssembleIL(ilFile, AssemblerOptions.Library); var executable = Tester.AssembleIL(ilFile, AssemblerOptions.Library);
var decompiled = Tester.DecompileCSharp(executable); var decompiled = Tester.DecompileCSharp(executable, settings);
CodeAssert.FilesAreEqual(csFile, decompiled); CodeAssert.FilesAreEqual(csFile, decompiled);
} }

Loading…
Cancel
Save