예제 #1
0
        private static (TestFileSystem FileSystem, string BasePath) BuildReportWithOneFile()
        {
            var    fileSystem = new TestFileSystem();
            string filePath   = TestFileSystem.GenerateRandomAbsolutePath("ncover");

            string sourcePath = Path.Combine(filePath, "SingleFileReportSourceFile.txt");

            fileSystem.AddFile(sourcePath, Reports.NCoverSamples.SingleFileReportOneLineCovered.SourceFile);

            var doc        = XDocument.Parse(Reports.NCoverSamples.SingleFileReportOneLineCovered.Report);
            var classFiles =
                doc.XPathSelectElements("//coverage/module/method/seqpnt")
                .Where(e => e.Attribute("document") !.Value.EndsWith("Class1.cs", StringComparison.Ordinal));

            foreach (var classFile in classFiles)
            {
                classFile.Attribute("document") !.SetValue(sourcePath);
            }

            var    reportContents = doc.ToString();
            string reportPath     = Path.Combine(filePath, "SingleFileReportOneLineCovered.xml");

            fileSystem.AddFile(reportPath, reportContents);

            return(fileSystem, reportPath);
        }
예제 #2
0
        public void EmptyReport_MultipleMode_RunsSuccessfully()
        {
            var directoryPath = TestFileSystem.GenerateRandomAbsolutePath("reports", "Sample1");
            var fileSystem    = EmptyReportFileSystem(directoryPath);

            var results = DryRunCoverallsMultiModeWithInputFile(directoryPath, fileSystem);

            CoverallsAssert.RanSuccessfully(results);
        }
예제 #3
0
        public void EmptyReport_MultipleMode_RunsSuccessfully()
        {
            var fileSystem = new TestFileSystem();
            var filePath   = TestFileSystem.GenerateRandomAbsolutePath("opencover", "Sample1", "EmptyReport.xml");

            fileSystem.AddFile(filePath, Reports.OpenCoverSamples.EmptyReport);

            var results = DryRunCoverallsMultiModeWithInputFile(filePath, fileSystem);

            CoverallsAssert.RanSuccessfully(results);
        }
예제 #4
0
        public void EmptyReport_RunsSuccessfully()
        {
            var    fileSystem = new TestFileSystem();
            string filePath   = TestFileSystem.GenerateRandomAbsolutePath("ncover", "EmptyReport.xml");

            fileSystem.AddFile(filePath, Reports.NCoverSamples.EmptyReport);

            var results = DryRunCoverallsWithInputFile(filePath, fileSystem);

            CoverallsAssert.RanSuccessfully(results);
        }
        public void EmptyReport_MultipleMode_RunsSuccessfully()
        {
            var fileSystem    = new TestFileSystem();
            var directoryPath = TestFileSystem.GenerateRandomAbsolutePath("reports", "Sample1");

            fileSystem.AddFile(Path.Combine(directoryPath, "Summary.xml"), Reports.ReportGeneratorSample.Sample1.Summary);
            fileSystem.AddFile(Path.Combine(directoryPath, "test_test.UnitTest1.xml"), Reports.ReportGeneratorSample.Sample1.Test_test_UnitTest1);

            var results = DryRunCoverallsMultiModeWithInputFile(directoryPath, fileSystem);

            CoverallsAssert.RanSuccessfully(results);
        }
        public void MissingFolder_RunsWithCorrectErrorMessage()
        {
            var fileSystem    = new TestFileSystem();
            var directoryPath = TestFileSystem.GenerateRandomAbsolutePath("reports", "Sample1");

            var results = DryRunCoverallsWithInputFile(directoryPath, fileSystem);

            Assert.Equal(1, results.ExitCode);
            Assert.Equal(
                $"Input file '{directoryPath}' cannot be found",
                results.StandardError);
        }
예제 #7
0
        private static (TestFileSystem FileSystem, string BasePath) BuildMonocovReportFolder()
        {
            var fileSystem = new TestFileSystem();
            var filesDir   = TestFileSystem.GenerateRandomAbsolutePath("monocov", "Sample1");

            fileSystem.AddFile(Path.Combine(filesDir, "class-GameOfLife.Game.xml"), Reports.MonoCovSamples.Sample1.Class_GameOfLife_Game);
            fileSystem.AddFile(Path.Combine(filesDir, "class-GameOfLife.Program.xml"), Reports.MonoCovSamples.Sample1.Class_GameOfLife_Program);
            fileSystem.AddFile(Path.Combine(filesDir, "class-GameOfLife.World.xml"), Reports.MonoCovSamples.Sample1.Class_GameOfLife_World);
            fileSystem.AddFile(Path.Combine(filesDir, "class-GameOfLife.WorldBuilder.xml"), Reports.MonoCovSamples.Sample1.Class_GameOfLife_WorldBuilder);
            fileSystem.AddFile(Path.Combine(filesDir, "class-GameOfLife.xUnit.Tests.WorldTests.xml"), Reports.MonoCovSamples.Sample1.Class_GameOfLife_Xunit_Tests_WorldTests);
            fileSystem.AddFile(Path.Combine(filesDir, "namespace-GameOfLife.xml"), Reports.MonoCovSamples.Sample1.Namespace_GameOfLife);
            fileSystem.AddFile(Path.Combine(filesDir, "namespace-GameOfLife.xUnit.Tests.xml"), Reports.MonoCovSamples.Sample1.Namespace_GameOfLife_Xunit);
            fileSystem.AddFile(Path.Combine(filesDir, "namespace-GameOfLife.xUnit.xml"), Reports.MonoCovSamples.Sample1.Namespace_GameOfLife_Xunit_Tests);
            fileSystem.AddFile(Path.Combine(filesDir, "project.xml"), Reports.MonoCovSamples.Sample1.Project);
            fileSystem.AddFile(Path.Combine(filesDir, "style.xsl"), Reports.MonoCovSamples.Sample1.Style);

            return(fileSystem, filesDir);
        }
예제 #8
0
        private static (TestFileSystem, string basePath) BuildReportWithOneFile()
        {
            var    fileSystem = new TestFileSystem();
            string filePath   = TestFileSystem.GenerateRandomAbsolutePath("opencover");

            string sourcePath = Path.Combine(filePath, "SingleFileReportSourceFile.txt");

            fileSystem.AddFile(sourcePath, Reports.OpenCoverSamples.SingleFileReportSourceFile);

            var doc       = XDocument.Parse(Reports.OpenCoverSamples.SingleFileReportOneLineCovered);
            var classFile = doc
                            .XPathSelectElements("//CoverageSession/Modules/Module/Files/File")
                            .FirstOrDefault(e => e.Attribute("fullPath").Value.EndsWith("Class1.cs", StringComparison.Ordinal));

            classFile.Attribute("fullPath").SetValue(sourcePath);

            var    reportContents = doc.ToString();
            string reportPath     = Path.Combine(filePath, "SingleFileReportOneLineCovered.xml");

            fileSystem.AddFile(reportPath, reportContents);

            return(fileSystem, reportPath);
        }
예제 #9
0
        public void EmptyReport_GivenAnOutput_OutputsSamplePost()
        {
            var fileSystem = new TestFileSystem();
            var outfile    = "TestingOutput.xml";
            var filePath   = TestFileSystem.GenerateRandomAbsolutePath("opencover", "Sample1", "EmptyReport.xml");

            fileSystem.AddFile(filePath, Reports.OpenCoverSamples.EmptyReport);

            var results = CoverallsTestRunner.RunCoveralls(
                $"--opencover -i {filePath} --dryrun --output {outfile} --repoToken MYTESTREPOTOKEN",
                fileSystem);

            CoverallsAssert.RanSuccessfully(results);
            var savedFile = fileSystem.TryLoadFile(outfile);

            Assert.True(savedFile.HasValue, "Expected file to exist in fileSystem");
            var savedFileData = savedFile.ValueOr(" ");

            Assert.Contains(@"""repo_token"":""MYTESTREPOTOKEN""", savedFileData, StringComparison.Ordinal);
            Assert.Contains(@"""service_name"":""coveralls.net""", savedFileData, StringComparison.Ordinal);
            Assert.Contains(@"""parallel"":false", savedFileData, StringComparison.Ordinal);
            Assert.Contains(@"""source_files"":[]", savedFileData, StringComparison.Ordinal);
        }