## name passes by assigning error variable
## failures 0
## cut
my $error = open( $filehandle, $mode, $filename );
my $error = open $filehandle, $mode, $filename;
my $error = open OPEN, $open, 'open';
my $error = open OR, $or, 'or';
#-----------------------------------------------------------------------------
## name passes by "or die"
## failures 0
## cut
open $filehandle, $mode, $filename or die 'could not open';
open( $filehandle, $mode, $filename ) or die 'could not open';
open( $filehandle, $mode, $filename ) or croak 'could not open';
#-----------------------------------------------------------------------------
## name passes by "|| die"
## failures 0
## cut
open $filehandle, $mode, $filename or die 'could not open';
open( $filehandle, $mode, $filename ) || die 'could not open';
open( $filehandle, $mode, $filename ) || croak 'could not open';
#-----------------------------------------------------------------------------
## name passes by "unless"
## failures 0
## cut
die unless open( $filehandle, $mode, $filename );
die unless open $filehandle, $mode, $filename;
croak unless open( $filehandle, $mode, $filename );
croak unless open $filehandle, $mode, $filename;
#-----------------------------------------------------------------------------
## name passes by "if not"
## failures 0
## cut
die if not open( $filehandle, $mode, $filename );
die if not open $filehandle, $mode, $filename;
croak if not open( $filehandle, $mode, $filename );
croak if not open $filehandle, $mode, $filename;
die if !open( $filehandle, $mode, $filename );
die if !open $filehandle, $mode, $filename;
croak if !open( $filehandle, $mode, $filename );
croak if !open $filehandle, $mode, $filename;
#-----------------------------------------------------------------------------
## name passes with "if" statement
## failures 0
## cut
if ( open( $filehandle, $mode, $filename ) ) { dosomething(); };
#-----------------------------------------------------------------------------
## name Basic failure with parens
## failures 2
## cut
open( $filehandle, $mode, $filename );
open( $filehandle, $filename );
#-----------------------------------------------------------------------------
## name Basic failure no parens
## failures 2
## cut
open $filehandle, $mode, $filename;
open $filehandle, $filename;
#-----------------------------------------------------------------------------
## name Fatal.pm on
## failures 0
## cut
use Fatal qw(open);
open $filehandle, $filename;
#-----------------------------------------------------------------------------
## name Fatal.pm on
## failures 0
## cut
use Fatal 'open';
open $filehandle, $filename;
#-----------------------------------------------------------------------------
## name Fatal.pm on
## failures 0
## cut
use Fatal ('open');
open $filehandle, $filename;
#-----------------------------------------------------------------------------
## name Fatal::Exception on
## failures 0
## cut
use Fatal::Exception 'Exception' => qw(open);
open $filehandle, $filename;
#-----------------------------------------------------------------------------
## name Fatal.pm off
## failures 1
## cut
use Fatal qw(close);
open $filehandle, $filename;
#-----------------------------------------------------------------------------
## name passes by assigning error variable
## failures 0
## cut
my $error = close( $filehandle );
my $error = close $filehandle;
my $error = close CLOSE;
my $error = close OR;
#-----------------------------------------------------------------------------
## name passes by "or die"
## failures 0
## cut
close $filehandle or die 'could not close';
close ($filehandle) or die 'could not close';
close ($filehandle) or croak 'could not close';
#-----------------------------------------------------------------------------
## name passes by "|| die"
## failures 0
## cut
close $filehandle || die 'could not close';
close ($filehandle) || die 'could not close';
close ($filehandle) || croak 'could not close';
#-----------------------------------------------------------------------------
## name passes by "unless"
## failures 0
## cut
die unless close ( $filehandle );
die unless close $filehandle;
croak unless close ( $filehandle );
croak unless close $filehandle;
#-----------------------------------------------------------------------------
## name passes by "if not"
## failures 0
## cut
die if not close ( $filehandle );
die if not close $filehandle;
croak if not close ( $filehandle );
croak if not close $filehandle;
die if !close ( $filehandle );
die if !close $filehandle;
croak if !close ( $filehandle );
croak if !close $filehandle;
#-----------------------------------------------------------------------------
## name passes with "if" statement
## failures 0
## cut
if ( close $filehandle ) { dosomething(); };
#-----------------------------------------------------------------------------
## name Basic failure with parens
## failures 1
## cut
close( $filehandle );
#-----------------------------------------------------------------------------
## name Basic failure no parens
## failures 1
## cut
close $filehandle;
#-----------------------------------------------------------------------------
## name Fatal.pm on
## failures 0
## cut
use Fatal qw(close);
close $filehandle;
#-----------------------------------------------------------------------------
## name Fatal.pm on
## failures 0
## cut
use Fatal 'close';
close $filehandle;
#-----------------------------------------------------------------------------
## name Fatal.pm on
## failures 0
## cut
use Fatal ('close');
close $filehandle;
#-----------------------------------------------------------------------------
## name Fatal::Exception on
## failures 0
## cut
use Fatal::Exception 'Exception' => qw(close);
close $filehandle;
#-----------------------------------------------------------------------------
## name Fatal.pm off
## failures 1
## cut
use Fatal qw(open);
close $filehandle;
#-----------------------------------------------------------------------------
## name autodie on via no parameters
## failures 0
## cut
use autodie;
close $filehandle;
#-----------------------------------------------------------------------------
## name autodie on via :io
## failures 0
## cut
use autodie qw< :io >;
close $filehandle;
#-----------------------------------------------------------------------------
## name autodie off
## failures 1
## cut
use autodie qw< :system >;
close $filehandle;
#-----------------------------------------------------------------------------
## name autodie on and off
## failures 1
## TODO need to handle autodie lexically.
## cut
use autodie;
{
no autodie;
close $filehandle;
}
#-----------------------------------------------------------------------------
## name no config
## failures 0
## cut
accept NEWSOCK, SOCKET;
#-----------------------------------------------------------------------------
## name config with single function
## parms {functions => 'accept'}
## failures 1
## cut
accept NEWSOCK, SOCKET;
#-----------------------------------------------------------------------------
## name config with :builtins
## parms {functions => ':builtins'}
## failures 1
## cut
accept NEWSOCK, SOCKET;
#-----------------------------------------------------------------------------
## name config with :builtins except print with failure
## parms {functions => ':builtins', exclude_functions => 'print'}
## failures 1
## cut
accept NEWSOCK, SOCKET;
#-----------------------------------------------------------------------------
## name config with :builtins except print with failure
## parms {functions => ':builtins', exclude_functions => 'print'}
## failures 0
## cut
print 'Foo!';
#-----------------------------------------------------------------------------
## name insane config with failures
## parms {functions => ':all'}
## failures 2
## cut
sub foo {
return 1;
}
foo();
#-----------------------------------------------------------------------------
## name insane config without failures
## parms {functions => ':all'}
## failures 0
## cut
sub foo {
return 1 or die;
}
foo() or die;
#-----------------------------------------------------------------------------
## name insane config with excluded function
## parms {functions => ':all', exclude_functions => 'foo'}
## failures 0
## cut
foo();
#-----------------------------------------------------------------------------
## name RT #37487 - complain about use of say
## failures 1
## cut
say 'The sun is a mass of incandessent gas';
#-----------------------------------------------------------------------------
##############################################################################
# $URL: http://perlcritic.tigris.org/svn/perlcritic/trunk/distributions/Perl-Critic/t/InputOutput/RequireCheckedSyscalls.run $
# $Date: 2009-09-07 14:08:20 -0700 (Mon, 07 Sep 2009) $
# $Author: clonezone $
# $Revision: 3626 $
##############################################################################
# Local Variables:
# mode: cperl
# cperl-indent-level: 4
# fill-column: 78
# indent-tabs-mode: nil
# c-indentation-style: bsd
# End:
# ex: set ts=8 sts=4 sw=4 tw=78 ft=perl expandtab shiftround :