bool IsSupported(TestContext ctx, ConnectionProvider provider, string filter) { if (!IsSupported(provider)) { return(false); } var(match, success, wildcard) = MatchesFilter(provider, filter); if (match) { if (!success) { return(false); } if (wildcard && !HasFlag(ConnectionTestFlags.AllowWildcardMatches) && provider.HasFlag(ConnectionProviderFlags.IsExplicit)) { return(false); } return(true); } if (provider.HasFlag(ConnectionProviderFlags.IsExplicit)) { return(false); } if ((Flags & ConnectionTestFlags.AssumeSupportedByTest) != 0) { return(true); } return(true); }
bool IsServerSupported(ConnectionProvider provider) { if (HasFlag(ConnectionTestFlags.ManualServer)) { return(provider.Type == ConnectionProviderType.Manual); } if (HasFlag(ConnectionTestFlags.RequireMonoServer) && !provider.HasFlag(ConnectionProviderFlags.SupportsMonoExtensions)) { return(false); } if (HasFlag(ConnectionTestFlags.RequireDotNet) && provider.Type != ConnectionProviderType.DotNet) { return(false); } if (HasFlag(ConnectionTestFlags.RequireCleanServerShutdown) && !provider.HasFlag(ConnectionProviderFlags.SupportsCleanShutdown)) { return(false); } return(true); }
protected bool?IsSupported(TestContext ctx, ConnectionProvider provider, string filter) { if (HasFlag(ConnectionTestFlags.RequireSslStream) && !provider.HasFlag(ConnectionProviderFlags.SupportsSslStream)) { return(false); } if (HasFlag(ConnectionTestFlags.RequireHttp) && !provider.HasFlag(ConnectionProviderFlags.SupportsHttp)) { return(false); } if (HasFlag(ConnectionTestFlags.RequireTrustedRoots) && !provider.HasFlag(ConnectionProviderFlags.SupportsTrustedRoots)) { return(false); } if (HasFlag(ConnectionTestFlags.RequireHttpListener) && !provider.HasFlag(ConnectionProviderFlags.SupportsHttpListener)) { return(false); } var match = MatchesFilter(provider, filter); if (match != null) { return(match.Value); } if (provider.HasFlag(ConnectionProviderFlags.IsExplicit)) { return(false); } if ((Flags & ConnectionTestFlags.AssumeSupportedByTest) != 0) { return(true); } return(null); }
protected bool IsClientSupported(ConnectionProvider provider) { if (HasFlag(ConnectionTestFlags.ManualClient)) { return(provider.Type == ConnectionProviderType.Manual); } if (HasFlag(ConnectionTestFlags.RequireMonoClient) && !provider.HasFlag(ConnectionProviderFlags.SupportsMonoExtensions)) { return(false); } if (HasFlag(ConnectionTestFlags.RequireDotNet) && provider.Type != ConnectionProviderType.DotNet) { return(false); } return(true); }
bool IsSupported(ConnectionProvider provider) { if (HasFlag(ConnectionTestFlags.AssumeSupportedByTest)) { return(true); } if (HasFlag(ConnectionTestFlags.RequireSslStream) && !provider.HasFlag(ConnectionProviderFlags.SupportsSslStream)) { return(false); } if (HasFlag(ConnectionTestFlags.RequireHttp) && !provider.HasFlag(ConnectionProviderFlags.SupportsHttp)) { return(false); } if (HasFlag(ConnectionTestFlags.RequireTrustedRoots) && !provider.HasFlag(ConnectionProviderFlags.SupportsTrustedRoots)) { return(false); } if (HasFlag(ConnectionTestFlags.RequireHttpListener) && !provider.HasFlag(ConnectionProviderFlags.SupportsHttpListener)) { return(false); } if (HasFlag(ConnectionTestFlags.RequireClientCertificates) && !provider.HasFlag(ConnectionProviderFlags.SupportsClientCertificates)) { return(false); } if (HasFlag(ConnectionTestFlags.RequireCleanShutdown) && !provider.HasFlag(ConnectionProviderFlags.SupportsCleanShutdown)) { return(false); } if (HasFlag(ConnectionTestFlags.RequireMono) && !provider.HasFlag(ConnectionProviderFlags.SupportsMonoExtensions)) { return(false); } if (HasFlag(ConnectionTestFlags.RequireTls12) && !provider.HasFlag(ConnectionProviderFlags.SupportsTls12)) { return(false); } return(true); }