Subject: Re: [MTT users] MTT fail to require MTT::Test::Specify::Simple
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2008-05-13 10:14:32


Ethan -- are you referring to the sample INI file on the core-testers
branch?

On May 13, 2008, at 9:59 AM, Ethan Mallove wrote:

> Are you running on the ompi-core-testers branch? I think I
> see a typo in the INI file. "specify_module" is defined
> twice. Could you try deleting one of the "specify_module"
> lines, and commit the change if it solves your problem?
>
> specify_module = Simple
> simple_pass:tests = &cat("run_list")
> specify_module = Simple
>
> -Ethan
>
>
> On Tue, May/13/2008 02:58:21PM, Wen Hao Wang wrote:
>> Hi Ethan, Thanks for your answer!
>>
>> I run client/mtt with debug model, and found mtt script exited in
>> following code section of lib/MTT/Module.pm.
>>
>> 32 my $str = "require $module";
>> 33 Debug("Evaluating: $str\n");
>> 34 my $check = eval $str;
>>
>> When require error occured, $str was set to
>> "MTT::Test::Specify::Simple
>> Simple". This is not a valid Perl module, so mtt failed. I had no
>> time to
>> probe why/where such value was got. I just modified Module.pm to
>> work
>> around the issue.
>>
>> [root_at_host MTT]# !diff
>> diff primary/Module.pm ./lib/MTT/Module.pm
>> 31a32,38
>>> if ($module =~ m/Simple/)
>>> {
>>> if (length($module) > 26)
>>> {
>>> ($module) = $module =~ m/(.*::Simple)/;
>>> }
>>> }
>>
>> With this workaround, $str was changed back to
>> "MTT::Test::Specify::Simple", and mtt script could continue. Ater
>> all the
>> tests finished, I found some MTT cases failed. For those failed
>> cases, who
>> will probe it? Or how can I probe them? Here list one section that
>> returned error.
>>
>> | command | mpirun -np 2 --mca btl tcp,self --prefix
>> /LTC/MTT/installs/Urs4/install |
>> | | t_win |
>> | duration | 0 seconds |
>> | exit_value | 1 |
>> | result_message | Failed; exit status: 1 |
>> | result_stdout | WIN_BASIC: passed |
>> | | WIN_OVERLAP: passed |
>> | | WIN_OVERLAP2: passed |
>> | | WIN_OVERLAP3: passed |
>> | | LOCK_EPOCH: passed |
>> | | FENCE_EPOCH: failed |
>> | | MISC: passed |
>> | | POST_EPOCH: passed |
>> | | WIN_BASIC: passed |
>> | | WIN_OVERLAP: passed |
>> | | WIN_OVERLAP2: passed |
>> | | WIN_OVERLAP3: passed |
>> | | LOCK_EPOCH: passed |
>> | | FENCE_EPOCH: passed |
>> | | MISC: passed |
>> | | POST_EPOCH: passed |
>> | | t_win: FAILED 1 |
>> | start_timestamp | Tue May 13 04:54:59 2008 |
>> | test_name | t_win |
>> | variant | 2 |
>>
>> Wen Hao Wang (******)
>>
>> Software Engineer
>> IBM China Software Development Laboratory
>> Email: wangwhao_at_[hidden]
>> Tel: 86-10-82451055
>> Fax: 86-10-82782244 ext. 2312
>> Address: 5/F, Deshi Building, No.9 East Road Shangdi, Haidian
>> District,
>> Beijing, 100085, P.R.China
>>
>> Inactive hide details for Ethan Mallove
>> <ethan.mallove_at_[hidden]>Ethan
>> Mallove <ethan.mallove_at_[hidden]>
>>
>> Ethan Mallove To General user
>> list for the
>> <ethan.mallove_at_[hidden]> MPI Testing Tool
>> Sent by: <mtt-users_at_[hidden]
>> >
>> mtt-users-bounces_at_[hidden] cc Brad Benton
>> <brad.benton_at_[hidden]
>> >
>> 2008-05-12 22:33 Subject Re: [MTT users]
>> MTT fail
>> to require
>> +----------------------------+
>> MTT::Test::Specify::Simple
>> | Please respond to |
>> | General user list for the |
>> | MPI Testing Tool |
>> | <mtt-users_at_[hidden]> |
>> +----------------------------+
>>
>> It is odd that a "require" failed like this in the Test Run
>> phase. I would have expected an earlier "require" to fail
>> (e.g., in the MPI Install phase). I've never run MTT as root
>> before. Does root have read-access to Specify/Simple.pm? If
>> not, can you do the below command in the top-level MTT
>> directory?
>>
>> $ chmod -R a+r ./lib
>>
>> FWIW, I was able to get a simple "require" to fail by
>> tweaking read permissions:
>>
>> $ echo "package Foo; 1;" > Foo.pm
>> $ perl -e 'require Foo;'
>> $ ls -l Foo.pm
>> -rw-r--r-- 1 em162155 staff 16 May 12 10:29 Foo.pm
>>
>> Remove read permissions:
>>
>> $ chmod a-r Foo.pm
>> Can't locate Foo.pm in @INC (@INC contains:
>> /ws/ompi-tools/lib/perl5/5.8.8 /usr/perl5/5.8.4/lib/sun4-
>> solaris-64int
>> /usr/perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/sun4-solaris-64int
>> /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl
>> /usr/perl5/vendor_perl/5.8.4/sun4-solaris-64int
>> /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl .) at -e line
>> 1.
>> BEGIN failed--compilation aborted at -e line 1.
>>
>> -Ethan
>>
>> On Sun, May/11/2008 02:57:15PM, Wen Hao Wang wrote:
>>> Hi all:
>>>
>>> I run MTT on RHEL5.2 Server of x86_32 arch. Only four lines were
>> changed
>>> in the samples/ompi-core-template.ini:
>>>
>>> #mttdatabase_url = https://www.open-mpi.org/mtt/submit/
>>> mttdatabase_username = <my_user>
>>> mttdatabase_password = <my_password>
>>> mttdatabase_platform = <my_platform>
>>>
>>> The script run for about one hour and aborted, saying error to
>> require
>>> MTT::Test::Specify::Simple. Does anyone have comments? Thanks in
>> advance!
>>> Moreover, does MTT has log for its execution?
>>>
>>> [root_at_valiant MTT]# client/mtt --trial -d --force -f
>>> samples/ompi-core-template.ini
>>> ...
>>>>> Running with [ompi-nightly-v1.2] / [1.2.7a0r18267] / [gcc
>> warnings]
>>> Found MPI details: [mpi details: open mpi]
>>> Using [mpi details: open mpi] with [MPI Install: gcc warnings]
>>> Evaluating: # We can exit if the test passed or was skipped (i.e.,
>> there's
>>> no need
>>> # to cleanup).
>>> if test "$MTT_TEST_RUN_RESULT" = "passed" -o
>>> "$MTT_TEST_RUN_RESULT" =
>>> "skipped"; then
>>> exit 0
>>> fi
>>>
>>> if test "$MTT_TEST_HOSTFILE" != ""; then
>>> args="--hostfile $MTT_TEST_HOSTFILE"
>>> elif test "$MTT_TEST_HOSTLIST" != ""; then
>>> args="--host $MTT_TEST_HOSTLIST"
>>> fi
>>> orterun $args -np $MTT_TEST_NP --prefix $MTT_TEST_PREFIX
>>> mtt_ompi_cleanup.pl
>>> Got final exec: mpirun &if(&have_hostfile(), "&join("--hostfile ",
>>> "&hostfile()")", "&if(&have_hostlist(), "&join("--host ",
>>> "&hostlist()")", "")") -np &test_np() &enumerate( "--mca btl
>>> sm,tcp,self&if(&eq("&mpi_get_name()", "ompi-nightly-v1.1"), "
>>> --mca btl_tcp_if_include eth0 --mca oob_tcp_if_include eth0 --mca
>>> btl_openib_max_btls 1", "")", "--mca btl
>>> tcp,self&if(&eq("&mpi_get_name()", "ompi-nightly-v1.1"), " --mca
>>> btl_tcp_if_include eth0 --mca oob_tcp_if_include eth0 --mca
>>> btl_openib_max_btls 1", "")") --prefix &test_prefix()
>> &test_executable()
>>> &test_argv()
>>> chdir /LTC/MTT/installs/AYrM/tests/onesided/onesided
>>> Evaluating: require MTT::Test::Specify::Simple
>>> Simple
>>> *** ERROR: Module aborted during require:
>>> MTT::Test::Specify::Simple
>>> Simple: syntax error at (eval 45608) line 4, near "require
>>> MTT::Test::Specify::Simple
>>> Simple
>>> "
>>> [root_at_valiant MTT]# echo $?
>>> 25
>>> [root_at_valiant MTT]# find . -name Simple.pm
>>> ./lib/MTT/Test/Specify/Simple.pm
>>>
>>> Wen Hao Wang
>>> Email: wangwhao_at_[hidden]
>>>
>>> References
>>>
>>> Visible links
>>> . https://www.open-mpi.org/mtt/submit/
>>
>>> _______________________________________________
>>> mtt-users mailing list
>>> mtt-users_at_[hidden]
>>> http://www.open-mpi.org/mailman/listinfo.cgi/mtt-users
>>
>> _______________________________________________
>> mtt-users mailing list
>> mtt-users_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/mtt-users
>>
>> References
>>
>> Visible links
>> . https://www.open-mpi.org/mtt/submit/
>> . https://www.open-mpi.org/mtt/submit/
>> . http://www.open-mpi.org/mailman/listinfo.cgi/mtt-users
>> . http://www.open-mpi.org/mailman/listinfo.cgi/mtt-users
>
>
>
>
>
>> _______________________________________________
>> mtt-users mailing list
>> mtt-users_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/mtt-users
>
> _______________________________________________
> mtt-users mailing list
> mtt-users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/mtt-users

-- 
Jeff Squyres
Cisco Systems