예제 #1
0
        public virtual void Check(LinkedTestCaseResult linkResult)
        {
            Assert.IsTrue(linkResult.OutputAssemblyPath.FileExists(), $"The linked output assembly was not found.  Expected at {linkResult.OutputAssemblyPath}");

            InitializeResolvers(linkResult);

            try
            {
                var original = ResolveOriginalsAssembly(linkResult.ExpectationsAssemblyPath.FileNameWithoutExtension);
                var linked   = ResolveLinkedAssembly(linkResult.OutputAssemblyPath.FileNameWithoutExtension);

                InitialChecking(linkResult, original, linked);

                PerformOutputAssemblyChecks(original, linkResult.OutputAssemblyPath.Parent);
                PerformOutputSymbolChecks(original, linkResult.OutputAssemblyPath.Parent);

                CreateAssemblyChecker(original, linked).Verify();

                VerifyLinkingOfOtherAssemblies(original);

                AdditionalChecking(linkResult, original, linked);
            }
            finally
            {
                _originalsResolver.Dispose();
                _linkedResolver.Dispose();
            }
        }
예제 #2
0
        public virtual void Check(ILCompilerTestCaseResult trimmedResult)
        {
            InitializeResolvers(trimmedResult);

            try {
                var original = ResolveOriginalsAssembly(trimmedResult.ExpectationsAssemblyPath.FileNameWithoutExtension);
                AdditionalChecking(trimmedResult, original);
            } finally {
                _originalsResolver.Dispose();
            }
        }