@@ -25,7 +25,12 @@ internal class OpenCoverExeArgumentsProvider : IOpenCoverExeArgumentsProvider
2525 private enum Delimiter { Semicolon , Space }
2626 private void AddFilter ( ICoverageProject project , List < string > opencoverSettings )
2727 {
28- var includeFilters = GetExcludesOrIncludes( project . Settings . Include , project . IncludedReferencedProjects , true ) ;
28+ var includedModules = project. IncludedReferencedProjects. ToList( ) ;
29+ if ( project . Settings . IncludeTestAssembly )
30+ {
31+ includedModules . Add ( project . ProjectName ) ;
32+ }
33+ var includeFilters = GetExcludesOrIncludes ( project . Settings . Include , includedModules , true ) ;
2934 var excludeFilters = GetExcludesOrIncludes( project . Settings . Exclude , project . ExcludedReferencedProjects , false ) ;
3035 AddIncludeAllIfExcludingWithoutIncludes( ) ;
3136 var filters = includeFilters. Concat ( excludeFilters ) . ToList ( ) ;
@@ -39,25 +44,26 @@ void AddIncludeAllIfExcludingWithoutIncludes()
3944 }
4045 }
4146
42- List < string > GetExcludesOrIncludes ( string [ ] excludesOrIncludes , List < string > referencedExcludesOrIncludes , bool isInclude )
47+ List< string > GetExcludesOrIncludes (
48+ IEnumerable < string > excludesOrIncludes , IEnumerable < string > moduleExcludesOrIncludes , bool isInclude )
4349 {
4450 var excludeOrIncludeFilters = new List < string > ( ) ;
4551 var prefix = IncludeSymbol( isInclude ) ;
46- excludesOrIncludes = SanitizeExcludesOrIncludes ( excludesOrIncludes ) . ToArray ( ) ;
52+ var sanitizedExcludesOrIncludes = SanitizeExcludesOrIncludes ( excludesOrIncludes ) ;
4753
48- foreach ( var value in excludesOrIncludes )
54+ foreach ( var value in sanitizedExcludesOrIncludes )
4955 {
5056 excludeOrIncludeFilters . Add ( $@ "{ prefix } { value } ") ;
5157 }
5258
53- foreach ( var includedReferencedProject in referencedExcludesOrIncludes )
59+ foreach ( var moduleExcludeOrInclude in moduleExcludesOrIncludes )
5460 {
55- excludeOrIncludeFilters . Add ( IncludeOrExclude ( isInclude , includedReferencedProject ) ) ;
61+ excludeOrIncludeFilters . Add ( IncludeOrExcludeModule ( isInclude , moduleExcludeOrInclude ) ) ;
5662 }
5763 return excludeOrIncludeFilters . Distinct ( ) . ToList ( ) ;
5864 }
5965
60- string IncludeOrExclude ( bool include , string moduleFilter , string classFilter = "*" )
66+ string IncludeOrExcludeModule ( bool include , string moduleFilter , string classFilter = "*" )
6167 {
6268 var filter = IncludeSymbol( include ) ;
6369 return $"{ filter} [ { moduleFilter} ] { classFilter} ";
@@ -66,7 +72,7 @@ string IncludeOrExclude(bool include,string moduleFilter,string classFilter = "*
6672 string IncludeSymbol( bool include ) => include ? "+" : "-" ;
6773 }
6874
69- private IEnumerable< string > SanitizeExcludesOrIncludes ( string [ ] excludesOrIncludes )
75+ private IEnumerable < string > SanitizeExcludesOrIncludes ( IEnumerable < string > excludesOrIncludes )
7076 {
7177 return ( excludesOrIncludes ?? new string [ 0 ] )
7278 . Where ( x => x != null )
@@ -170,8 +176,6 @@ public List<string> Provide(ICoverageProject project,string msTestPlatformExePat
170176 {
171177 var opencoverSettings = new List < string > ( ) ;
172178 AddTargetAndTargetArgs ( project , opencoverSettings , msTestPlatformExePath ) ;
173- //opencoverSettings.Add(CommandLineArguments.AddQuotes($"-target:{msTestPlatformExePath}"));
174- //opencoverSettings.Add(GetTargetArgs(project));
175179
176180 opencoverSettings . Add ( CommandLineArguments . AddQuotes ( $ "-output:{ project . CoverageOutputFile } ") ) ;
177181
0 commit comments