Welcome, Guest!

Bug with reading config file

Bug with reading config file

by forums on Tuesday September 18, 2007, 01:35 PM

Hi,


I've had a problem with reading configuration file while NCoverExplorerConsole starting. In any case NCoverExplorer uses default config file.


I've looked to your code by reflector, and found a strange part of code:



<table>

<tr>
<td>

<font>public</font> ConsoleOptions(<font>string</font>[] args) : <font>base</font>(<font>args</font>)

{
<font>this</font>.<font>_configFileName</font> = <font>""</font>;
<font>this</font>.<font>_failIfBelowMinimum</font> = <font>false</font>;
<font>this</font>.<font>_minimumCoverage</font> = <font>100f</font>;
<font>this</font>.<font>_projectName</font> = <font>""</font>;
<font>this</font>.<font>_reportType</font> = <font>ReportType</font>.<font>ModuleSummary</font>;
<font>this</font>.<font>_xmlReportFileName</font> = <font>""</font>;
<font>this</font>.<font>_htmlReportFileName</font> = <font>""</font>;
<font>this</font>.<font>_mergeFileName</font> = <font>""</font>;
<font>this</font>.<font>_showExcludedFooter</font> = <font>false</font>;
<font>this</font>.<font>_treeSort</font> = <font>""</font>;
<font>this</font>.<font>_treeSortStyle</font> = <font>TreeSortStyle</font>.<font>Name</font>;
<font>this</font>.<font>_treeFilter</font> = <font>""</font>;
<font>this</font>.<font>_treeFilterStyle</font> = <font>TreeFilterStyle</font>.<font>None</font>;
<font>this</font>.<font>_isNoLog</font> = <font>false</font>;
<font>if</font> (((<font>args</font>.<font>Length</font> == <font>0</font>) || (<font>args</font>[<font>0</font>] == <font>"/?"</font>)) || ((<font>args</font>[<font>0</font>].<font>ToLower</font>() == <font>"/help"</font>) || !<font>base</font>.<font>HasCoverageFileName</font>))
{
<font>this</font>.<font>Help</font>();
}
}
</td></tr></table>


go to base class constructor:



<table>

<tr>
<td>

<font>public</font> CommandLineOptions(<font>string</font>[] args)

{
<font>this</font>.<font>_ParseStartupArguments</font>(<font>args</font>);
}
where overridden method do the work
<table><tr><td>
<font>protected</font> <font>override</font> <font>void</font> ValidateAndAssignArgument(<font>string</font> name, <font>string</font> value)

{
<font>switch</font> (<font>name</font>.<font>ToLower</font>())
{
<font>case</font> <font>"c"</font>:
<font>case</font> <font>"config"</font>:
<font>this</font>.<font>_configFileName</font> = <font>value</font>;
<font>return</font>;
...
</td></tr></table>}
</td></tr></table>


So, as I understand we validating and assigning command line arguments first in the base class, and than clean their values in ConsoleOptions constructor.


 


Thank you,


Pavel Cherezov