public void SetupFiltering() { if (!CommandLineManager.instance.runFromCommandLine || !CommandLineManager.instance.assemblyFiltersSpecified) { m_AssemblyFiltering = new AssemblyFiltering(); string includeAssemblies = CoveragePreferences.instance.GetString("IncludeAssemblies", AssemblyFiltering.GetUserOnlyAssembliesString()); m_AssemblyFiltering.Parse(includeAssemblies, AssemblyFiltering.kDefaultExcludedAssemblies); } if (!CommandLineManager.instance.runFromCommandLine || !CommandLineManager.instance.pathFiltersSpecified) { m_PathFiltering = new PathFiltering(); string pathsToInclude = CoveragePreferences.instance.GetStringForPaths("PathsToInclude", string.Empty); string pathsToExclude = CoveragePreferences.instance.GetStringForPaths("PathsToExclude", string.Empty); m_PathFiltering.Parse(pathsToInclude, pathsToExclude); } }
public void SendCoverageEvent(bool success) { CurrentCoverageEvent.success = success; CurrentCoverageEvent.duration = CoverageTimer.elapsedTimeMs; CurrentCoverageEvent.resultIds = s_ResultsIdsList.ToArray(); bool runFromCommandLine = CommandLineManager.instance.runFromCommandLine; bool batchmode = CommandLineManager.instance.batchmode; bool useProjectSettings = CommandLineManager.instance.useProjectSettings; CurrentCoverageEvent.runFromCommandLine = runFromCommandLine; CurrentCoverageEvent.batchmode = batchmode; CurrentCoverageEvent.useProjectSettings = useProjectSettings; if (batchmode && !useProjectSettings) { CurrentCoverageEvent.autogenerate = CommandLineManager.instance.generateBadgeReport || CommandLineManager.instance.generateHTMLReport; CurrentCoverageEvent.createBadges = CommandLineManager.instance.generateBadgeReport; CurrentCoverageEvent.generateHistory = CommandLineManager.instance.generateHTMLReportHistory; CurrentCoverageEvent.generateHTMLReport = CommandLineManager.instance.generateHTMLReport; CurrentCoverageEvent.generateMetrics = CommandLineManager.instance.generateAdditionalMetrics; CurrentCoverageEvent.useDefaultAssemblyFilters = !CommandLineManager.instance.assemblyFiltersSpecified; CurrentCoverageEvent.useDefaultPathFilters = !CommandLineManager.instance.pathFiltersSpecified; CurrentCoverageEvent.useDefaultResultsLoc = CommandLineManager.instance.coverageResultsPath.Length == 0; CurrentCoverageEvent.useDefaultHistoryLoc = CommandLineManager.instance.coverageHistoryPath.Length == 0; CurrentCoverageEvent.usePathStrippingPatterns = CommandLineManager.instance.pathStrippingSpecified; CurrentCoverageEvent.useSourcePaths = CommandLineManager.instance.sourcePathsSpecified; } else { CurrentCoverageEvent.autogenerate = CommandLineManager.instance.generateBadgeReport || CommandLineManager.instance.generateHTMLReport || CoveragePreferences.instance.GetBool("AutoGenerateReport", true); CurrentCoverageEvent.createBadges = CommandLineManager.instance.generateBadgeReport || CoveragePreferences.instance.GetBool("GenerateBadge", true); CurrentCoverageEvent.generateHistory = CommandLineManager.instance.generateHTMLReportHistory || CoveragePreferences.instance.GetBool("IncludeHistoryInReport", true); CurrentCoverageEvent.generateHTMLReport = CommandLineManager.instance.generateHTMLReport || CoveragePreferences.instance.GetBool("GenerateHTMLReport", true); CurrentCoverageEvent.generateMetrics = CommandLineManager.instance.generateAdditionalMetrics || CoveragePreferences.instance.GetBool("GenerateAdditionalMetrics", false); CurrentCoverageEvent.usePathStrippingPatterns = CommandLineManager.instance.pathStrippingSpecified; CurrentCoverageEvent.useSourcePaths = CommandLineManager.instance.sourcePathsSpecified; CurrentCoverageEvent.useDefaultAssemblyFilters = !CommandLineManager.instance.assemblyFiltersSpecified; if (!CommandLineManager.instance.assemblyFiltersSpecified) { CurrentCoverageEvent.useDefaultAssemblyFilters = string.Equals(CoveragePreferences.instance.GetString("IncludeAssemblies", AssemblyFiltering.GetUserOnlyAssembliesString()), AssemblyFiltering.GetUserOnlyAssembliesString(), StringComparison.InvariantCultureIgnoreCase); } CurrentCoverageEvent.useDefaultPathFilters = !CommandLineManager.instance.pathFiltersSpecified; if (!CommandLineManager.instance.pathFiltersSpecified) { CurrentCoverageEvent.useDefaultPathFilters = string.Equals(CoveragePreferences.instance.GetString("PathsToInclude", string.Empty), string.Empty) && string.Equals(CoveragePreferences.instance.GetString("PathsToExclude", string.Empty), string.Empty); } CurrentCoverageEvent.useDefaultResultsLoc = CommandLineManager.instance.coverageResultsPath.Length == 0; if (CommandLineManager.instance.coverageResultsPath.Length == 0) { CurrentCoverageEvent.useDefaultResultsLoc = string.Equals(CoveragePreferences.instance.GetStringForPaths("Path", string.Empty), CoverageUtils.GetProjectPath(), StringComparison.InvariantCultureIgnoreCase); } CurrentCoverageEvent.useDefaultHistoryLoc = CommandLineManager.instance.coverageHistoryPath.Length == 0; if (CommandLineManager.instance.coverageHistoryPath.Length == 0) { CurrentCoverageEvent.useDefaultHistoryLoc = string.Equals(CoveragePreferences.instance.GetStringForPaths("HistoryPath", string.Empty), CoverageUtils.GetProjectPath(), StringComparison.InvariantCultureIgnoreCase); } } #if UNITY_2020_1_OR_NEWER CurrentCoverageEvent.inDebugMode = Compilation.CompilationPipeline.codeOptimization == Compilation.CodeOptimization.Debug; #else CurrentCoverageEvent.inDebugMode = true; #endif if (!runFromCommandLine || (runFromCommandLine && !batchmode && !CommandLineManager.instance.assemblyFiltersSpecified)) { if (CurrentCoverageEvent.actionID == ActionID.ReportOnly) { string includeAssemblies = CoveragePreferences.instance.GetString("IncludeAssemblies", AssemblyFiltering.GetUserOnlyAssembliesString()); string[] includeAssembliesArray = includeAssemblies.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); CurrentCoverageEvent.includedAssemblies = includeAssembliesArray; } } Send(EventName.codeCoverage, CurrentCoverageEvent); ResetEvents(); }