perl-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vivek Khera <kh...@kcilink.com>
Subject failure running tests
Date Fri, 03 Jun 2005 17:55:15 GMT
I am building up a virgin FreeBSD 5.4 box to test out my application  
under modperl2.  However, it craps out in the "make test" step... Now  
why does it offer to actually run the test when it *knows* it can't  
run them?  Also, what is the suggested procedure for installing via  
cpan if it can't be run as root?



cpan> install mod_perl2
Running install for module mod_perl2
Running make for G/GO/GOZER/mod_perl-2.0.0.tar.gz
   Is already unwrapped into directory /n/yertle1/cpan/build/ 
mod_perl-2.0.0
   Has already been processed within this session
Running make test
cd "src/modules/perl" && /usr/bin/make
/usr/local/bin/perl -Iblib/arch -Iblib/lib  t/TEST -clean
APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT=  
APACHE_TEST_USER= APACHE_TEST_APXS=  /usr/local/bin/perl -Iblib/arch - 
Iblib/lib  t/TEST -bugreport -verbose=0
[warning] root mode: changing the files ownership to  
'nobody' (65534:65534)
[warning] testing whether 'nobody' is able to -rwx /amd/yertle/u/ 
yertle1/cpan/build/mod_perl-2.0.0/t
"/usr/local/bin/perl" -Mlib=/amd/yertle/u/yertle1/cpan/build/ 
mod_perl-2.0.0/Apache-Test/lib -MApache::TestRun -e 'eval  
{ Apache::TestRun::run_root_fs_test(65534, 65534, q[/amd/yertle/u/ 
yertle1/cpan/build/mod_perl-2.0.0/t]) }';


[warning] result:
[  error] You are running the test suite under user 'root'.
Apache cannot spawn child processes as 'root', therefore
we attempt to run the test suite with user 'nobody' (65534:65534).
The problem is that the path (including all parent directories):
   /amd/yertle/u/yertle1/cpan/build/mod_perl-2.0.0/t
must be 'rwx' by user 'nobody', so Apache can read and write under that
path.

There are several ways to resolve this issue. One is to move and
rebuild the distribution to '/tmp/' and repeat the 'make test'
phase. The other is not to run 'make test' as root (i.e. building
under your /home/user directory).

You can test whether some directory is suitable for 'make test' under
'root', by running a simple test. For example to test a directory
'/amd/yertle/u/yertle1/cpan/build/mod_perl-2.0.0/t', run:

   % "/usr/local/bin/perl" -Mlib=/amd/yertle/u/yertle1/cpan/build/ 
mod_perl-2.0.0/Apache-Test/lib -MApache::TestRun -e 'eval  
{ Apache::TestRun::run_root_fs_test(65534, 65534, q[/amd/yertle/u/ 
yertle1/cpan/build/mod_perl-2.0.0/t]) }';

Only if the test prints 'OK', the directory is suitable to be used for
testing.



Running the test suite is important to make sure that the module that
you are about to install works on your system. If you choose not to
run the test suite and you have a problem using this module, make sure
to return and run this test suite before reporting any problems to the
developers of this module.

Skip the test suite? [No]
*** Error code 1

Stop in /amd/yertle/u/yertle1/cpan/build/mod_perl-2.0.0.
   /usr/bin/make test -- NOT OK
Running make install
   make test had returned bad status, won't install without force

cpan>


Vivek Khera, Ph.D.
+1-301-869-4449 x806



Mime
View raw message