~ubuntu-branches/ubuntu/trusty/monodevelop/trusty-proposed

« back to all changes in this revision

Viewing changes to external/nrefactory/ICSharpCode.NRefactory.ConsistencyCheck/Readme.txt

  • Committer: Package Import Robot
  • Author(s): Jo Shields
  • Date: 2013-05-12 09:46:03 UTC
  • mto: This revision was merged to the branch mainline in revision 29.
  • Revision ID: package-import@ubuntu.com-20130512094603-mad323bzcxvmcam0
Tags: upstream-4.0.5+dfsg
Import upstream version 4.0.5+dfsg

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
This is an automatic consistency check for NRefactory.
 
2
It loads a solution file and parses all the source code and referenced libraries,
 
3
and then performs a set of consistency checks.
 
4
These checks assume that the code is valid C# without any compilation errors,
 
5
so make sure to only pass in compilable source code.
 
6
 
 
7
Checks currently being performed:
 
8
 - IDStringConsistencyCheck: Checks that ID strings are unique and refer back to the correct entity
 
9
 - RoundtripTest: parses C# code and outputs it again using CSharpOutputVisitor, checking that only whitespace is changing
 
10
 - ResolverTest: fully resolves all ASTs and validates that no errors are detected (no false positives in semantic error checking)
 
11
 - RandomizedOrderResolverTest: checks that the order of Resolve()/GetResolverState() calls has no effect on the result
 
12
 - FindReferencesConsistencyCheck: checks that FindReferences is the inverse of FindReferencedEntities
 
13
 
 
14
 XML Tests:
 
15
 - IncrementalXmlParserTests: tests that incremental parsing produces results identical to a full reparse
 
16
 - XmlReaderTests: compares AXmlParser.Parse().CreateReader() with new XmlTextReader()
 
17
 
 
18
 
 
19
 
 
20
 Ideas for further tests:
 
21
  - Test token positions (see AstVerifier)
 
22
  - Compare resolve results with csc compiler output (using Cecil)
 
23
  - Randomly mutate a C# file (e.g. remove tokens) and verify that the parser does not crash