in reply to Error running prove "Archive is not a known format type! at /usr/lib/perl5/5.8.8/App/Prove.pm line 538."

Not very much info to go on (the version number of the module that you're using would be good, e.g. perl -MApp::Prove -le 'print $App::Prove::VERSION'), but:

Perhaps the arguments prove -r test/ and those provided by find ... | xargs prove ... are in conflict?

Have you tried running the find command by itself to check that it only selects those tests that you want?

Also, try running prove -v --norc -formatter=TAP::Formatter::JUnit TESTFILE for those tests individually until you run into the problem.

  • Comment on Re: Error running prove "Archive is not a known format type! at /usr/lib/perl5/5.8.8/App/Prove.pm line 538."
  • Select or Download Code

Replies are listed 'Best First'.
Re^2: Error running prove "Archive is not a known format type! at /usr/lib/perl5/5.8.8/App/Prove.pm line 538."
by kamal (Sexton) on Apr 18, 2014 at 20:48 UTC
    perl -MApp::Prove -le 'print $App::Prove::VERSION' 3.28
    by itself, find runs fine:
    find test/ -name '*.t' | wc 153 153 8012
    prove -v --norc -formatter=TAP::Formatter::JUnit TESTFILE Archive is not a known format type! at /usr/coderyte/lib/perl5/5.8.8/A +pp/Prove.pm line 538.
    prove -r test/ , runs fine, but the output is not in JUnit format so it has to be the TAP Formatter, right ?
    ./perlmodver.sh TAP::Formatter::JUnit TAP::Formatter::JUnit: 0.09
    which seems to be the latest

      so it has to be the TAP Formatter

      No. Looks like it its from https://metacpan.org/source/WONKO/TAP-Harness-Archive-0.14/lib/TAP/Harness/Archive.pm

      # if it's not a format we understand, or it's not a directory $class->_croak("Archive is not a known format type!") unless $format && $ARCHIVE_TYPES{$format}; my (%ARCHIVE_TYPES, @ARCHIVE_EXTENSIONS); BEGIN { %ARCHIVE_TYPES = ( 'tar' => 'tar', 'tar.gz' => 'tar.gz', 'tgz' => 'tar.gz', ); @ARCHIVE_EXTENSIONS = map { ".$_" } keys %ARCHIVE_TYPES; }

      So its your xargs invocatio or its the extra -a/--archive option you're not showing

        as you can see i dont have the -a, or --archive option set, in :
        find test/ -name '*.t' ! -name '*falcon*' | xargs prove -r test/ -form +atter=TAP::Formatter::JUnit | tee test_results.xml