On Nov 12, 2010, at 11:08 AM, DongInn Kim wrote:
> Hi,
>
> MTT::Test::Specify::Simple::Specify(/nfs/rinfs/san/homedirs/ftbteam/svn/mtt_trunk/lib/MTT/Test/Specify/Simple.pm:130):
> 130: if (-x $t or $MTT::DoCommand::no_execute) {
> DB<51> p $t
> ftb_watchdog
>
>
> Here is the step to add a executable test to a hash reference($ret) if $t is
> executable or $MTT::DoCommand::no_execute is true.
> $t is pointing to "ftb_watchdog" which is one of the FTB test program,
> executable, but not on $PATH.
>
> Are we supposed to setup the $PATH to make the test program executable at
> this time? If so, does mtt have a simple way to do so?
Where is this executable built -- during MPI::Install? Is it installed
somewhere? If you're using the GNU configure install module (or something that
uses that module), then MTT should call "./configure --prefix=<foo>", where
<foo> is a directory that MTT created for installation. It should then
automatically add <foo>/bin to $PATH, etc.
So I think the real question is: who makes the ftb_watchdog executable? Is it
part of ./configure && make in MPI::Install, or something else?
> What does "$MTT::DoCommand::no_execute" do actually?
It is the mtt_client's --no-execute flag. It is basically like "show me what
you would do if you executed" (but not quite).
> For your convenience, I just copy and paste the part related to adding the
> executable tests to the hash reference in MTT/Test/Specify/Simple.pm
> # Now go through those groups and make the final list of tests to pass
> # upwards
> foreach my $group (keys %$params) {
>
> # Go through the list of tests and create an entry for each
> foreach my $t (@{$params->{$group}->{tests}}) {
> # If it's good, add a hash with all the values into the
> # list of tests
> if (-x $t or $MTT::DoCommand::no_execute) {
> my $one;
> # Do a deep copy of the defaults
> %{$one} = %{$config};
>
> # Set the test name
> $one->{executable} = $t;
> Debug(" Adding test: $t (group: $group)\n");
>
> # Set all the other names that were specified for this
> # group
> foreach my $key (keys %{$params->{$group}}) {
> next
> if ($key eq "tests");
> if ($key =~ /^mpi_details:/) {
> $key =~ m/^mpi_details:(.+)/;
> $one->{mpi_details}->{$1} = $params->{$group}->{$key};
> } else {
> $one->{$key} = $params->{$group}->{$key};
> }
> }
>
> # Save it on the final list of tests
> push(@{$ret->{tests}}, $one);
> }
> }
> }
>
> # All done
> $ret->{test_result} = 1;
> return $ret;
> }
>
>
>
> Regards,
>
> --
> - DongInn
> _______________________________________________
> mtt-devel mailing list
> [email protected]
> http://www.open-mpi.org/mailman/listinfo.cgi/mtt-devel
--
Jeff Squyres
[email protected]
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/