.NET Decompiler with support for PDB generation, ReadyToRun, Metadata (&more) - cross-platform!
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Siegfried Pammer f24f1e007e Move correctness tests to single namespace 9 years ago
..
BitNot.il Reorganize TestRunner-Tests 9 years ago
Capturing.cs Move correctness tests to single namespace 9 years ago
Comparisons.cs Move correctness tests to single namespace 9 years ago
CompoundAssignment.cs Move correctness tests to single namespace 9 years ago
ConditionalAttr.cs Move correctness tests to single namespace 9 years ago
ControlFlow.cs Move correctness tests to single namespace 9 years ago
Conversions.cs Move correctness tests to single namespace 9 years ago
DecimalFields.cs Move correctness tests to single namespace 9 years ago
Generics.cs Move correctness tests to single namespace 9 years ago
HelloWorld.cs Move correctness tests to single namespace 9 years ago
InitializerTests.cs Move correctness tests to single namespace 9 years ago
MemberLookup.cs Move correctness tests to single namespace 9 years ago
OverloadResolution.cs Fix some issues with missing casts for overload resolution and for boxing in attributes. 9 years ago
PropertiesAndEvents.cs Move correctness tests to single namespace 9 years ago
Readme.txt Reorganize TestRunner-Tests 9 years ago
Switch.cs Move correctness tests to single namespace 9 years ago
UndocumentedExpressions.cs Move correctness tests to single namespace 9 years ago
UnsafeCode.cs Move correctness tests to single namespace 9 years ago
ValueTypeCall.cs Move correctness tests to single namespace 9 years ago

Readme.txt

The files in this folder are correctness tests for the decompiler.

The NUnit class running these tests is ../../CorrectnessTestRunner.cs.

We:
* compile/assemble a test case (call the result "executable 1")
* decompile "executable 1" to C# ("decompiled.cs")
* compile decompiled.cs, resulting in "executable 2"
* run both executable and compare their output (exit code, stdout, stderr)

We repeat the steps above with a few different compiler options (/o+ or not; /debug or not).

The tests pass if the code compiles without error and produces the same output.
The tests do not care at all if the resulting code is pretty, or if any high-level constructs like closures were detected.