Subject: Re: [MTT users] MTT fail to require MTT::Test::Specify::Simple
From: Wen Hao Wang (wangwhao_at_[hidden])
Date: 2008-05-13 02:58:21


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



                                                                           
             Ethan Mallove
             <ethan.mallove_at_su
             n.com> To
             Sent by: General user list for the MPI
             mtt-users-bounces Testing Tool
             @open-mpi.org <mtt-users_at_[hidden]>
                                                                        cc
                                       Brad Benton
             2008-05-12 22:33 <brad.benton_at_[hidden]>
                                                                   Subject
                                       Re: [MTT users] MTT fail to require
             Please respond to MTT::Test::Specify::Simple
             General user list
                for the MPI
               Testing Tool
             <mtt-users_at_open-m
                  pi.org>
                                                                           
                                                                           




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




graycol.gif
pic03293.gif
ecblank.gif