public void SetUp() { _verifier = PEVerifier.CreateDefault (); Directory.CreateDirectory (TempPath); foreach (var file in Directory.EnumerateFiles (@AssemblyPath, "*.dll", SearchOption.TopDirectoryOnly)) { Console.WriteLine (@TempPath + file.Substring (file.IndexOf ("integration") +11)); File.Copy (file, @TempPath + file.Substring (file.IndexOf ("integration") +11), true); } var allFiles = Directory.EnumerateFiles (@TempPath, "*.dll", SearchOption.AllDirectories) .Concat (Directory.EnumerateFiles (@TempPath, "*.exe", SearchOption.AllDirectories)); List<AssemblyDefinition> assemblies = allFiles.Select (AssemblyDefinition.ReadAssembly).ToList(); _tracker = new AssemblyTracker (assemblies, new TypeDefinitionCache()); var options = new OptionSet(); var selectorFactory = new TargetSelectorFactory(); selectorFactory.AddOptions (options); options.Parse (new[] { "--regex:(.*)Locked(.*)" }); _transformator = new AssemblyMethodsVirtualizer.AssemblyMethodsVirtualizer ( new GeneratedMarkingAttributeStrategy ("test", "nonVirtual"), new TargetSelectorFactory(), new ILCodeGenerator ("<>unspeakable_")); _signer = new AssemblySigner (new ModuleDefinitionWriter (new FileSystem.FileSystem(), null, new List<StrongNameKeyPair>())); }
public void CreateDefault_FindsVerifier() { var verifier = PEVerifier.CreateDefault(); var path = verifier.GetVerifierPath(PEVerifyVersion.DotNet2); Assert.That(path, Is.Not.Null); Assert.That(File.Exists(path), Is.True); }
public void GetVerifierPath_NotFound() { var pathSourceStub = MockRepository.GenerateStub <IPEVerifyPathSource> (); pathSourceStub.Stub(stub => stub.GetPEVerifyPath(PEVerifyVersion.DotNet4)).Return(null); pathSourceStub.Stub(stub => stub.GetLookupDiagnostics(PEVerifyVersion.DotNet4)).Return("x"); var verifier = new PEVerifier(pathSourceStub); verifier.GetVerifierPath(PEVerifyVersion.DotNet4); }
public void GetVerifierPath() { var pathSourceStub = MockRepository.GenerateStub <IPEVerifyPathSource> (); pathSourceStub.Stub(stub => stub.GetPEVerifyPath(PEVerifyVersion.DotNet4)).Return("test"); var verifier = new PEVerifier(pathSourceStub); var path = verifier.GetVerifierPath(PEVerifyVersion.DotNet4); Assert.That(path, Is.EqualTo("test")); }
private static void PeVerifyAssembly(string assemblyPath) { try { PEVerifier.CreateDefault().VerifyPEFile(assemblyPath); } catch (Exception exception) { Console.WriteLine(exception); throw; } }
public virtual void TearDown() { Console.WriteLine("Tearing down MethodWrapperEmitterTests"); #if !NO_PEVERIFY s_assemblyBuilder.Save(s_moduleBuilder.ScopeName); var path = s_moduleBuilder.FullyQualifiedName; s_assemblyBuilder = null; s_moduleBuilder = null; PEVerifier.CreateDefault().VerifyPEFile(path); FileUtility.DeleteAndWaitForCompletion(path); #endif }
private static void PeVerifyAssembly(string assemblyPath) { #if FEATURE_ASSEMBLYBUILDER_SAVE try { PEVerifier.CreateDefault().VerifyPEFile(assemblyPath); } catch (Exception exception) { Console.WriteLine(exception); throw; } #else throw new PlatformNotSupportedException("AssemblyBuilder.Save() is not supported in .NET 5.0"); #endif }
public void SetUp() { AssemblyPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "IntegrationTestFiles"); TempPath = Path.Combine(AssemblyPath, "temp"); if (Directory.Exists(TempPath)) { Directory.Delete(TempPath, true); } Directory.CreateDirectory(TempPath); Thread.Sleep(500); var assemblyFileNames = new[] { "DummyTarget.dll" }; foreach (var assemblyFileName in assemblyFileNames) { File.Copy(Path.Combine(AssemblyPath, assemblyFileName), GetTempPath(assemblyFileName)); } _verifier = PEVerifier.CreateDefault(); AssemblyDefinition[] assemblies = assemblyFileNames.Select(fileName => AssemblyDefinition.ReadAssembly(GetTempPath(fileName))).ToArray(); _tracker = new AssemblyTracker(assemblies, new TypeDefinitionCache()); _checker = MockRepository.GenerateStub <IMixinChecker> (); _checker.Stub(x => x.CanBeMixed(null)).Return(true).IgnoreArguments(); _transformator = new ConstructorGenerator.ConstructorGenerator(_checker, new ILCodeGenerator( new MethodReferenceGenerator("Remotion.Interfaces, Version=1.13.73.1026, Culture=neutral, PublicKeyToken=fee00910d6e5f53b", "Remotion.Mixins.ObjectFactory", "Remotion.Reflection.ParamList"), _checker) ); _signer = new AssemblySigner(new ModuleDefinitionWriter(new FileSystem(), null, new List <StrongNameKeyPair> ())); _fileSystem = new FileSystem(); }
public void SetUp() { AssemblyPath = Path.Combine (AppDomain.CurrentDomain.BaseDirectory, "IntegrationTestFiles"); TempPath = Path.Combine (AssemblyPath, "temp"); if (Directory.Exists (TempPath)) Directory.Delete (TempPath, true); Directory.CreateDirectory (TempPath); Thread.Sleep (500); var assemblyFileNames = new[] { "DummyTarget.dll" }; foreach (var assemblyFileName in assemblyFileNames) File.Copy (Path.Combine (AssemblyPath, assemblyFileName), GetTempPath (assemblyFileName)); _verifier = PEVerifier.CreateDefault (); AssemblyDefinition[] assemblies = assemblyFileNames.Select (fileName => AssemblyDefinition.ReadAssembly (GetTempPath (fileName))).ToArray(); _tracker = new AssemblyTracker (assemblies, new TypeDefinitionCache()); _checker = MockRepository.GenerateStub<IMixinChecker> (); _checker.Stub (x => x.CanBeMixed (null)).Return (true).IgnoreArguments (); _transformator = new ConstructorGenerator.ConstructorGenerator (_checker, new ILCodeGenerator ( new MethodReferenceGenerator ("Remotion.Interfaces, Version=1.13.73.1026, Culture=neutral, PublicKeyToken=fee00910d6e5f53b", "Remotion.Mixins.ObjectFactory", "Remotion.Reflection.ParamList"), _checker) ); _signer = new AssemblySigner (new ModuleDefinitionWriter (new FileSystem (), null, new List<StrongNameKeyPair> ())); _fileSystem = new FileSystem(); }
public void VerifyPEFile_InvalidPath() { var verifier = PEVerifier.CreateDefault(); verifier.VerifyPEFile("Foobar whatever"); }
public void VerifyPEFile_MSCorlib() { var verifier = PEVerifier.CreateDefault(); verifier.VerifyPEFile(typeof(object).Assembly); }