Example #1
0
        public void ItDoesntRedirectStandardOutAndError()
        {
            TestInstance instance = TestAssetsManager.CreateTestInstance("TestAppSimple")
                                         .WithLockFiles();

            new BuildCommand(instance.TestRoot)
                .Execute()
                .Should()
                .Pass();

            // use MockBehavior.Strict to ensure the RunCommand doesn't call CaptureStdOut, ForwardStdOut, etc.
            Mock<ICommand> failOnRedirectOutputCommand = new Mock<ICommand>(MockBehavior.Strict);
            failOnRedirectOutputCommand
                .Setup(c => c.Execute())
                .Returns(new CommandResult(null, RunExitCode, null, null));

            Mock<ICommandFactory> commandFactoryMock = new Mock<ICommandFactory>();
            commandFactoryMock
                .Setup(c => c.Create(
                                It.IsAny<string>(),
                                It.IsAny<IEnumerable<string>>(),
                                It.IsAny<NuGetFramework>(),
                                It.IsAny<string>()))
                .Returns(failOnRedirectOutputCommand.Object);

            RunCommand runCommand = new RunCommand(commandFactoryMock.Object);
            runCommand.Project = instance.TestRoot;

            runCommand.Start()
                .Should()
                .Be(RunExitCode);
        }
Example #2
0
        public void RunTestFullClr()
        {
            var testProjectPath = Path.Combine(RepoRoot, "TestAssets", "TestProjects", "DependencyContextValidator", "TestAppFullClr");
            var testProject = Path.Combine(testProjectPath, "project.json");

            var runCommand = new RunCommand(testProject);
            var result = runCommand.ExecuteWithCapturedOutput();
            result.Should().Pass();
            ValidateRuntimeLibrariesFullClr(result, "TestAppFullClr");
            ValidateCompilationLibrariesFullClr(result, "TestAppFullClr");
        }
        public void Compilation_of_app_with_P2P_reference_to_fsharp_library_should_be_runnable()
        {
            var testProject = Path.Combine(s_testProjectsRoot, "TestApp", "project.json"); 
            var runCommand = new RunCommand(testProject);

            var oldDirectory = Directory.GetCurrentDirectory();
            Directory.SetCurrentDirectory(Path.GetDirectoryName(testProject));

            var result = runCommand.Execute();

            result.Should().Pass();

            Directory.SetCurrentDirectory(oldDirectory);
        }
Example #4
0
        public void RunTest(string appname, bool checkCompilation)
        {
            var testProjectPath = Path.Combine(RepoRoot, "TestAssets", "TestProjects", "DependencyContextValidator", appname);
            var testProject = Path.Combine(testProjectPath, "project.json");

            var runCommand = new RunCommand(testProject);
            var result = runCommand.ExecuteWithCapturedOutput();
            result.Should().Pass();
            ValidateRuntimeLibraries(result, appname);
            if (checkCompilation)
            {
                ValidateCompilationLibraries(result, appname);
            }
        }
Example #5
0
        public void ItRunsKestrelStandaloneApp()
        {
            TestInstance instance = TestAssetsManager.CreateTestInstance(KestrelSampleBase)
                                                     .WithLockFiles();

            var url = NetworkHelper.GetLocalhostUrlWithFreePort();
            var args = $"{url} {Guid.NewGuid().ToString()}";
            var runCommand = new RunCommand(Path.Combine(instance.TestRoot, KestrelStandalone));

            try
            {
                runCommand.ExecuteAsync(args);
                NetworkHelper.IsServerUp(url).Should().BeTrue($"Unable to connect to kestrel server - {KestrelStandalone} @ {url}");
                NetworkHelper.TestGetRequest(url, args);
            }
            finally
            {
                runCommand.KillTree();
            }
        }
Example #6
0
        public void TestDotnetRun()
        {
            var runCommand = new RunCommand(TestProject);

            runCommand.Execute()
                .Should()
                .Pass();
        }
Example #7
0
        public void TestDotnetRun()
        {
            var restoreCommand = new TestCommand("dotnet");
            restoreCommand.Execute($"restore {TestProject}")
                .Should()
                .Pass();
            var runCommand = new RunCommand(TestProject);

            runCommand.Execute()
                .Should()
                .Pass();
        }
        public async Task DesktopApp_WithKestrel_WorksWhenRun(string project, string url, string framework)
        {
            // Disabled due to https://github.com/dotnet/cli/issues/2428
            if (RuntimeInformation.ProcessArchitecture == Architecture.X86)
            {
                return;
            }

            var testInstance = GetTestInstance()
                .WithLockFiles()
                .WithBuildArtifacts();

            Task exec = null;
            var command = new RunCommand(Path.Combine(testInstance.TestRoot, project), framework);
            try
            {
                exec = command.ExecuteAsync(url);
                NetworkHelper.IsServerUp(url).Should().BeTrue($"Unable to connect to kestrel server - {project} @ {url}");
                NetworkHelper.TestGetRequest(url, url);
            }
            finally
            {
                command.KillTree();
            }
            if (exec != null)
            {
                await exec;
            }
        }
Example #9
0
        public void DepsDependencyContextIsValidOnBuild()
        {
                var testProjectPath = Path.Combine(RepoRoot, "TestAssets", "TestProjects", "DependencyContextValidator", "TestAppDeps");
                var testProject = Path.Combine(testProjectPath, "project.json");

                var runCommand = new RunCommand(testProject);
                runCommand.Execute().Should().Pass();
        }