This file is indexed.

/usr/bin/pherkin is in libtest-bdd-cucumber-perl 0.50-1.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

  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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
#!/usr/bin/env perl

=head1 NAME

pherkin - Execute tests written using Test::BDD::Cucumber

=head1 VERSION

version 0.50

=head1 SYNOPSIS

 pherkin
 pherkin some/path/features/

=head1 DESCRIPTION

C<pherkin> accepts a single argument of a directory name, defaulting to
C<./features/> if none is specified. This directory is searched for feature
files (any file matching C<*.feature>) and step definition files (any file
matching C<*_steps.pl>). The step definitions are loaded, and then the features
executed.

Steps that pass are printed in green, those that fail in red, and those for
which there is no step definition - or that are skipped as the result of a
previous failure - as yellow.

C<pherkin> will exit with a non-zero status if (and only if) the overall result
is considered to be failing.

=head1 OPTIONS

Controlling @INC

 -l, --lib              Add 'lib' to @INC
 -b, --blib             Add 'blib/lib' and 'blib/arch' to @INC
 -I [dir]               Add given directory to @INC

Output formatting

 -o, --output           Output harness. Defaults to 'TermColor'. See 'Outputs'
 -c, --theme            Theme for 'TermColor'. `light` or `dark` (default)

Extra Steps

  -s, --steps [path]    Include an extra step file, or directory of step files
                        (as identified by *_steps.pl; multiple use accepted)

Tag specifications

 -t, --tags @tag        Run scenarios tagged with '@tag'
 -t, --tags @tag1,@tag2 Run scenarios tagged with '@tag1' and '@tag2'
 -t, --tags ~@tag       Run scenarios tagged without '@tag'

Configuration profiles (see CONFIGURATION PROFILES below/`man pherkin`)

 -g, --config [path]    A YAML file containing configuration profiles
 -p, --profile [name]   Name of the profile to load from the above config file.
                        Defaults to `default`
 --debug-profile        Shows information about which profile was loaded and how
                        and then terminates

Extensions

 -e Extension::Module   Load an extension. You can place a string in brackets at
                        the end of the module name which will be eval'd and
                        passed to new() for the extension.

Help

 -h, -?, --help         Print usage information.
 --i18n LANG            List keywords for a particular language.
                        '--i18n help' lists all languages available.

=head1 OUTPUTS

C<pherkin> can output using any of the C<Test::BDD::Cucumber::Harness> output
modules. L<Test::BDD::Cucumber::TermColor> is the default, but
L<Test::BDD::Cucumber::TestBuilder> is also a reasonable option:

  pherkin -o TermColor some/path/feature   # The default
  pherkin -o TestBuilder some/path/feature # Test::Builder-type text output

=head1 CONFIGURATION PROFILES

You can specify sets of command line options using a YAML configuration file
with named profiles in it, and the C<-g, --config> and C<-p, --profile> command
line options.

If you don't specify a config file, the following paths are searched (in order)
for one:

 (contents of $ENV{'PHERKIN_CONFIG'})
 .pherkin.yaml
 ./config/pherkin.yaml
 ./.config/pherkin.yaml
 t/.pherkin.yaml
 ~/.pherkin.yaml

The contents of each profile is merged in as if you'd specified it on the
command line. C<default> is used if you didn't specify one. For example:

 default:
   steps:
     - foo/steps
     - ~/steps
   output: TermColor
   tags:
     - tag1,tag2

is equivalent to:

  --steps foo/steps --steps ~/steps --output TermColor --tags tag1,tag2

If you specify both command-line options, and options in a configuration file,
then the command-line ones override single-value items, and are placed at the
end of multi-item ones.

If you specify C<--debug-profile> then information showing which profile is
loaded and how is printed to STDOUT, and then `pherkin` terminates.

=head2 EXTENSION CONFIGURATION

Extensions named in the C<extensions> section of the configuration will
be loaded with the configuration from the configuration file:

 default:
   includes:
      # include location where extensions reside on disk
      - t/lib
   extensions:
      # extension with configuration
      Test::CucumberPush:
          key1: value1
          key2: value2
      # extension without configuration
      Test::CucumberPop:

Notice that contrary to all other configuration parameters, the names
of the extensions are not prefixed with a dash (i.e. '- t/lib' vs
'Test::CucumberPush').

The example above is the equivalent of

  use Test::CucumberPush;
  use Test::CucumberPop;

  Test::CucumberPush->new({ 'key1' => 'value1', 'key2' => 'value2' });
  Test::CucumberPop->new();


=head1 AUTHOR

Peter Sergeant C<pete@clueball.com>

=head1 LICENSE

Copyright 2012-2014, Peter Sergeant; Licensed under the same terms as Perl

=cut

# See App::pherkin for documentation
use strict;
use warnings;
use App::pherkin;

BEGIN {
    if ( not -t STDOUT and not defined $ENV{'ANSI_COLORS_DISABLED'} ) {
        $ENV{'ANSI_COLORS_DISABLED'} = 1;
    }
}

my $result = App::pherkin->new()->run(@ARGV);

exit( $result->result eq 'failing' );