Exemplo n.º 1
0
        public void RemoveTest()
        {
            LoadJitexTest();
            JitexManager.Remove();

            Assert.False(JitexManager.IsEnabled, "Jitex still enabled!");
        }
Exemplo n.º 2
0
        public void ModuleLoadTest()
        {
            JitexManager.LoadModule <ModuleJitex>();
            bool moduleIsLoaded = JitexManager.ModuleIsLoaded <ModuleJitex>();

            Assert.True(moduleIsLoaded, "Module is not loaded!");
        }
Exemplo n.º 3
0
 private static void LoadModules(params Type[] modules)
 {
     foreach (Type module in modules)
     {
         JitexManager.LoadModule(module);
     }
 }
Exemplo n.º 4
0
        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.");
        }
Exemplo n.º 5
0
        static void Main(string[] args)
        {
            JitexManager.AddMethodResolver(MethodResolver);
            int result = SimpleSum(1, 7);

            Console.WriteLine(result);
            Console.ReadKey();
        }
Exemplo n.º 6
0
        public void RemoveModuleTest()
        {
            ModuleLoadTest();
            JitexManager.RemoveModule <ModuleJitex>();
            bool moduleIsLoaded = JitexManager.ModuleIsLoaded <ModuleJitex>();

            Assert.False(moduleIsLoaded, "Module still loaded!");
        }
Exemplo n.º 7
0
        static AutoMapperBenchmark()
        {
            JitexManager.LoadModule <AutoMapperModule>();

            MapperConfiguration config = new MapperConfiguration(cfg =>
            {
                cfg.CreateMap <Person, PersonViewModel>();
            });

            Mapper = config.CreateMapper();
        }
Exemplo n.º 8
0
        public void DisableTest()
        {
            LoadJitexTest();
            JitexManager.DisableJitex();

            MethodInfo method = GetMethod <ManagerTest>(nameof(MethodToCompileOnDisabled));

            MethodToCompileOnDisabled();
            bool called = MethodsCompiled.Contains(method);

            Assert.False(called, "Method resolver called!");
        }
Exemplo n.º 9
0
        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!");
        }
Exemplo n.º 10
0
        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!");
        }
Exemplo n.º 11
0
        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);
        }
Exemplo n.º 12
0
        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!");
        }
Exemplo n.º 13
0
 static ResolveStringTests()
 {
     JitexManager.AddMethodResolver(context => { });
     JitexManager.AddTokenResolver(TokenResolver);
 }
Exemplo n.º 14
0
 public ResolveMethodTests()
 {
     JitexManager.AddMethodResolver(MethodResolver);
 }
Exemplo n.º 15
0
 public ResolveTokenTests()
 {
     JitexManager.AddMethodResolver(CompileResolver);
     JitexManager.AddTokenResolver(TokenResolver);
 }
Exemplo n.º 16
0
 static DetourMethodAddress()
 {
     JitexManager.AddMethodResolver(MethodResolver);
 }
Exemplo n.º 17
0
        public void HasTokenResolverTest()
        {
            bool hasResolver = JitexManager.HasTokenResolver(TokenResolver);

            Assert.True(hasResolver, "Token resolver not injected!");
        }
Exemplo n.º 18
0
        public void HasMethodResolverTest()
        {
            bool hasResolver = JitexManager.HasMethodResolver(MethodResolver);

            Assert.True(hasResolver, "Method resolver not injected!");
        }
Exemplo n.º 19
0
 public void LoadJitexTest()
 {
     JitexManager.AddMethodResolver(MethodResolver);
     JitexManager.AddTokenResolver(TokenResolver);
     Assert.True(JitexManager.IsEnabled, "Jitex is not enabled!");
 }
Exemplo n.º 20
0
 static DetourMethodDelegateTest()
 {
     JitexManager.AddMethodResolver(MethodResolver);
 }
Exemplo n.º 21
0
 static GenericRecompileTests()
 {
     JitexManager.AddMethodResolver(MethodResolver);
 }
Exemplo n.º 22
0
 public ResolveILTests()
 {
     JitexManager.AddMethodResolver(MethodResolver);
     JitexManager.AddTokenResolver(TokenResolver);
 }
Exemplo n.º 23
0
 static ResolveNativeTests()
 {
     JitexManager.AddMethodResolver(MethodResolver);
 }
Exemplo n.º 24
0
 public static void Initialize()
 {
     JitexManager.AddMethodResolver(MethodResolver);
     JitexManager.AddTokenResolver(TokenResolver);
 }