#1272: Problems with codetest on files in ext/ directory (should ext/ be
included
in codetest?)
---------------------+------------------------------------------------------
Reporter: mikehh | Owner:
Type: RFC | Status: new
Priority: normal | Milestone:
Component: testing | Version: 1.7.0
Severity: medium | Keywords:
Lang: | Patch:
Platform: |
---------------------+------------------------------------------------------
Comment(by jkeenan):
Each file in ''t/codingstd/'' contains its own specification of the files
it will test. In most cases, these are determined by calling some
combination of methods from Parrot::Distribution. Example:
''t/codingstd/cuddled_else.t'':
{{{
my $DIST = Parrot::Distribution->new;
my @files = @ARGV ? <@ARGV> : (
$DIST->get_c_language_files(),
$DIST->get_perl_language_files(),
);
}}}
Other test files hand-roll the list of source code files they test.
Example: ''t/codingstd/linelength.t'':
{{{
my $build_dir = $PConfig{build_dir};
my $manifest = maniread( File::Spec->catfile( $build_dir, 'MANIFEST' ) );
# skip files listed in the __DATA__ section
my %skip_files;
while (<DATA>) {
next if m{^#};
next if m{^\s*$};
chomp;
$skip_files{$_}++;
}
}}}
The POD coding standard test rely on Parrot::Test::Pod, which parses
''MANIFEST'' and ''MANIFEST.generated''.
So it doesn't seem that there is an easy way of specifying in only one
location that an entire subdirectory should be excluded from the scope of
`make codetest`.
Perhaps in the short term we should focus on the question: '''Which
codingstd tests are most likely to fail whenever files in ''ext/nqp-rx''
are updated?''' We can then get quick fixes on the most annoying cases.
Thank you very much.
kid51
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/1272#comment:1>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets