#!/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;
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($_);
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/^# *//;
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;
}
-