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); }
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); }
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); } }
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(); } }
public void TestDotnetRun() { var runCommand = new RunCommand(TestProject); runCommand.Execute() .Should() .Pass(); }
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; } }
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(); }