public void Run(XunitTestAssemblyTask assemblyTask, bool disableAllConcurrency)
        {
            var environment = new TestEnvironment(assemblyTask, disableAllConcurrency);
            try
            {
                if (environment.TestAssemblyConfiguration.ShadowCopyOrDefault)
                    server.SetTempFolderPath(environment.ShadowCopyPath);

                using (var controller = GetFrontController(environment))
                {
                    var discoverer = new Discoverer(controller, RunContext, environment);
                    var testCases = discoverer.GetTestCases();

                    if (testCases.Count == 0)
                        throw new InternalErrorException("Unexpected: Unable to find any matching test cases");

                    if (testCases.Count > 0)
                    {
                        RunContext.AddRange(testCases);

                        var executor = new Executor(controller, RunContext, environment);
                        executor.RunTests(testCases);
                    }
                }

                environment.DiagnosticMessages.Report(server);
            }
            catch (Exception e)
            {
                ReportException(assemblyTask, environment, e);
            }
        }
Exemple #2
0
        public void GetAll_OnlyReturnsImplementingTypes()
        {
            Type[] types = { typeof(Bar), typeof(string), typeof(IDisposable) };
            _typeContainerMock.Setup(container => container.GetTypes()).Returns(types);

            var subject = new Discoverer(_typeContainerMock.Object);

            Assert.AreEqual(1, subject.GetAll<IFoo>().Count());
        }
Exemple #3
0
        public void GetAll_ReturnsOnlyDefaultConstructable()
        {
            Type[] types = { typeof(NonDefaultConstructableFoo), typeof(Bar) };
            _typeContainerMock.Setup(container => container.GetTypes()).Returns(types);

            var subject = new Discoverer(_typeContainerMock.Object);

            Assert.AreEqual(1, subject.GetAll<IFoo>().Count());
        }
        public static async Task DiscoverAsync()
        {
            Discoverer discoverer = new Discoverer();

            discoverer.AgentFound += DiscovererAgentFound;
            Console.WriteLine("v1 discovery");
            await discoverer.DiscoverAsync(VersionCode.V1, new IPEndPoint(IPAddress.Broadcast, 161), new OctetString("public"), 6000);

            Console.WriteLine("v2 discovery");
            await discoverer.DiscoverAsync(VersionCode.V2, new IPEndPoint(IPAddress.Broadcast, 161), new OctetString("public"), 6000);

            Console.WriteLine("v3 discovery");
            await discoverer.DiscoverAsync(VersionCode.V3, new IPEndPoint(IPAddress.Broadcast, 161), null, 6000);
        }
Exemple #5
0
        public void TestDiscoverer()
        {
            if (Environment.GetEnvironmentVariable("CI") == "true")
            {
                return;
            }

            var engine = CreateEngine();

            engine.Listener.ClearBindings();
            var serverEndPoint = new IPEndPoint(IPAddress.Any, Port.NextId);

            engine.Listener.AddBinding(serverEndPoint);
            engine.Start();

            var timeout = 1000;
            var wait    = 60 * timeout;

            try
            {
                var signal     = new AutoResetEvent(false);
                var discoverer = new Discoverer();
                discoverer.AgentFound += (sender, args)
                                         =>
                {
                    Assert.True(args.Agent.Address.ToString() != "0.0.0.0");
                    signal.Set();
                };
                discoverer.Discover(VersionCode.V1, new IPEndPoint(IPAddress.Broadcast, serverEndPoint.Port),
                                    new OctetString("public"), timeout);
                Assert.True(signal.WaitOne(wait));

                signal.Reset();
                discoverer.Discover(VersionCode.V2, new IPEndPoint(IPAddress.Broadcast, serverEndPoint.Port),
                                    new OctetString("public"), timeout);
                Assert.True(signal.WaitOne(wait));

                signal.Reset();
                discoverer.Discover(VersionCode.V3, new IPEndPoint(IPAddress.Broadcast, serverEndPoint.Port), null,
                                    timeout);
                Assert.True(signal.WaitOne(wait));
            }
            finally
            {
                if (SnmpMessageExtension.IsRunningOnWindows)
                {
                    engine.Stop();
                }
            }
        }
Exemple #6
0
        public void TestGetTestsDefaultTag1()
        {
            var settings = new Settings();

            settings.DiscoverCommandLine = "--list-tests [Tag1]";
            settings.FilenameFilter      = ".*";

            var discoverer = new Discoverer(settings);

            string[] sources = { Path_Testset01 };
            var      tests   = discoverer.GetTests(sources) as List <TestCase>;

            Assert.AreEqual(4, tests.Count);
        }
        public void LongNamesNotDiscoverableVerbose(string versionpath)
        {
            var source = Paths.TestExecutable_Discover(TestContext, versionpath);

            if (string.IsNullOrEmpty(source))
            {
                Assert.Fail($"Missing test executable for {versionpath}.");
                return;
            }

            var settings = new Settings();

            settings.DiscoverCommandLine = "-v high --list-tests NotDefaultDiscoverable*";
            settings.FilenameFilter      = ".*";

            var discoverer = new Discoverer(settings);

            string[] sources = { source };
            var      tests   = discoverer.GetTests(sources) as List <TestCase>;

            Assert.IsTrue(discoverer.Log.Contains("Error"));
            Assert.IsTrue(discoverer.Log.Contains("{???}"));

            switch (versionpath)
            {
            case "Rel_0_1":
            case "Rel_1_0":
            case "Rel_1_1":
            case "Rel_1_2":
            case "Rel_2_0":
            case "Rel_2_1":
            case "Rel_2_2":
            case "Rel_2_3":
            case "Rel_3_0":
            case "Rel_4_0":
            case "Rel_4_1":
                Assert.AreEqual(0, tests.Count);
                Assert.IsTrue(discoverer.Log.Contains("Line: 29"));
                Assert.IsTrue(discoverer.Log.Contains("Line: 34"));
                Assert.IsTrue(discoverer.Log.Contains("Line: 39"));
                break;

            default:
                Assert.AreEqual(1, tests.Count);
                Assert.IsTrue(discoverer.Log.Contains("Line: 29"));
                Assert.IsTrue(discoverer.Log.Contains("Line: 34"));
                break;
            }
        }
Exemple #8
0
        public void Should_Instantiate_The_Discoverer_Type_From_The_ConditionalFact()
        {
            var mockedInstantiatedDiscoverer = new Discoverer();
            var messageSink          = new Mock <IMessageSink>().Object;
            var provider             = new XunitTestCaseDiscovererProvider();
            var mockReflectionHelper = new Mock <IReflectionHelper>();

            mockReflectionHelper.Setup(rh => rh.CreateInstance <IXunitTestCaseDiscoverer>(FakeDiscoverer.Type, It.Is <object[]>(args => args.Length == 1 && args[0] == messageSink))).Returns(mockedInstantiatedDiscoverer);
            var conditionalFactWithDiscovererType = new ConditionalFact(FakeDiscoverer.Type);

            provider.ReflectionHelper = mockReflectionHelper.Object;
            var discoverer = provider.Provide(conditionalFactWithDiscovererType, messageSink);

            Assert.Same(mockedInstantiatedDiscoverer, discoverer);
        }
Exemple #9
0
        public void Tag1IncludeHidden()
        {
            var settings = new Settings();

            settings.DiscoverCommandLine = "--list-tests [Tag1]";
            settings.FilenameFilter      = ".*";
            settings.IncludeHidden       = true;

            var discoverer = new Discoverer(settings);

            string[] sources = { Path_Hidden };
            var      tests   = discoverer.GetTests(sources) as List <TestCase>;

            Assert.AreEqual(4, tests.Count);
        }
Exemple #10
0
        public void TestGetTestsDefaultAllNoHidden()
        {
            var settings = new Settings();

            settings.DiscoverCommandLine = "--list-tests *";
            settings.FilenameFilter      = ".*";
            settings.IncludeHidden       = false;

            var discoverer = new Discoverer(settings);

            string[] sources = { Path_Testset01 };
            var      tests   = discoverer.GetTests(sources) as List <TestCase>;

            Assert.AreEqual(2, tests.Count);
        }
Exemple #11
0
        public void GetAuthorizedLinksTest()
        {
            authMoq.Setup(x => x.IsAuthorized(It.IsAny <AuthorizeAttributes>())).Returns(true);
            routeMoq.Setup(x => x.GetRoute(It.IsAny <RouteAttributes>())).Returns("route");

            var explorer = new Discoverer(new Extractor(), new Settings {
            });
            var nodes    = explorer.Discover(System.Reflection.Assembly.GetAssembly(GetType()).FullName);
            var local    = nodes.Where(x => x.Key.Contains(nameof(Discovery.Tests.DiscovererTests)));
            var parser   = new Parser(authMoq.Object, routeMoq.Object);
            var method   = typeof(Discovery.Tests.DiscovererTests).GetMethods().First(x => x.Name == nameof(Discovery.Tests.DiscovererTests.Stub_Overloaded_CheckMethodParametersTest) && x.GetParameters().Length == 0);
            var entries  = parser.GetLinks(explorer.GetKey(method), local);

            Assert.AreEqual(4, entries.Count());
        }
Exemple #12
0
        static async private void AsyncMain()
        {
            //await EnumerateAllServicesFromAllHosts();

            Console.WriteLine("Searching...");
            Discoverer d = new Discoverer();
            await d.DiscoverNAO();
            foreach (NAOHost nao in d.NAOs)
            {
                if (verbose)
                    Console.WriteLine(nao.Name + ": " + nao.IP);
                else
                    Console.WriteLine(nao.IP);
            }
        }
Exemple #13
0
        public void AllVerbose(string versionpath)
        {
            if (versionpath.StartsWith("Rel3"))
            {
                return; // the --list-test-names-only option is not available in Catch2 v3
            }

            var source = Paths.TestExecutable_Hidden(TestContext, versionpath);

            if (string.IsNullOrEmpty(source))
            {
                Assert.Fail($"Missing test executable for {versionpath}.");
                return;
            }

            var source_dummy = Paths.TestExecutable_Dummy(TestContext, versionpath);

            if (string.IsNullOrEmpty(source_dummy))
            {
                Assert.Fail($"Missing test executable for {versionpath}.");
                return;
            }

            var settings = new Settings();

            settings.DiscoverCommandLine = "--verbosity high --list-test-names-only *";
            settings.FilenameFilter      = ".*";
            settings.IncludeHidden       = false; // With use of "--list-test-names-only" this parameter is effectively ignored
            var discoverer = new Discoverer(settings);

            string[] sources = { source };
            var      tests   = discoverer.GetTests(sources) as List <TestCase>;

            Assert.AreEqual(6, tests.Count);

            // Also check with multiple sources
            string[] sources2 = { source, source_dummy };

            tests = discoverer.GetTests(sources2) as List <TestCase>;
            Assert.AreEqual(7, tests.Count);
            Assert.AreEqual(29, tests[0].Line);
            Assert.AreEqual(34, tests[1].Line);
            Assert.AreEqual(39, tests[2].Line);
            Assert.AreEqual(44, tests[3].Line);
            Assert.AreEqual(30, tests[4].Line);
            Assert.AreEqual(35, tests[5].Line);
            Assert.AreEqual(31, tests[6].Line);
        }
Exemple #14
0
        public void LongNamesVerbose()
        {
            var settings = new Settings();

            settings.DiscoverCommandLine = "-v high --list-tests LongTestCaseNames*";
            settings.FilenameFilter      = ".*";

            var discoverer = new Discoverer(settings);

            string[] sources = { Path_Discover };
            var      tests   = discoverer.GetTests(sources) as List <TestCase>;

            Assert.AreEqual(8, tests.Count);
            Assert.AreEqual("LongTestCaseNames. a123456789b123456789c123456789d123456789e123456789& f123456789b123456789g123456789d123456789h123456789& i123456789b123456789j123456789k123456789l123456789"
                            , tests[0].Name);
            Assert.AreEqual("LongTestCaseNames. a123456789b123456789c123456789d123456789e123456789& f123456789b123456789g123456789d123456789h123456789&i123456789b123456789j123456789k123456789l123456789"
                            , tests[1].Name);
            Assert.AreEqual("LongTestCaseNames. a123456789b123456789c123456789d123456789e123456789&f123456789b123456789g123456789d123456789h123456789& i123456789b123456789j123456789k123456789l123456789"
                            , tests[2].Name);
            Assert.AreEqual("LongTestCaseNames. a123456789b123456789c123456789d123456789e123456789&f123456789b123456789g123456789d123456789h123456789&i123456789b123456789j123456789k123456789l123456789"
                            , tests[3].Name);
            Assert.AreEqual("LongTestCaseNames.a123456789b123456789c123456789d123456789e123456789& f123456789b123456789g123456789d123456789h123456789& i123456789b123456789j123456789k123456789l123456789"
                            , tests[4].Name);
            Assert.AreEqual("LongTestCaseNames.a123456789b123456789c123456789d123456789e123456789& f123456789b123456789g123456789d123456789h123456789&i123456789b123456789j123456789k123456789l123456789"
                            , tests[5].Name);
            Assert.AreEqual("LongTestCaseNames.a123456789b123456789c123456789d123456789e123456789&f123456789b123456789g123456789d123456789h123456789& i123456789b123456789j123456789k123456789l123456789"
                            , tests[6].Name);
            Assert.AreEqual("LongTestCaseNames.a123456789b123456789c123456789d123456789e123456789&f123456789b123456789g123456789d123456789h123456789&i123456789b123456789j123456789k123456789l123456789"
                            , tests[7].Name);

            Assert.IsTrue(tests[0].Filename.EndsWith(@"catch_discover\ut_longtestcasenames.cpp"));
            Assert.IsTrue(tests[1].Filename.EndsWith(@"catch_discover\ut_longtestcasenames.cpp"));
            Assert.IsTrue(tests[2].Filename.EndsWith(@"catch_discover\ut_longtestcasenames.cpp"));
            Assert.IsTrue(tests[3].Filename.EndsWith(@"catch_discover\ut_longtestcasenames.cpp"));
            Assert.IsTrue(tests[4].Filename.EndsWith(@"catch_discover\ut_longtestcasenames.cpp"));
            Assert.IsTrue(tests[5].Filename.EndsWith(@"catch_discover\ut_longtestcasenames.cpp"));
            Assert.IsTrue(tests[6].Filename.EndsWith(@"catch_discover\ut_longtestcasenames.cpp"));
            Assert.IsTrue(tests[7].Filename.EndsWith(@"catch_discover\ut_longtestcasenames.cpp"));

            Assert.AreEqual(29, tests[0].Line);
            Assert.AreEqual(34, tests[1].Line);
            Assert.AreEqual(39, tests[2].Line);
            Assert.AreEqual(44, tests[3].Line);
            Assert.AreEqual(49, tests[4].Line);
            Assert.AreEqual(54, tests[5].Line);
            Assert.AreEqual(59, tests[6].Line);
            Assert.AreEqual(64, tests[7].Line);
        }
        public void DuplicateTestnameVerbose(string versionpath)
        {
            var source = Paths.TestExecutable_Duplicates(TestContext, versionpath);

            if (string.IsNullOrEmpty(source))
            {
                Assert.Fail($"Missing test executable for {versionpath}.");
                return;
            }

            var settings = new Settings();

            settings.DiscoverCommandLine = "-v high --list-tests";
            settings.FilenameFilter      = ".*";
            settings.IncludeHidden       = false;

            var discoverer = new Discoverer(settings);

            string[] sources = { source };
            var      tests   = discoverer.GetTests(sources) as List <TestCase>;

            if (versionpath.StartsWith("Rel3"))
            {
                // This is no longer a problem starting Catch2 v3
                Assert.AreEqual(3, tests.Count);
                Assert.IsFalse(string.IsNullOrEmpty(discoverer.Log));
                Assert.IsTrue(discoverer.Log.Contains("WARNING"));
                Assert.IsTrue(discoverer.Log.Contains("SameTestNames. Duplicate"));

                Assert.AreEqual("SameTestNames. Duplicate", tests[0].Name);
                Assert.AreEqual("[[DUPLICATE 1>>.SameTestNames. Duplicate", tests[1].Name);
                Assert.AreEqual("[[DUPLICATE 2>>.SameTestNames. Duplicate", tests[2].Name);

                Assert.IsTrue(tests[0].Filename.EndsWith(@"Catch_Duplicates\UT_SameTestNames.cpp"));
                Assert.IsTrue(tests[1].Filename.EndsWith(@"Catch_Duplicates\UT_SameTestNames.cpp"));
                Assert.IsTrue(tests[2].Filename.EndsWith(@"Catch_Duplicates\UT_SameTestNames.cpp"));

                Assert.AreEqual(28, tests[0].Line);
                Assert.AreEqual(42, tests[1].Line);
                Assert.AreEqual(56, tests[2].Line);
            }
            else
            {
                Assert.AreEqual(0, tests.Count);
                Assert.IsFalse(string.IsNullOrEmpty(discoverer.Log));
                Assert.IsTrue(discoverer.Log.Contains("Error Occurred"));
            }
        }
Exemple #16
0
        public void DiscoverSelfReferential()
        {
            DiscoverableParent parent = new DiscoverableParent();

            parent.Parent = new DiscoverableParent();

            IList <IDiscoverableParent> list = Discoverer.Discover <IDiscoverableParent>(parent);

            Assert.Equal(2, list.Count);

            parent.Parent = parent;

            list = Discoverer.Discover <IDiscoverableParent>(parent);

            Assert.Equal(1, list.Count);
        }
        public void GetBaseTest()
        {
            authMoq.Setup(x => x.IsAuthorized(It.IsAny <AuthorizeAttributes>())).Returns(false);

            var settings     = new Settings {
            };
            var extractor    = new Extractor();
            var discoverer   = new Discoverer(extractor, settings);
            var orchestrator = new Orchestrator(extractor, discoverer, authMoq.Object);

            orchestrator.Setup(settings, System.Reflection.Assembly.GetAssembly(GetType()).FullName);
            var output = orchestrator.GetBase();

            Assert.IsTrue(orchestrator.Nodes.Count() > 0);
            Assert.AreEqual(0, output.Links.Count());
        }
        protected void AssertDiscoveredMethod(Type testFixtureInAssemblyToDiscoverTestsIn, string expectedNameOfFirstTestMethod)
        {
            // Arrange
            var discoverer = new Discoverer(new List<string> { testFixtureInAssemblyToDiscoverTestsIn.Assembly.Location });

            // Act
            var discoveredTests = discoverer.Discover();

            // Assert
            discoveredTests.Should().NotBeNullOrEmpty();

            var discoveredTest = discoveredTests.FirstOrDefault(x => x.Name == testFixtureInAssemblyToDiscoverTestsIn.Name);
            discoveredTest.Should().NotBeNull();

            var discoveredMethod = discoveredTest.TestMethods.FirstOrDefault(x => x.Name == expectedNameOfFirstTestMethod);
            discoveredMethod.Should().NotBeNull();
        }
        public void TestGetTestsLongTag2D()
        {
            var settings = new Settings();

            settings.DiscoverCommandLine = "--discover \"Testset02.Tests07. Longtag2\"";
            settings.FilenameFilter      = ".*";

            var discoverer = new Discoverer(settings);

            string[] sources = { Path_Testset02 };
            var      tests   = discoverer.GetTests(sources) as List <TestCase>;

            Assert.AreEqual(1, tests.Count);
            Assert.AreEqual(1, tests[0].Tags.Count);
            Assert.AreEqual("This is a long tag name, a very long tag name. Did I say it was a long tag name. Yes, it is a long tag name and it just growing and growing and growing. Where it ends, well it doesn't end here. It ends all the way over here."
                            , tests[0].Tags[0]);
        }
        public void DefaultSettings(string versionpath)
        {
            var source = Paths.TestExecutable_Hidden(TestContext, versionpath);

            if (string.IsNullOrEmpty(source))
            {
                Assert.Fail($"Missing test executable for {versionpath}.");
                return;
            }

            var discoverer = new Discoverer(null);

            string[] sources = { source };
            var      tests   = discoverer.GetTests(sources) as List <TestCase>;

            Assert.AreEqual(6, tests.Count);
        }
Exemple #21
0
        public void TestGetTestsDuplicateTestname()
        {
            var settings = new Settings();

            settings.DiscoverCommandLine = "--list-tests";
            settings.FilenameFilter      = ".*";
            settings.IncludeHidden       = false;

            var discoverer = new Discoverer(settings);

            string[] sources = { Path_Testset04 };
            var      tests   = discoverer.GetTests(sources) as List <TestCase>;

            Assert.AreEqual(0, tests.Count);
            Assert.IsFalse(string.IsNullOrEmpty(discoverer.Log));
            Assert.IsTrue(discoverer.Log.Contains("Error Occurred"));
        }
        public void TestGetTestsLongTag1D()
        {
            var settings = new Settings();

            settings.DiscoverCommandLine = "--discover \"Testset02.Tests07. Longtag1\"";
            settings.FilenameFilter      = ".*";

            var discoverer = new Discoverer(settings);

            string[] sources = { Path_Testset02 };
            var      tests   = discoverer.GetTests(sources) as List <TestCase>;

            Assert.AreEqual(1, tests.Count);
            Assert.AreEqual(1, tests[0].Tags.Count);
            Assert.AreEqual("Long tag 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789"
                            , tests[0].Tags[0]);
        }
        public void Discover_Finds_Regular_Test_Fixture_And_Method()
        {
            // Arrange
            var discoverer = new Discoverer(new List<string> { TestAssemblyLocation });

            // Act
            var discoveredTests = discoverer.Discover();

            // Assert
            discoveredTests.Should().NotBeNullOrEmpty();

            var discoveredTest = discoveredTests.FirstOrDefault(x => x.Name == typeof(RegularTestClass).Name);
            discoveredTest.Should().NotBeNull();

            var discoveredMethod = discoveredTest.TestMethods.FirstOrDefault(x => x.Name == "RegularTestMethod");
            discoveredMethod.Should().NotBeNull();
        }
        public async void TestDiscovererAsync()
        {
            var engine = CreateEngine();

            engine.Listener.ClearBindings();
            var serverEndPoint = new IPEndPoint(IPAddress.Any, Port.NextId);

            engine.Listener.AddBinding(serverEndPoint);
            engine.Start();

            try
            {
                var signal     = new AutoResetEvent(false);
                var discoverer = new Discoverer();
                discoverer.AgentFound += (sender, args)
                                         =>
                {
                    Assert.True(args.Agent.Address.ToString() != "0.0.0.0");
                    signal.Set();
                };
                await discoverer.DiscoverAsync(VersionCode.V1, new IPEndPoint(IPAddress.Broadcast, serverEndPoint.Port),
                                               new OctetString("public"), 3000);

                signal.WaitOne();

                signal.Reset();
                await discoverer.DiscoverAsync(VersionCode.V2, new IPEndPoint(IPAddress.Broadcast, serverEndPoint.Port),
                                               new OctetString("public"), 3000);

                signal.WaitOne();

                signal.Reset();
                await discoverer.DiscoverAsync(VersionCode.V3, new IPEndPoint(IPAddress.Broadcast, serverEndPoint.Port),
                                               null, 3000);

                signal.WaitOne();
            }
            finally
            {
                if (SnmpMessageExtension.IsRunningOnWindows)
                {
                    engine.Stop();
                }
            }
        }
Exemple #25
0
        public void DiscoverTest()
        {
            var explorer = new Discoverer(new Extractor(), new Settings {
            });

            var nodes = explorer.Discover(System.Reflection.Assembly.GetAssembly(GetType()).FullName);

            var local    = nodes.Where(x => x.Key.Contains(nameof(DiscovererTests)));
            var allExits = local.SelectMany(x => x.Exits);

            Assert.AreEqual(4, allExits.Count());
            Assert.AreEqual(7, nodes.Count());
            Assert.AreEqual(4, local.Count());
            Assert.AreEqual(3, nodes.Where(x => x.Key.Contains(nameof(ExtractorTests))).Count());
            Assert.AreEqual(3, local.Where(x => x.Metadata.IsEntry).Count());
            Assert.IsTrue(local.Single(x => x.Metadata.IsLeaf).Key.Contains(nameof(Stub_Overloaded_CheckMethodParametersTest))); // leaf
            Assert.AreEqual(1, local.Single(x => x.Key.Contains(nameof(Stub_CheckMethodParametersTest))).Exits.Count());         // leaf
        }
Exemple #26
0
        public void NoHidden()
        {
            var settings = new Settings();

            settings.DiscoverCommandLine = "--list-test-names-only";
            settings.FilenameFilter      = ".*";
            settings.IncludeHidden       = true; // With use of "--list-test-names-only" this parameter is effectively ignored
            var discoverer = new Discoverer(settings);

            string[] sources = { Path_Hidden };
            var      tests   = discoverer.GetTests(sources) as List <TestCase>;

            #if TA_CATCH2_V2_0_1 || TA_CATCH2_V2_1_0 || TA_CATCH2_V2_1_1 || TA_CATCH2_V2_1_2
            Assert.AreEqual(6, tests.Count);
            #else
            Assert.AreEqual(2, tests.Count);
            #endif
        }
        public static void Run(string[] args)
        {
            GLib.ExceptionManager.UnhandledException += ExceptionManager_UnhandledException;

            string uri = "http://download.blender.org/durian/trailer/sintel_trailer-1080p.mp4";

// Missing GError ?
            uri = "https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm";
            if (args.Length > 1)
            {
                uri = args[0];
            }

            Gst.Application.Init(ref args);
            Console.WriteLine($"Discovering {uri}");

            Discoverer = new Discoverer(5 * Gst.Constants.SECOND);
            if (Discoverer == null)
            {
                Console.WriteLine("Error creating discoverer ");
                return;
            }

            // Connect to the interesting signals
            Discoverer.Discovered += OnDiscoveredCb;
            Discoverer.Finished   += OnFinishedCb;

            // Start the discoverer process (nothing to do yet)
            Discoverer.Start();

            //Add a request to process asynchronously the URI passed through the command line
            if (!Discoverer.DiscoverUriAsync(uri))
            {
                $"Failed to start discovering {uri}".PrintErr();
                return;
            }

            // Create a GLib Main Loop and set it to run, so we can wait for the signals
            MainLoop = new GLib.MainLoop();
            MainLoop.Run();

            Discoverer.Stop();
            Console.ReadLine();
        }
Exemple #28
0
        public void Names(string versionpath)
        {
            if (versionpath.StartsWith("Rel3"))
            {
                return; // the --list-test-names-only option is not available in Catch2 v3
            }

            var source = Paths.TestExecutable_Discover(TestContext, versionpath);

            if (string.IsNullOrEmpty(source))
            {
                Assert.Fail($"Missing test executable for {versionpath}.");
                return;
            }

            var settings = new Settings();

            settings.DiscoverCommandLine = "--list-test-names-only *TestCases*";
            settings.FilenameFilter      = ".*";

            var discoverer = new Discoverer(settings);

            string[] sources = { source };
            var      tests   = discoverer.GetTests(sources) as List <TestCase>;

            Assert.AreEqual(13, tests.Count);
            Assert.AreEqual("TestCases. abcdefghijklmnopqrstuvwxyz", tests[0].Name);
            Assert.AreEqual("TestCases. ZXYWVUTSRQPONMLKJIHGFEDCBA", tests[1].Name);
            Assert.AreEqual("TestCases. 0123456789", tests[2].Name);
            Assert.AreEqual("TestCases. []{}!@#$%^&*()_-+=|\\?/><,~`';:", tests[3].Name);
            Assert.AreEqual("TestCases. \"name\"", tests[4].Name);
            Assert.AreEqual("TestCases. \\", tests[5].Name);
            Assert.AreEqual("\\TestCases. name", tests[6].Name);
            Assert.AreEqual("TestCases. End with space ", tests[7].Name);
            Assert.AreEqual("TestCases. End with spaces   ", tests[8].Name);
            Assert.AreEqual("TestCasesLongName01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789"
                            , tests[9].Name);
            Assert.AreEqual("TestCases. LongName 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789"
                            , tests[10].Name);
            Assert.AreEqual("TestCases. LongName 0123456789-01234567890123456789-01234567890123456789-01234567890123456789-01234567890123456789-0123456789"
                            , tests[11].Name);
            Assert.AreEqual("TestCases. with <xml/> in name", tests[12].Name);
        }
Exemple #29
0
        public void DiscoverOrphansTest()
        {
            var explorer = new Discoverer(new Extractor(), new Settings {
                AllowOrphans = true
            });

            var nodes = explorer.Discover(System.Reflection.Assembly.GetAssembly(GetType()).FullName);

            var local    = nodes.Where(x => x.Key.Contains(nameof(DiscovererTests)));
            var allExits = local.SelectMany(x => x.Exits).ToList();
            var test     = allExits.ToArray();

            Assert.AreEqual(5, allExits.Count());
            Assert.AreEqual(8, nodes.Count());
            Assert.AreEqual(5, local.Count());
            Assert.AreEqual(3, nodes.Where(x => x.Key.Contains(nameof(ExtractorTests))).Count());
            Assert.AreEqual(3, local.Where(x => x.Metadata.IsEntry).Count());
            Assert.AreEqual(1, local.Single(x => x.Key.Contains(nameof(Stub_Orphan))).Exits.Count()); // leaf
        }
Exemple #30
0
        public void TestGetTestsDefaultAll()
        {
            var settings = new Settings();

            settings.DiscoverCommandLine = "--list-tests *";
            settings.IncludeHidden       = true;
            var discoverer = new Discoverer(settings);

            string[] sources = { Path_Testset01 };
            var      tests   = discoverer.GetTests(sources) as List <TestCase>;

            Assert.AreEqual(6, tests.Count);

            // Also check with multiple sources
            string[] sources2 = { Path_Testset01, Path_Dummy };

            tests = discoverer.GetTests(sources2) as List <TestCase>;
            Assert.AreEqual(7, tests.Count);
        }
Exemple #31
0
        public void TestGetTestsNameOnly()
        {
            var settings = new Settings();

            settings.DiscoverCommandLine = "--list-test-names-only *";
            settings.IncludeHidden       = false; // With use of "--list-test-names-only" this parameter is effectively ignored
            var discoverer = new Discoverer(settings);

            string[] sources = { Path_Testset01 };
            var      tests   = discoverer.GetTests(sources) as List <TestCase>;

            Assert.AreEqual(6, tests.Count);

            // Also check with multiple sources
            string[] sources2 = { Path_Testset01, Path_Dummy };

            tests = discoverer.GetTests(sources2) as List <TestCase>;
            Assert.AreEqual(7, tests.Count);
        }
        protected void AssertDiscoveredMethod(Type testFixtureInAssemblyToDiscoverTestsIn, params string[] expectedTestMethodsName)
        {
            // Arrange
            var discoverer = new Discoverer(new List<string> { testFixtureInAssemblyToDiscoverTestsIn.Assembly.Location }, @"..\..\..\packages\NUnit.ConsoleRunner.3.2.0\tools\nunit3-console.exe");

            // Act
            var discoveredTests = discoverer.Discover();

            // Assert
            discoveredTests.Should().NotBeNullOrEmpty();

            var discoveredTest = discoveredTests.SingleOrDefault(x => x.Name == testFixtureInAssemblyToDiscoverTestsIn.Name);
            discoveredTest.Should().NotBeNull();

            var discoveredMethodsNames = discoveredTest.TestMethods.Select(p => p.Name);

            foreach (var expectedTestMethodName in expectedTestMethodsName)
                Assert.Contains(expectedTestMethodName, discoveredMethodsNames.ToList());
        }
Exemple #33
0
        public void LongNames(string versionpath)
        {
            if (versionpath.StartsWith("Rel3"))
            {
                return; // the --list-test-names-only option is not available in Catch2 v3
            }

            var source = Paths.TestExecutable_Discover(TestContext, versionpath);

            if (string.IsNullOrEmpty(source))
            {
                Assert.Fail($"Missing test executable for {versionpath}.");
                return;
            }

            var settings = new Settings();

            settings.DiscoverCommandLine = "--list-test-names-only LongTestCaseNames*";
            settings.FilenameFilter      = ".*";

            var discoverer = new Discoverer(settings);

            string[] sources = { source };
            var      tests   = discoverer.GetTests(sources) as List <TestCase>;

            Assert.AreEqual(8, tests.Count);
            Assert.AreEqual("LongTestCaseNames. a123456789b123456789c123456789d123456789e123456789& f123456789b123456789g123456789d123456789h123456789& i123456789b123456789j123456789k123456789l123456789"
                            , tests[0].Name);
            Assert.AreEqual("LongTestCaseNames. a123456789b123456789c123456789d123456789e123456789& f123456789b123456789g123456789d123456789h123456789&i123456789b123456789j123456789k123456789l123456789"
                            , tests[1].Name);
            Assert.AreEqual("LongTestCaseNames. a123456789b123456789c123456789d123456789e123456789&f123456789b123456789g123456789d123456789h123456789& i123456789b123456789j123456789k123456789l123456789"
                            , tests[2].Name);
            Assert.AreEqual("LongTestCaseNames. a123456789b123456789c123456789d123456789e123456789&f123456789b123456789g123456789d123456789h123456789&i123456789b123456789j123456789k123456789l123456789"
                            , tests[3].Name);
            Assert.AreEqual("LongTestCaseNames.a123456789b123456789c123456789d123456789e123456789& f123456789b123456789g123456789d123456789h123456789& i123456789b123456789j123456789k123456789l123456789"
                            , tests[4].Name);
            Assert.AreEqual("LongTestCaseNames.a123456789b123456789c123456789d123456789e123456789& f123456789b123456789g123456789d123456789h123456789&i123456789b123456789j123456789k123456789l123456789"
                            , tests[5].Name);
            Assert.AreEqual("LongTestCaseNames.a123456789b123456789c123456789d123456789e123456789&f123456789b123456789g123456789d123456789h123456789& i123456789b123456789j123456789k123456789l123456789"
                            , tests[6].Name);
            Assert.AreEqual("LongTestCaseNames.a123456789b123456789c123456789d123456789e123456789&f123456789b123456789g123456789d123456789h123456789&i123456789b123456789j123456789k123456789l123456789"
                            , tests[7].Name);
        }
        public static void Main(string[] args)
        {
            var uri = "http://download.blender.org/durian/trailer/sintel_trailer-1080p.mp4";

            // if a URI was provided, use it instead of the default one
            if (args.Length > 1)
            {
                uri = args[0];
            }

            // Initialize GStreamer
            Gst.Application.Init(ref args);

            Console.WriteLine("Discovering '{0}'", uri);

            // Instantiate the Discoverer
            Discoverer = new Discoverer(5L * Gst.Constants.SECOND);

            // Connect to the interesting signals
            Discoverer.Discovered += HandleDiscovered;
            Discoverer.Finished   += (sender, e) => {
                Console.WriteLine("Finished discovering");
                MainLoop.Quit();
            };

            // Start the discoverer process (nothing to do yet)
            Discoverer.Start();

            // Add a request to process asynchronously the URI passed through the command line
            if (!Discoverer.DiscoverUriAsync(uri))
            {
                Console.WriteLine("Failed to start discovering URI '{0}'", uri);
                return;
            }

            // Create a GLib Main Loop and set it to run, so we can wait for the signals
            MainLoop = new GLib.MainLoop();
            MainLoop.Run();

            // Stop the discoverer process
            Discoverer.Stop();
        }
Exemple #35
0
        public static void Main(string[] args)
        {
            if (args.Length != 0)
            {
                return;
            }

            Discoverer discoverer = new Discoverer();

            discoverer.AgentFound += DiscovererAgentFound;
            Console.WriteLine("v1 discovery");
            discoverer.Discover(VersionCode.V1, new IPEndPoint(IPAddress.Broadcast, 161), new OctetString("public"), 6000);
            Console.WriteLine("v2 discovery");
            discoverer.Discover(VersionCode.V2, new IPEndPoint(IPAddress.Broadcast, 161), new OctetString("public"), 6000);
            Console.WriteLine("v3 discovery");
            discoverer.Discover(VersionCode.V3, new IPEndPoint(IPAddress.Broadcast, 161), null, 6000);

            Console.Write("Press any key to continue . . . ");
            Console.ReadKey(true);
        }
Exemple #36
0
        public void LongNamesNotDiscoverable()
        {
            var settings = new Settings();

            settings.DiscoverCommandLine = "--list-test-names-only NotDefaultDiscoverable*";
            settings.FilenameFilter      = ".*";

            var discoverer = new Discoverer(settings);

            string[] sources = { Path_Discover };
            var      tests   = discoverer.GetTests(sources) as List <TestCase>;

            Assert.AreEqual(3, tests.Count);
            Assert.AreEqual("NotDefaultDiscoverable. a123456789b123456789c123456789d123456789e123456789&  f123456789b123456789g123456789d123456789h123456789& i123456789b123456789j123456789k123456789l123456789"
                            , tests[0].Name);
            Assert.AreEqual("NotDefaultDiscoverable. a123456789b123456789c123456789d123456789e123456789& f123456789b123456789g123456789d123456789h123456789&  i123456789b123456789j123456789k123456789l123456789"
                            , tests[1].Name);
            Assert.AreEqual("NotDefaultDiscoverable. a123456789b123456789c123456789d123456789e123456789f123"
                            , tests[2].Name);
        }
Exemple #37
0
        public void LongNamesNotDiscoverableVerbose(string versionpath)
        {
            if (versionpath.StartsWith("Rel3"))
            {
                return; // the --list-test-names-only option is not available in Catch2 v3
            }

            var source = Paths.TestExecutable_Discover(TestContext, versionpath);

            if (string.IsNullOrEmpty(source))
            {
                Assert.Fail($"Missing test executable for {versionpath}.");
                return;
            }

            var settings = new Settings();

            settings.DiscoverCommandLine = "-v high --list-test-names-only NotDefaultDiscoverable*";
            settings.FilenameFilter      = ".*";

            var discoverer = new Discoverer(settings);

            string[] sources = { source };
            var      tests   = discoverer.GetTests(sources) as List <TestCase>;

            Assert.AreEqual(3, tests.Count);
            Assert.AreEqual("NotDefaultDiscoverable. a123456789b123456789c123456789d123456789e123456789&  f123456789b123456789g123456789d123456789h123456789& i123456789b123456789j123456789k123456789l123456789"
                            , tests[0].Name);
            Assert.AreEqual("NotDefaultDiscoverable. a123456789b123456789c123456789d123456789e123456789& f123456789b123456789g123456789d123456789h123456789&  i123456789b123456789j123456789k123456789l123456789"
                            , tests[1].Name);
            Assert.AreEqual("NotDefaultDiscoverable. a123456789b123456789c123456789d123456789e123456789f123"
                            , tests[2].Name);

            Assert.IsTrue(tests[0].Filename.EndsWith(@"Catch_Discover\UT_NotDefaultDiscoverable.cpp"));
            Assert.IsTrue(tests[1].Filename.EndsWith(@"Catch_Discover\UT_NotDefaultDiscoverable.cpp"));
            Assert.IsTrue(tests[2].Filename.EndsWith(@"Catch_Discover\UT_NotDefaultDiscoverable.cpp"));

            Assert.AreEqual(29, tests[0].Line);
            Assert.AreEqual(34, tests[1].Line);
            Assert.AreEqual(39, tests[2].Line);
        }
Exemple #38
0
        public void GetAll_SkipsInterfaces()
        {
            Type[] types = { typeof(IBar) };
            _typeContainerMock.Setup(container => container.GetTypes()).Returns(types);

            var subject = new Discoverer(_typeContainerMock.Object);

            Assert.IsEmpty(subject.GetAll<IFoo>());
        }
		/// <summary>
		/// Discovers the tests.
		/// </summary>
		private void DiscoverTests()
		{
			System.Threading.Tasks.Task.Factory.StartNew(new Action(() =>
			{
				var potentialTestDLLs = IDEHelper.GetPotentialTestDLLs();
				var testDiscoverer = new Discoverer(potentialTestDLLs);

				testDiscoverer.Discover(UpdateTreeView);
			}));
		}