#! /usr/local/bin/perl -w # vim: tabstop=4 # $Id: test.pl,v 1.6 2005/09/27 23:16:23 guido Exp $ # Portable character conversion for Perl. # Copyright (C) 2002-2004 Guido Flohr , # all rights reserved. # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU Library General Public License as published # by the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Library General Public License for more details. # You should have received a copy of the GNU Library General Public # License along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, # USA. # This is a safe wrapper for systems that lack a POSIX shell or have # a too low limit on the length of the command line. use strict; use File::Basename; use Test::Harness; use File::Spec; sub test_harness; my $here = dirname ($0); my $test_dir = $here . '/tests'; my @lib_dirs = ($here . '/blib/lib', $here . '/blib/arch'); local *DIR; opendir DIR, $test_dir or die "cannot open test directory '$test_dir': $!"; @ARGV = sort map $test_dir . '/' . $_, grep /\.t$/, readdir DIR; closedir DIR; test_harness ($ENV{TEST_HARNESS} || 0, @lib_dirs); sub test_harness { $Test::Harness::verbose = shift; local @INC = @INC; unshift @INC, map { File::Spec->rel2abs($_) } @_; my $name = $0; $name =~ s,test\.pl$,xs_disabled,; local *HANDLE; open HANDLE, "<$name" or die "cannot open '$name': $!"; my $xs_disabled = ; if ($xs_disabled) { Test::Harness::runtests (grep { ! /_xs.t$/ } sort {lc $a cmp lc $b } @ARGV); } else { Test::Harness::runtests (sort {lc $a cmp lc $b } @ARGV); } } __END__ Local Variables: mode: perl perl-indent-level: 4 perl-continued-statement-offset: 4 perl-continued-brace-offset: 0 perl-brace-offset: -4 perl-brace-imaginary-offset: 0 perl-label-offset: -4 cperl-indent-level: 4 cperl-continued-statement-offset: 2 tab-width: 4 End: