예제 #1
0
        public virtual void Check(ILCompilerTestCaseResult trimmedResult)
        {
            InitializeResolvers(trimmedResult);

            try {
                var original = ResolveOriginalsAssembly(trimmedResult.ExpectationsAssemblyPath.FileNameWithoutExtension);
                AdditionalChecking(trimmedResult, original);
            } finally {
                _originalsResolver.Dispose();
            }
        }
예제 #2
0
 public virtual ILCompilerTestCaseResult Relink(ILCompilerTestCaseResult result)
 {
     PrepForLink(result.Sandbox, result.CompilationResult);
     return(Link(result.TestCase, result.Sandbox, result.CompilationResult, result.MetadataProvider));
 }
예제 #3
0
        protected virtual void AdditionalChecking(ILCompilerTestCaseResult linkResult, AssemblyDefinition original)
        {
            bool checkRemainingErrors = !HasAttribute(original.MainModule.GetType(linkResult.TestCase.ReconstructedFullTypeName), nameof(SkipRemainingErrorsValidationAttribute));

            VerifyLoggedMessages(original, linkResult.LogWriter, checkRemainingErrors);
        }
예제 #4
0
 void InitializeResolvers(ILCompilerTestCaseResult linkedResult)
 {
     _originalsResolver.AddSearchDirectory(linkedResult.ExpectationsAssemblyPath.Parent.ToString());
 }