public virtual void Link(string[] args, LinkerCustomizations customizations, ILogger logger) { Driver.ProcessResponseFile(args, out var queue); using (var driver = new TestDriver(queue, customizations)) { driver.Run(logger); } }
public virtual void CustomizeLinker(LinkerDriver linker, LinkerCustomizations customizations) { if (_testCaseTypeDefinition.CustomAttributes.Any(attr => attr.AttributeType.Name == nameof(DependencyRecordedAttribute))) { customizations.DependencyRecorder = new TestDependencyRecorder(); customizations.CustomizeContext += context => { context.Tracer.AddRecorder(customizations.DependencyRecorder); }; } if (ValidatesReflectionAccessPatterns(_testCaseTypeDefinition)) { customizations.ReflectionPatternRecorder = new TestReflectionPatternRecorder(); customizations.CustomizeContext += context => { customizations.ReflectionPatternRecorder.PreviousRecorder = context.ReflectionPatternRecorder; context.ReflectionPatternRecorder = customizations.ReflectionPatternRecorder; context.LogMessages = true; }; } if (ValidatesLogMessages(_testCaseTypeDefinition)) { customizations.CustomizeContext += context => { context.LogMessages = true; }; } }
protected virtual LinkerCustomizations CustomizeLinker(LinkerDriver linker, TestCaseMetadataProvider metadataProvider) { LinkerCustomizations customizations = new LinkerCustomizations(); metadataProvider.CustomizeLinker(linker, customizations); return(customizations); }
public LinkedTestCaseResult(TestCase testCase, NPath inputAssemblyPath, NPath outputAssemblyPath, NPath expectationsAssemblyPath, TestCaseSandbox sandbox, TestCaseMetadataProvider metadataProvider, ManagedCompilationResult compilationResult, LinkerTestLogger logger, LinkerCustomizations customizations) { TestCase = testCase; InputAssemblyPath = inputAssemblyPath; OutputAssemblyPath = outputAssemblyPath; ExpectationsAssemblyPath = expectationsAssemblyPath; Sandbox = sandbox; MetadataProvider = metadataProvider; CompilationResult = compilationResult; Logger = logger; Customizations = customizations; }
public virtual void CustomizeLinker(LinkerDriver linker, LinkerCustomizations customizations) { if (_testCaseTypeDefinition.CustomAttributes.Any(attr => attr.AttributeType.Name == nameof(DependencyRecordedAttribute))) { customizations.DependencyRecorder = new TestDependencyRecorder(); customizations.CustomizeContext += context => { context.Tracer.AddRecorder(customizations.DependencyRecorder); }; } if (_testCaseTypeDefinition.CustomAttributes.Any(attr => attr.AttributeType.Name == nameof(VerifyAllReflectionAccessPatternsAreValidatedAttribute)) || _testCaseTypeDefinition.AllMethods().Any(method => method.CustomAttributes.Any(attr => attr.AttributeType.Name == nameof(RecognizedReflectionAccessPatternAttribute) || attr.AttributeType.Name == nameof(UnrecognizedReflectionAccessPatternAttribute)))) { customizations.ReflectionPatternRecorder = new TestReflectionPatternRecorder(); customizations.CustomizeContext += context => { context.ReflectionPatternRecorder = customizations.ReflectionPatternRecorder; }; } else if (_testCaseTypeDefinition.HasNestedTypes && _testCaseTypeDefinition.NestedTypes.Any(nestedType => nestedType.CustomAttributes.Any(attr => attr.AttributeType.Name == nameof(VerifyAllReflectionAccessPatternsAreValidatedAttribute) || nestedType.AllMethods().Any(method => method.CustomAttributes.Any(attr => attr.AttributeType.Name == nameof(RecognizedReflectionAccessPatternAttribute) || attr.AttributeType.Name == nameof(UnrecognizedReflectionAccessPatternAttribute)))))) { customizations.ReflectionPatternRecorder = new TestReflectionPatternRecorder(); customizations.CustomizeContext += context => { context.ReflectionPatternRecorder = customizations.ReflectionPatternRecorder; }; } }
public TestDriver(Queue <string> args, LinkerCustomizations customizations) : base(args) { _customization = customizations; }