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@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: wangw...@cn.ibm.com 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@su n.com> To Sent by: General user list for the MPI mtt-users-bounces Testing Tool @open-mpi.org <mtt-us...@open-mpi.org> cc Brad Benton 2008-05-12 22:33 <brad.ben...@us.ibm.com> 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@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@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@valiant MTT]# echo $? > 25 > [root@valiant MTT]# find . -name Simple.pm > ./lib/MTT/Test/Specify/Simple.pm > > Wen Hao Wang > Email: wangw...@cn.ibm.com > > References > > Visible links > . https://www.open-mpi.org/mtt/submit/ > _______________________________________________ > mtt-users mailing list > mtt-us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/mtt-users _______________________________________________ mtt-users mailing list mtt-us...@open-mpi.org http://www.open-mpi.org/mailman/listinfo.cgi/mtt-users