File: ProhibitEvilModules.run

package info (click to toggle)
libperl-critic-perl 1.156-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,544 kB
  • sloc: perl: 24,092; lisp: 341; makefile: 7
file content (144 lines) | stat: -rw-r--r-- 3,681 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
## name Deprecated Class::ISA
## failures 1
## cut

use Class::ISA;

#-----------------------------------------------------------------------------

## name Deprecated Pod::Plainer
## failures 1
## cut

use Pod::Plainer;

#-----------------------------------------------------------------------------

## name Deprecated Shell
## failures 1
## cut

use Shell;

#-----------------------------------------------------------------------------

## name Deprecated Switch
## failures 1
## cut

use Switch;

#-----------------------------------------------------------------------------

## name 2 evil modules
## parms {modules => 'Evil::Module Super::Evil::Module'}
## failures 2
## cut

use Evil::Module qw(bad stuff);
use Super::Evil::Module;

#-----------------------------------------------------------------------------

## name No evil modules
## parms {modules => ' Evil::Module Super::Evil::Module'}
## failures 0
## cut

use Good::Module;

#-----------------------------------------------------------------------------

## name 2 evil modules, with pattern matching
## parms { modules => '/Evil::/ /Demonic/ ' }
## failures 2
## cut

use Evil::Module qw(bad stuff);
use Demonic::Module

#-----------------------------------------------------------------------------

## name More evil modules, with mixed config
## parms { modules => ' /Evil::/ Demonic::Module /Acme/' }
## failures 4
## cut

use Evil::Module qw(bad stuff);
use Super::Evil::Module;
use Demonic::Module;
use Acme::Foo;

#-----------------------------------------------------------------------------

## name More evil modules, with more pattern matching
## parms { modules => '/Evil::|Demonic::Module|Acme/ ' }
## failures 4
## cut

use Evil::Module qw(bad stuff);
use Super::Evil::Module;
use Demonic::Module;
use Acme::Foo;

#-----------------------------------------------------------------------------

## name Pattern matching exceptions
## parms { modules => '/(/' }
## failures 0
## error /invalid regular expression/
## cut

print 'Hello World';

#-----------------------------------------------------------------------------

## name Providing the description for modules, no regular expressions.
## parms { modules => q' Fatal{Found use of Fatal. Use autodie instead} Getopt::Std {Found use of Getopt::Std. Use Getopt::Long instead} ' }
## failures 2
## cut

use Fatal qw< open close >;
use Getopt::Std;

#-----------------------------------------------------------------------------

## name Providing the description for modules, regular expressions.
## parms { modules => q' /Fatal/{Found use of Fatal. Use autodie instead} /Getopt::Std/ {Found use of Getopt::Std. Use Getopt::Long instead} ' }
## failures 2
## cut

use Fatal qw< open close >;
use Getopt::Std;

#-----------------------------------------------------------------------------

## name Providing the description for modules, no regular expressions.
## parms { modules_file => 't/Modules/ProhibitEvilModules.d/modules-no-regular-expressions.txt' }
## failures 3
## cut

use Evil;
use Fatal qw< open close >;
use Getopt::Std;

#-----------------------------------------------------------------------------

## name Providing the description for modules, regular expressions.
## parms { modules_file => 't/Modules/ProhibitEvilModules.d/modules-regular-expressions.txt' }
## failures 3
## cut

use Evil;
use Fatal qw< open close >;
use Getopt::Std;

#-----------------------------------------------------------------------------
# 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 :