Open MPI logo

MTT Devel Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all MTT Devel mailing list

Subject: Re: [MTT devel] Best way to run ftb_database_server and ftb_agent
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2010-11-08 15:42:07


Sorry for jumping in late -- been swamped recently...

In the MPI details section, there's 4 fields that should let you do what you want.

before_any_exec -- run once before all the tests in a given Test Run
before_each_exec -- run once before every single exec (including all variants)
after_each_exec -- run after after every single exec (include all variants)
after_all_exec -- run after all tests in a given Test Run section have completed

So you can use the before_any_exec / after_all_exec to launch the daemons once at the beginning and then take them down, or you can use before_each_exec / after_each_exec to launch the daemons before each test and then take them down at the end of that test.

I'm assuming that the *each* variants will cause your tests to run much slower.

I see that we don't have an MPI Details section on the wiki describing these parameters. Sorry! :-(

On Nov 7, 2010, at 10:05 AM, DongInn Kim wrote:

> Hi Josh,
>
> Hmm, I still can not define "mpi_details" in the ini file. Is there something wrong with my ini file?
> DB<32> p $mpi_install->{mpi_details}
>
> DB<33>
>
> DB<33> p Dumper($mpi_install)
> $VAR1 = {
> 'ftb_get_full_section_name' => 'ftb get: ftb-nightly-trunk',
> 'prepend_path' => undef,
> 'mpi_name' => 'ftb-nightly-trunk',
> 'compiler_version' => 'unknown',
> 'pid' => 23511,
> 'elapsed_iters' => '0.02',
> 'bindir' => '/nfs/rinfs/san/homedirs/ftbteam/ftt-runs/odin/20101107-Nightly/pb_0/installs/c1aD/install/bin',
> 'merge_stdout_stderr' => 0,
> 'elapsed_user' => '0',
> 'unsetenv' => undef,
> 'cxx_bindings' => '0',
> 'description' => undef,
> 'f90_bindings' => '0',
> 'exit_status' => undef,
> 'libdir' => '/nfs/rinfs/san/homedirs/ftbteam/ftt-runs/odin/20101107-Nightly/pb_0/installs/c1aD/install/lib',
> 'mpi_get_simple_section_name' => 'ftb-nightly-trunk',
> 'elapsed_real' => 0,
> 'f77_bindings' => '0',
> 'source_dir' => 'ftb-0.6.2',
> 'mpi_version' => '0.6.2',
> 'sym_link_name' => 'ftb-nightly-trunk--platform--0.6.2',
> 'c_bindings' => 1,
> 'full_section_name' => 'ftb install: platform',
> 'vpath_mode' => 0,
> 'elapsed_children_system' => '0.02',
> 'timed_out' => 0,
> 'refcount' => 0,
> 'env_modules' => undef,
> 'elapsed_children_user' => '0',
> 'start_benchmark' => bless( [
> 1289110689,
> '0.4',
> '0.12',
> '2.48',
> '1.8',
> 0
> ], 'Benchmark' ),
> 'version_dir' => '/nfs/rinfs/san/homedirs/ftbteam/ftt-runs/odin/20101107-Nightly/pb_0/installs/c1aD',
> 'build_version_dir' => '/nfs/rinfs/san/homedirs/ftbteam/ftt-runs/odin/20101107-Nightly/pb_0/ftb-install/ohiy',
> 'ftb_get_simple_section_name' => 'ftb-nightly-trunk',
> 'ftb_version' => '0.6.2',
> 'result_message' => 'Success',
> 'append_path' => undef,
> 'configure_arguments' => '"CFLAGS=-g -pipe" --enable-debug ',
> 'installdir' => '/nfs/rinfs/san/homedirs/ftbteam/ftt-runs/odin/20101107-Nightly/pb_0/installs/c1aD/install',
> 'test_result' => 1,
> 'compiler_name' => 'unknown',
> 'build_dir' => '/nfs/rinfs/san/homedirs/ftbteam/ftt-runs/odin/20101107-Nightly/pb_0/ftb-install/ohiy/src/ftb-0.6.2',
> 'simple_section_name' => 'platform',
> 'setenv' => undef,
> 'start_timestamp' => 1289110690,
> 'stop_benchmark' => bless( [
> 1289110689,
> '0.4',
> '0.12',
> '2.5',
> '1.82',
> 0
> ], 'Benchmark' )
> };
>
> DB<34>
>
>
> The ini files that I used are
> general_ini_base = $HOME/iu-ftt/odin/etc/general
> general_ini = generic-subs2.config
>
> specific_ini_base = $HOME/iu-ftt/etc/ftt2
> specific_ini = BEGIN
> g-br-trunk,i-32gccFT,ftb
> END
>
> It seems that mtt does not pickup the entries that I put in generic-sub2.config.
> #----------------------------------------------------------------------
> #----------------------------------------------------------------------
> <IU SUB - OMPI DETAILS COMMON FTB TEST>
> [FTB Details: ftb]
> exec = ./run-ftb-tests.pl -test &test_executable()
>
> <IU SUB - OMPI DETAILS COMMON FTB TEST>
> #----------------------------------------------------------------------
> #----------------------------------------------------------------------
>
>
> So, I manually added the line "exec = ./run-ftb-tests.pl -test &test_executable()" into the auto-generated ini file "20101107-Nightly/ini/g-br-trunk_i-32gccFT_ftb-gen" and I did not put "mpi_details" entry to it because it does not seem to be added there and it should be defined in generic-sub2.config.
>
> Anyway, this tweak did not work either. :-(
>
> Any helps would be really appreciated. I attached the current ftb.ini file.
>
>
>
>
>
> This is the "test run" hash entry in Dumper($ini).
>
>
> 'test run: ftb' => {
> 'simple_pass:tests' => '&enumerate( "ftb_eventhandle_example", "ftb_example_callback_unsubscribe", "ftb_multiplecomp",
> "ftb_notify_logger", "ftb_pingpong", "ftb_polling_logger", "ftb_simple_publisher", "ftb_simple_subscriber", "ftb_watchdog")',
> 'np' => '&env_max_procs()',
> 'simple_fail:exclusive' => '1',
> 'include_section' => 'Test run',
> 'test_build' => 'ftb',
> 'specify_module' => 'Simple',
> 'ini_section_name' => 'ftb',
> 'timeout' => '&max(30, &multiply(10, &test_np()))',
> 'merge_stdout_stderr' => '1',
> 'exec' => './run-ftb-tests.pl -test &test_executable()',
> 'pass' => '&and(&cmd_wifexited(), &eq(&cmd_wexitstatus(), 0))',
> 'simple_fail:tests' => 'environment/abort environment/final',
> 'program_dir' => '/u/ftbteam/projects/mtt/client',
> 'simple_fail:np' => '&env_max_procs()',
> 'program_name' => '/u/ftbteam/projects/mtt/client/ftt',
> 'skipped' => '&and(&cmd_wifexited(), &eq(&cmd_wexitstatus(), 77))',
> 'simple_fail:pass' => '&and(&cmd_wifexited(), &ne(&cmd_wexitstatus(), 0))',
> 'ini_name' => '/u/ftbteam/ftt-runs/odin/20101107-Nightly/ini/g-br-trunk_i-32gccFT_ftb-gen',
> 'stdout_save_lines' => '100',
> 'save_stdout_on_pass' => '1'
> },
>
>
> This is the hash entry of $test_build during the "Test Run" phase.
> DB<22> p Dumper($test_build)
> $VAR1 = {
> 'full_section_name' => 'test build: ftb',
> 'prepend_path' => undef,
> 'refcount' => 0,
> 'env_modules' => undef,
> 'ftb_get_simple_section_name' => 'ftb-nightly-trunk',
> 'ftb_install_id' => undef,
> 'ftb_version' => '0.6.2',
> 'unsetenv' => undef,
> 'result_message' => 'Success',
> 'append_path' => undef,
> 'ftb_name' => undef,
> 'ftb_install_simple_section_name' => 'platform',
> 'test_result' => 1,
> 'description' => undef,
> 'exit_status' => 0,
> 'simple_section_name' => 'ftb',
> 'setenv' => undef,
> 'srcdir' => '/nfs/rinfs/san/homedirs/ftbteam/ftt-runs/odin/20101107-Nightly/pb_0/installs/c1aD/tests/ftb/components',
> 'start_timestamp' => 1289110730,
> 'test_get_simple_section_name' => 'ftb'
> };
>
>
>
> I am sorry for all the bulky copy and pastes.
>
> Regards,
>
> On 11/6/10 2:31 AM, DongInn Kim wrote:
>> Josh, thanks but actually I don't know how to set the base directory of the test suite in the Test Get/Build phase. Is it setup in the ini file or somewhere? and how?
>>
>> Regards,
>>
>> On 11/5/10 11:32 AM, Joshua Hursey wrote:
>>>
>>> On Nov 5, 2010, at 10:11 AM, DongInn Kim wrote:
>>>
>>>> Josh, I have another question.
>>>> How can mtt find the script to run?
>>>>>> exec = ./run-cr-correctness.pl -test ...
>>>>
>>>> I can write a similar script like run-correctness.pl but if I put my script(e.g., run-ftb-tests.pl) to ftb-tests/iu/ftt/ftb/, how can I make mtt recognize this path and file?
>>>
>>> The file is in the ompi-tests repo, under:
>>> ompi-tests/iu/ft/correctness/run-correctness.pl
>>>
>>> Remember that the Test Run phase will 'cd' into the base directory of the test suite that you specify in the Test Get/Build phase. So you can reference a relative path with respect to the test suite. So just put the script in with the test suite, and the Test Get phase will grab it for you.
>>>
>>> -- Josh
>>>
>>>>
>
> --
> - DongInn
> <ftb.ini>_______________________________________________
> mtt-devel mailing list
> mtt-devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/mtt-devel

-- 
Jeff Squyres
jsquyres_at_[hidden]
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/