I am sorry that I was confused with the variable definition. My question should 
be how "$MP::Test::builds" is defined.

Regards,

On 11/4/10 1:42 PM, DongInn Kim wrote:
> Thank you for all the detailed explanations, Jeff.
> 
> Yes, if we can manage the MPI part with more generic term, that would be 
> really great so that we can use the same main framework without diverging to 
> another perl module to deal with FTT or something like this.
> 
> Basically, how the "$MTT" is defined and setup in "$MTT::Test::builds"?
> 
> It is used in MTT/Test/Run.pm and I could not find how it is defined. If I 
> find it, I think I can figure out what is going on here.
> 
> Regards,
> 
> On 11/4/10 11:54 AM, Jeff Squyres wrote:
>> On Nov 4, 2010, at 8:46 AM, Joshua Hursey wrote:
>>
>>> Just for context. DongInn and Abhishek are working on support for testing 
>>> of the CIFTS FTB project with MTT. So this would be a non-MPI testing 
>>> target. They are currently working through some of the issues with 
>>> supporting an FTB target in the MTT client. I am working with them on 
>>> getting a new server setup (i.e., database, reporter) for that project.
>>
>> It might be worthwhile to s/MPI/Middleware/gi throughout the code, or, more 
>> specifically, support both "Middleware Install" and "MPI Install" tags in 
>> the ini file, etc.
>>
>> (i.e., we can't ditch "MPI Install" and friends because of the OMPI 
>> community using MTT, but if CIFTS and HDF are looking at using MTT, it might 
>> make sense to finally make the names a bit more generic)
>>
>>>> I found that the several keys of the hash($MTT::Test::builds) are empty in 
>>>> the middle of mtt/lib/MTT/Test/Run.pm:123 
>>>>
>>>> DB<12> p Dumper(\%{$MTT::Test::builds})
>>>> $VAR1 = {
>>>>         '' => {
>>>>                 '' => {
>>
>> As you surmise below, you're correct: the above two empty fields should be 
>> the names from the MPI Get phase and the corresponding version.
>>
>>>>                         'platform' => {
>>
>> You might want a bit more specific name than "platform" here.  :-)
>>
>>>>                                         'ftb-examples' => {
>>>>                                                             'mpi_version' 
>>>> => undef,
>>
>> IIRC, the MPI::Get module is responsible for setting this value in the data 
>> structure that it returns, and it is propagated downward from there.
>>
>>>>                                                             'mpi_name' => 
>>>> undef,
>>
>> I'm pretty sure that this is the name from the MPI::Install phase.
>>
>>>>                                                             'prepend_path' 
>>>> => undef,
>>>>                                                             'env_modules' 
>>>> => undef,
>>>>                                                             'setenv' => 
>>>> undef,
>>>>                                                             'unsetenv' => 
>>>> undef,
>>>>                                                             'append_path' 
>>>> => undef,
>>
>> These values all come directly from the INI file.  If you didn't supply 
>> them, it's ok for them to be undef.
>>
>> prepend_path is stuff to be prepended to $path before running this section.
>> append_path is the same, except to be appended to $path.
>> setenv is stuff to be set in the environment before running this section.
>> unsetenv is pretty much the same.
>> env_modules are environment modules to be loaded before running this section.
>>
>> All of these cause changes to be effected before the section starts.  The 
>> changes are effectively undone when the section ends (e.g., if an env module 
>> is loaded, it is unloaded when the section ends).
>>
>> These values also automatically propagate downwards -- any test runs that 
>> use this test build section will "inherit" all of these values before any 
>> tests are actually run, etc.
>>
>>>>                                                             'description' 
>>>> => undef,
>>
>> This seems to come from the [MTT] section's "description" field.  I forget 
>> offhand what it is for.  I have "description = Cisco MPI development 
>> cluster" in my Cisco OMPI testing INI file.
>>
>>>>                                                             
>>>> 'mpi_get_simple_section_name' => undef,
>>
>> This is also the name from the MPI::Get phase.
>>
>>>>                                                             
>>>> 'mpi_install_id' => undef,
>>
>> The MPI::Install module is responsible for setting this... although I don't 
>> see where any current MPI::Install module fills in that value.  It might be 
>> left over old kruft.  :-\
>>
> 

-- 
- DongInn

Reply via email to