# New Ticket Created by  Mark Glines 
# Please include the string:  [perl #43041]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=43041 >


This test apparently tries to call svn/svk to query the mime-type of
the various source files.  Release tarballs are not valid svn/svk
checkout directories, so this test fails.

Since the directory has no .svn subdirectory, it assumes svk is in use.
Unfortunately, if the "svk" command is installed on the system but the
user has never used it, this check will hang, because svk will prompt
"Repository /root/.svk/local does not exist, create? (y/n)" or similar,
but that prompt is actually sent to /dev/null or somewhere else, and
not the terminal.

Gentoo linux has an option to do a "make test" for perl-related
packages, but the above bug makes the test hang.  Gentoo builds things
as a special user, and it overrides $HOME with a newly created tmpdir,
so svk is guaranteed to hang in this case.

I think the test should only run if a file named "DEVELOPING" exists,
just like the codingstd tests do.

Here's a patch.

Mark
=== t/harness
==================================================================
--- t/harness	(revision 20443)
+++ t/harness	(local)
@@ -161,10 +161,13 @@
 # append the distribution checking tests to the default tests
 my @distro_tests = map { "t/distro/$_" } qw(
     manifest.t
-    file_metadata.t
 );
 push @default_tests, @distro_tests;
 
+# append the file_metadata.t only if we're running in a non-release checkout
+push @default_tests, 't/distro/file_metadata.t'
+    if -e "$Bin/../DEVELOPING";
+
 # collect the coding standard tests (that we want to run) together
 # append them to the list of default tests *only* if this is not a release
 my @coding_std_tests = map { "t/codingstd/$_" } qw(

Reply via email to