public async Task Engine_With_Multiple_Compiler_And_Streaming_Mode_Should_Match_Patterns() { var loggerProvider = new XunitLoggerProvider(_testOutputHelper); var engineBuilder = new EngineBuilder(); engineBuilder.WithLogger(loggerProvider.CreateLogger("Hyperscan")); engineBuilder.WithDatabase(() => new Database()); engineBuilder.WithCompiler(() => new MultipleCompiler(new List <Expression> { new Expression("foo(?i)bar(?-i)baz", ExpressionFlag.HsFlagSomLeftmost), new Expression("foo", ExpressionFlag.HsFlagSomLeftmost), new Expression("foo(?i)bar", ExpressionFlag.HsFlagSomLeftmost) }, CompilerMode.HsModeStream | CompilerMode.HsModeSomHorizonLarge)); await using var engine = engineBuilder.Build(); var observer = new TestScheduler().CreateObserver <Match>(); using var onMatch = engine.OnMatch.Subscribe(observer); await engine.ScanAsync("fo", CancellationToken.None); await engine.ScanAsync("o", CancellationToken.None); await engine.ScanAsync("fo", CancellationToken.None); await engine.ScanAsync("o", CancellationToken.None); await engine.ScanAsync("barbazbaz", CancellationToken.None); await Task.Delay(100); observer.Messages.Count.Should().Be(4); observer.Messages.Should().Contain(message => message.Value.Value.FullMatch == "foo"); observer.Messages.Should().Contain(message => message.Value.Value.FullMatch == "foobar"); observer.Messages.Should().Contain(message => message.Value.Value.FullMatch == "foobarbaz"); }
public CatalogInvalidatorTest(ITestOutputHelper helper) { logProvider = new XunitLoggerProvider(helper); logger = logProvider.CreateLogger <CatalogInvalidator>("CatalogInvalidatorTest"); config = new CacheOptions(); store = new Mock <ICatalogScanStore>(MockBehavior.Strict); reader = new Mock <ICatalogReader>(MockBehavior.Strict); }
public FighterTests(ITestOutputHelper output, RunThisTestFixture fixture) { _fixture = fixture; _output = output; _directory = fixture.Provider.GetRequiredService <IInvokerDirectory>(); XunitLoggerProvider.PlugOutput(output); }
public ModelBinderBaseTests(ITestOutputHelper output) { var provider = new XunitLoggerProvider(output, entry => logEntries.Add(entry)); loggerFactory = LoggerFactory.Create(logging => { logging.AddFilter(level => true); logging.AddProvider(provider); }); }
public async Task Engine_Should_Have_Valid_Version() { var loggerProvider = new XunitLoggerProvider(_testOutputHelper); var engineBuilder = new EngineBuilder(); engineBuilder.WithLogger(loggerProvider.CreateLogger("Hyperscan")); engineBuilder.WithDatabase(() => new Database()); engineBuilder.WithCompiler(() => new SimpleCompiler(new Expression("", ExpressionFlag.HsFlagAllowempty), CompilerMode.HsModeBlock)); await using var engine = engineBuilder.Build(); engine.Version.Should().NotBeNullOrEmpty(); }
public async Task Platform_Should_Be_Valid() { var loggerProvider = new XunitLoggerProvider(_testOutputHelper); var engineBuilder = new EngineBuilder(); engineBuilder.WithLogger(loggerProvider.CreateLogger("Hyperscan")); engineBuilder.WithDatabase(() => new Database()); engineBuilder.WithCompiler(() => new SimpleCompiler(new Expression("", ExpressionFlag.HsFlagAllowempty), CompilerMode.HsModeBlock)); await using var engine = engineBuilder.Build(); engine.PlatformInfo.Should().NotBeNull(); engine.PlatformInfo.IsPlatformValid.Should().BeTrue(); }
public async Task Logger_Should_Log_Traces() { var loggerProvider = new XunitLoggerProvider(_testOutputHelper); var engineBuilder = new EngineBuilder(); engineBuilder.WithLogger(loggerProvider.CreateLogger("Hyperscan")); engineBuilder.WithDatabase(() => new Database()); engineBuilder.WithCompiler(() => new SimpleCompiler(new Expression("foo(?i)bar(?-i)baz", ExpressionFlag.HsFlagUtf8), CompilerMode.HsModeBlock)); await using var engine = engineBuilder.Build(); var traces = loggerProvider.GetTraces(); traces.Should().ContainMatch("*1 expression(s) compiled*"); }
internal PlaywrightSharpBaseTest(ITestOutputHelper output) { BaseDirectory = Path.Combine(Directory.GetCurrentDirectory(), "workspace"); var dirInfo = new DirectoryInfo(BaseDirectory); if (!dirInfo.Exists) { dirInfo.Create(); } Initialize(); _loggerProvider = new XunitLoggerProvider(output); TestConstants.LoggerFactory.AddProvider(_loggerProvider); output.WriteLine($"Running {GetDisplayName(output)}"); }
internal PlaywrightSharpBaseTest(ITestOutputHelper output) { BaseDirectory = Path.Combine(Directory.GetCurrentDirectory(), "workspace"); var dirInfo = new DirectoryInfo(BaseDirectory); if (!dirInfo.Exists) { dirInfo.Create(); } Initialize(); _loggerProvider = new XunitLoggerProvider(output); TestConstants.LoggerFactory.AddProvider(_loggerProvider); output.WriteLine($"Running {GetDisplayName(output)}"); output.WriteLine($"Using Browser: {((ChannelBase)((IChannelOwner<PlaywrightSharp.Browser>)PlaywrightSharpBrowserLoaderFixture.Browser).Channel).Guid}"); }
public async Task Engine_With_Simple_Compiler_And_Block_Mode_Should_Match_Pattern() { var loggerProvider = new XunitLoggerProvider(_testOutputHelper); var engineBuilder = new EngineBuilder(); engineBuilder.WithLogger(loggerProvider.CreateLogger("Hyperscan")); engineBuilder.WithDatabase(() => new Database()); engineBuilder.WithCompiler(() => new SimpleCompiler(new Expression("foo(?i)bar(?-i)baz", ExpressionFlag.HsFlagUtf8), CompilerMode.HsModeBlock)); await using var engine = engineBuilder.Build(); var onMatch = engine.OnMatch.FirstAsync().ToTask(); await engine.ScanAsync("foofoobarbazbazbaz", CancellationToken.None); var match = await onMatch; match.Should().NotBeNull(); match.Expression.Flag.Should().Be(ExpressionFlag.HsFlagUtf8); match.Expression.Id.Should().Be(0); match.Expression.TryGetInfo(out var info).Should().BeTrue(); info.CompilationErrorMessage.Should().BeEmpty(); match.Input.Read().Should().Be("foofoobarbazbazbaz"); match.Expression.Pattern.Should().Be("foo(?i)bar(?-i)baz"); }
public WriteToLogInDisposeFixture() { this.provider = new XunitLoggerProvider(); this.logger = this.provider.CreateLogger("WriteToLogInDisposeFixture"); }