public void RemoveTest() { LoadJitexTest(); JitexManager.Remove(); Assert.False(JitexManager.IsEnabled, "Jitex still enabled!"); }
public void ModuleLoadTest() { JitexManager.LoadModule <ModuleJitex>(); bool moduleIsLoaded = JitexManager.ModuleIsLoaded <ModuleJitex>(); Assert.True(moduleIsLoaded, "Module is not loaded!"); }
private static void LoadModules(params Type[] modules) { foreach (Type module in modules) { JitexManager.LoadModule(module); } }
public void DisableReadyToRun() { #if NETCOREAPP2 || NETCOREAPP3_0 return; #endif if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) { return; } MethodBase clampMethod = typeof(Math).GetMethod("Clamp", new[] { typeof(int), typeof(int), typeof(int) }); bool disabled = MethodHelper.DisableReadyToRun(clampMethod); Assert.True(disabled); bool isClampCompiled = false; JitexManager.AddMethodResolver(context => { if (context.Method.Name == clampMethod.Name) { isClampCompiled = true; } }); Math.Clamp(1, 1, 1); Assert.True(isClampCompiled, "Method was not compiled."); }
static void Main(string[] args) { JitexManager.AddMethodResolver(MethodResolver); int result = SimpleSum(1, 7); Console.WriteLine(result); Console.ReadKey(); }
public void RemoveModuleTest() { ModuleLoadTest(); JitexManager.RemoveModule <ModuleJitex>(); bool moduleIsLoaded = JitexManager.ModuleIsLoaded <ModuleJitex>(); Assert.False(moduleIsLoaded, "Module still loaded!"); }
static AutoMapperBenchmark() { JitexManager.LoadModule <AutoMapperModule>(); MapperConfiguration config = new MapperConfiguration(cfg => { cfg.CreateMap <Person, PersonViewModel>(); }); Mapper = config.CreateMapper(); }
public void DisableTest() { LoadJitexTest(); JitexManager.DisableJitex(); MethodInfo method = GetMethod <ManagerTest>(nameof(MethodToCompileOnDisabled)); MethodToCompileOnDisabled(); bool called = MethodsCompiled.Contains(method); Assert.False(called, "Method resolver called!"); }
public void RemoveMethodResolverTest() { ModuleLoadTest(); JitexManager.RemoveModule <ModuleJitex>(); MethodInfo method = GetMethod <ModuleTests>(nameof(MethodToCompileOnRemove)); MethodToCompileOnRemove(); bool called = ModuleJitex.MethodsCompiled.Contains(method); Assert.False(called, "Method resolver called!"); }
public void RemoveTokenResolverTest() { ModuleLoadTest(); JitexManager.RemoveModule <ModuleJitex>(); MethodInfo method = GetMethod <ModuleTests>(nameof(TokenToCompileOnRemove)); MethodToCallTokenOnRemove(); bool called = ModuleJitex.TokensCompiled.Contains(method.MetadataToken); Assert.False(called, "Token resolver called!"); }
public TestConfiguration(IMessageSink messageSink) : base(messageSink) { ILogger logger = new LoggerConfiguration() .MinimumLevel.Verbose() .CreateLogger(); ILoggerFactory loggerFactory = new LoggerFactory().AddSerilog(logger); JitexLogger.SetLogger(loggerFactory); JitexManager.AddMethodResolver(MethodResolver); JitexManager.AddInterceptor(InterceptorCall); }
public void EnableTest() { LoadJitexTest(); JitexManager.DisableJitex(); JitexManager.EnableJitex(); MethodInfo method = GetMethod <ManagerTest>(nameof(MethodToCompileOnEnable)); MethodToCompileOnEnable(); bool called = MethodsCompiled.Contains(method); Assert.True(called, "Method resolver not called!"); }
static ResolveStringTests() { JitexManager.AddMethodResolver(context => { }); JitexManager.AddTokenResolver(TokenResolver); }
public ResolveMethodTests() { JitexManager.AddMethodResolver(MethodResolver); }
public ResolveTokenTests() { JitexManager.AddMethodResolver(CompileResolver); JitexManager.AddTokenResolver(TokenResolver); }
static DetourMethodAddress() { JitexManager.AddMethodResolver(MethodResolver); }
public void HasTokenResolverTest() { bool hasResolver = JitexManager.HasTokenResolver(TokenResolver); Assert.True(hasResolver, "Token resolver not injected!"); }
public void HasMethodResolverTest() { bool hasResolver = JitexManager.HasMethodResolver(MethodResolver); Assert.True(hasResolver, "Method resolver not injected!"); }
public void LoadJitexTest() { JitexManager.AddMethodResolver(MethodResolver); JitexManager.AddTokenResolver(TokenResolver); Assert.True(JitexManager.IsEnabled, "Jitex is not enabled!"); }
static DetourMethodDelegateTest() { JitexManager.AddMethodResolver(MethodResolver); }
static GenericRecompileTests() { JitexManager.AddMethodResolver(MethodResolver); }
public ResolveILTests() { JitexManager.AddMethodResolver(MethodResolver); JitexManager.AddTokenResolver(TokenResolver); }
static ResolveNativeTests() { JitexManager.AddMethodResolver(MethodResolver); }
public static void Initialize() { JitexManager.AddMethodResolver(MethodResolver); JitexManager.AddTokenResolver(TokenResolver); }