Exemple #1
0
        protected override void ConfigureFilters(XUnitTestRunner runner)
        {
            base.ConfigureFilters(runner);

            if (runner == null)
            {
                throw new ArgumentNullException(nameof(runner));
            }

            HashSet <string> excludedTestNames = null;

            using (var s = typeof(XUnitInstrumentation).Assembly.GetManifestResourceStream("xunit-excluded-tests.txt")) {
                using (var sr = new StreamReader(s, Encoding.UTF8)) {
                    excludedTestNames = LoadExcludedTests(sr);
                }
            }
            // Known filters for CoreFX tests
            var filters = new List <XUnitFilter> {
                // From the Mono runtime (https://github.com/mono/mono/blob/master/mcs/build/tests.make#L255)
                new XUnitFilter("category", "failing", true),
                new XUnitFilter("category", "nonnetcoreapptests", true),
                new XUnitFilter("category", "outerloop", true),
                new XUnitFilter("Benchmark", "true", true),

                // From some failing corefx tests
                new XUnitFilter("category", "nonlinuxtests", true),
                new XUnitFilter("category", "nonmonotests", true),
                new XUnitFilter("category", "nonnetfxtests", true),
#if !DEBUG  // aka "Release"
                new XUnitFilter("category", "nonuapaottests", true),
#endif  // !DEBUG
            };

            if (excludedTestNames != null && excludedTestNames.Count > 0)
            {
                foreach (string typeName in excludedTestNames)
                {
                    filters.Add(new XUnitFilter(typeName, true));
                }
            }

            runner.SetFilters(filters);
        }