This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
6ae1cf815cc1fe368b4168a5e33a7b35fb6eba15
[perl5.git] / t / porting / checkcase.t
1 #!/usr/bin/perl
2 # Finds the files that have the same name, case insensitively,
3 # in the current directory and its subdirectories
4
5 use warnings;
6 use strict;
7 use File::Find;
8
9 my %files;
10 my $test_count = 0;
11
12 find(sub {
13            my $name = $File::Find::name;
14            # Assumes that the path separator is exactly one character.
15            $name =~ s/^\.\..//;
16
17            # Special exemption for Makefile, makefile
18            return if $name =~ m!\A(?:x2p/)?[Mm]akefile\z!;
19
20            push @{$files{lc $name}}, $name;
21          }, '..');
22
23 foreach (sort values %files) {
24     if (@$_ > 1) {
25                 print "not ok ".++$test_count. " - ". join(", ", @$_), "\n";
26                 print STDERR "# $_\n" foreach @$_;
27     } else {
28                 print "ok ".++$test_count. " - ". join(", ", @$_), "\n";
29         }
30 }
31
32 print "1..".$test_count."\n";