X-Git-Url: http://git.apps.os.sepia.ceph.com/?p=xfstests-dev.git;a=blobdiff_plain;f=lsqa.pl;h=8ca1167f845c79d671ae667b7cfe1bc1a397a714;hp=040196f70120976b64db8d05534b08253e4fb927;hb=1c8b154ab9661649ae5d7c2f357e9b04b3c63c35;hpb=491d467f3cb8fe34dc42d47f7193bb6475890f8e diff --git a/lsqa.pl b/lsqa.pl index 040196f7..8ca1167f 100755 --- a/lsqa.pl +++ b/lsqa.pl @@ -1,27 +1,20 @@ #!/usr/bin/perl -w -# +# SPDX-License-Identifier: GPL-2.0 # Copyright (c) 2008 Silicon Graphics, Inc. All Rights Reserved. # -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it would be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# +# Print headers of given tests +# Accepted parameter types: +# - nothing - list all tests from all subdirectories in tests/* +# - tests/DIR - list all tests from DIR +# - tests/DIR/123 - show header from single test + use strict; use Getopt::Long; sub help(); sub get_qa_header($); -sub get_qa_tests(); +sub get_qa_tests; my %opt; @@ -43,8 +36,19 @@ if ($opt{'help'}) { die help(); } -my @qatests = map {sprintf("%03d", $_)} @ARGV; -@qatests = get_qa_tests() unless (@qatests); +my @qatests; + +if (!@ARGV) { + my $d="tests"; + opendir(DIR, $d); + map { push @qatests,get_qa_tests("$d/$_") if -d "$d/$_" } readdir(DIR); + closedir(DIR); +} + +foreach (@ARGV) { + push @qatests,$_ if -f && /\d{3}$/; + push @qatests,get_qa_tests($_) if -d; +} foreach (@qatests) { my @h = get_qa_header($_); @@ -91,9 +95,11 @@ sub get_qa_header($) { open(my $FH, $f) || die "couldn't open '$f': $!"; while (<$FH>) { #ignore. - m/^#\!/ and next; #shebang - m/^#\s*\-{10}/ and last; #dashed lines - m/^#\s*copyright/i and last; #copyright lines + m/^#\!/ and next; # shebang + m/^# SPDX/i and next; # SPDX tags + m/^# Copyright/i and next; # Copyright tags + m/^#\s*\-{10}/ and last; # dashed lines + m/^seq/i and last; # test start s/^# *//; @@ -103,13 +109,11 @@ sub get_qa_header($) { return @l; } -sub get_qa_tests() { +sub get_qa_tests { my $d = shift || $ENV{'PWD'}; opendir(my $DIR, $d) || die "can't opendir $d: $!"; - my @qa = grep {m/^\d\d\d$/ && -f "$d/$_" } readdir($DIR); + my @qa = sort grep { m/^\d\d\d$/ && -f "$d/$_" } readdir($DIR); closedir($DIR); - - return @qa; + return map { $_ = "$d/$_" } @qa; } -