Re: [PATCH v2 5/9] chainlint.pl: check line numbers in expected output

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jul 10, 2024 at 4:37 AM Jeff King <peff@xxxxxxxx> wrote:
> [...]
> It would be possible to do all of this in shell via the Makefile, but it
> gets a bit complicated (and requires a lot of extra processes). Instead,
> I've written a short perl script that generates the concatenated files
> (we already depend on perl, since chainlint.pl uses it). Incidentally,
> this improves a few other things:
> [...]
> diff --git a/t/chainlint-cat.pl b/t/chainlint-cat.pl
> @@ -0,0 +1,29 @@
> +#!/usr/bin/env perl
> +
> +my $outdir = shift;
> +open(my $tests, '>', "$outdir/tests")
> +       or die "unable to open $outdir/tests: $!";
> +open(my $expect, '>', "$outdir/expect")
> +       or die "unable to open $outdir/expect: $!";
> +
> +print $expect "# chainlint: $outdir/tests\n";
> +
> +my $offset = 0;
> +for my $script (@ARGV) {
> +       print $expect "# chainlint: $script\n";
> +
> +       open(my $expect_in, '<', "chainlint/$script.expect")
> +               or die "unable to open chainlint/$script.expect: $!";
> +       while (<$expect_in>) {
> +               s/^\d+/$& + $offset/e;
> +               print $expect $_;
> +       }
> +
> +       open(my $test_in, '<', "chainlint/$script.test")
> +               or die "unable to open chainlint/$script.test: $!";
> +       while (<$test_in>) {
> +               /^# LINT: / and next;
> +               print $tests $_;
> +               $offset++;
> +       }
> +}

I'm surprised that we're not closing the two file handles opened on
each iteration of this loop. Is that intentional? Or am I forgetting
my Perl and they are somehow getting closed anyhow (for instance, by
the <...> operator hitting EOF)?





[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux