benjamin-bader/stiletto — pull request #12 by benjamin-bader (2013-06-13 01:24:10+00:00)
Title: Take one of weaver integration tests

This feels pretty hacky, but it seems to work. The way it works is:

Tests go in /IntegrationTests//
Tests are complete C# projects
ValidateBuild.exe is run from /IntegrationTests/
Any errors are written to stdout as JSON objects

ValidateBuild works by reading ExpectedResults.xml from each project, using MSBuild to compile the project, running the output assembly through the ModuleWeaver, and comparing the expected results with what actually comes out.

For more complicated tests, CS-Script can be used to run an arbitrary C# file. The file contains a class with one method:

```
public IList Validate(Mono.Cecil.ModuleDefinition module)
```

This method should return one string for each individual error, or an empty list for no errors.

-----------------------------------

This is a huge pull, so let's take some time to think about this. If this is satisfactory, it will resolve issue #3 and issue #2.