&current_simple_section()  retrieves "active_section" key from
$MTT::Globals::Values hash, which gets its value when
starting Test.[get/build/run] and MPI.[get/install] sequences.
This value is incorrect when read from Reporter context.


The new var @INI_SECTON_NAME@ will represent the ini section name of its
location inside mtt ini file.
I moved %INI_SECTON_NAME% to @VAR@ syntax and put it into
InsertINIPredefines()

Thanks for comment.
regards
Mike


On Tue, Aug 11, 2009 at 5:33 PM, Ethan Mallove <ethan.mall...@sun.com>wrote:

> On Tue, Aug/11/2009 02:53:50PM, Mike Dubman wrote:
> >    Hey Jeff,
> >
> >    This code acts as a pre-processor during loading of ini file into mtt.
> >    It replaces builtin vars %VAR% with their values, for example:
> >
> >    ...
> >    [Test run: trivial]
> >    my_sect_name=%INI_SECTION_NAME%
> >    ...
> >
> >    %INI_SECTION_NAME% get replaced with real value. (trivial)
> >
> >    it is useful in the following situation:
> >
> >    ...
> >    [test run: trivial]
> >    #param=&test_run_name()
> >    param=%INI_SECTION_NAME%
> >    ...
> >
> >    when "param" was accessed from Reporter context, test_run_name() will
> >    return undef, but real value if %INI_SECTION_NAME% is used!
>
> Doesn't &current_simple_section() do the same thing as
> %INI_SECTION_NAME%? There are a couple predefined INI vars already,
> but they use @VAR@ syntax:
>
>  @INI_NAME@
>  @PROGRAM_NAME@
>
> The predefined vars are for strings that can't be known via the
> Config::IniFiles module (e.g., the full path to the INI file and
> client/mtt).
>
> Could you add INI_SECTION_NAME to InsertINIPredefines, and use the
> @VAR@ syntax?
>
> -Ethan
>
> >
> >    regards
> >
> >    Mike
> >
> >    On Tue, Aug 11, 2009 at 2:03 PM, Jeff Squyres <jsquy...@cisco.com>
> wrote:
> >
> >      Mike --
> >
> >      Can you explain what this does?
> >
> >      On Aug 11, 2009, at 4:28 AM, <mi...@osl.iu.edu> wrote:
> >
> >        Author: miked
> >        Date: 2009-08-11 04:28:03 EDT (Tue, 11 Aug 2009)
> >        New Revision: 1306
> >        URL: https://svn.open-mpi.org/trac/mtt/changeset/1306
> >
> >        Log:
> >        added poor-man-inifile-preprocessor
> >        Text files modified:
> >        * trunk/client/mtt * * | * * 3 +++
> >        * trunk/lib/MTT/INI.pm | * *24 ++++++++++++++++++++++++
> >        * 2 files changed, 27 insertions(+), 0 deletions(-)
> >
> >        Modified: trunk/client/mtt
> >        =
> >        =
> >        =
> >        =
> >        =
> >        =
> >        =
> >        =
> >
>  ======================================================================
> >        --- trunk/client/mtt * *(original)
> >        +++ trunk/client/mtt * *2009-08-11 04:28:03 EDT (Tue, 11 Aug 2009)
> >        @@ -652,6 +652,9 @@
> >        * * * * # Expand all the "include_section" parameters
> >        * * * * $unfiltered =
> MTT::INI::ExpandIncludeSections($unfiltered);
> >
> >        + * * * *# Expand all the "%PREDEFINED_VARS%" parameters
> >        + * * * *$unfiltered =
> MTT::INI::ExpandPredefinedVars($unfiltered);
> >        +
> >        * * * * # Keep an unfiltered version of the ini file for error
> >        checking
> >        * * * * my $filtered = dclone($unfiltered);
> >
> >        Modified: trunk/lib/MTT/INI.pm
> >
>  
> ==============================================================================
> >        --- trunk/lib/MTT/INI.pm * * * *(original)
> >        +++ trunk/lib/MTT/INI.pm * * * *2009-08-11 04:28:03 EDT (Tue, 11
> Aug
> >        2009)
> >        @@ -275,6 +275,30 @@
> >        * * return $ini;
> >        *}
> >
> >        +sub ExpandPredefinedVars {
> >        + * *my($ini) = @_;
> >        +
> >        + * *foreach my $section ($ini->Sections) {
> >        + * * * * * * * foreach my $parameter ($ini->Parameters($section))
> {
> >        + * * * * * * * * * * * my $val = $ini->val($section, $parameter);
> >        + * * * * * * * * * * * if ( $val =~ /%INI_SECTION_NAME%/i ) {
> >        + * * * * * * * * * * * * * * * my $sect = $section;
> >        + * * * * * * * * * * * * * * * $sect =~ s/test run://gi;
> >        + * * * * * * * * * * * * * * * $sect =~ s/test build://gi;
> >        + * * * * * * * * * * * * * * * $sect =~ s/test get://gi;
> >        + * * * * * * * * * * * * * * * $sect =~ s/mpi get://gi;
> >        + * * * * * * * * * * * * * * * $sect =~ s/mpi install://gi;
> >        + * * * * * * * * * * * * * * * $sect =~ s/mpi details://gi;
> >        + * * * * * * * * * * * * * * * $sect =~ s/reporter://gi;
> >        + * * * * * * * * * * * * * * * $val =~
> s/%INI_SECTION_NAME%/$sect/g;
> >        + * * * * * * * * * * * * * * * $ini->delval($section,
> $parameter);
> >        + * * * * * * * * * * * * * * * $ini->newval($section, $parameter,
> >        $val);
> >        + * * * * * * * * * * * }
> >        + * * * * * * * }
> >        + * *}
> >        + * *return $ini;
> >        +}
> >        +
> >        *# Worker subroutine for recursive ExpandIncludeSections
> >        *sub _expand_include_sections {
> >        * * my($ini, $section) = @_;
> >        _______________________________________________
> >        mtt-svn mailing list
> >        mtt-...@open-mpi.org
> >        http://www.open-mpi.org/mailman/listinfo.cgi/mtt-svn
> >
> >      --
> >      Jeff Squyres
> >      jsquy...@cisco.com
> >
> >      _______________________________________________
> >      mtt-devel mailing list
> >      mtt-de...@open-mpi.org
> >      http://www.open-mpi.org/mailman/listinfo.cgi/mtt-devel
> >
> > References
> >
> >    Visible links
> >    . mailto:jsquy...@cisco.com
> >    . mailto:mi...@osl.iu.edu
> >    . https://svn.open-mpi.org/trac/mtt/changeset/1306
> >    . mailto:mtt-...@open-mpi.org
> >    . http://www.open-mpi.org/mailman/listinfo.cgi/mtt-svn
> >    . mailto:jsquy...@cisco.com
> >    . mailto:mtt-de...@open-mpi.org
> >    . http://www.open-mpi.org/mailman/listinfo.cgi/mtt-devel
>
> > _______________________________________________
> > mtt-devel mailing list
> > mtt-de...@open-mpi.org
> > http://www.open-mpi.org/mailman/listinfo.cgi/mtt-devel
>
> _______________________________________________
> mtt-devel mailing list
> mtt-de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/mtt-devel
>

Reply via email to