summaryrefslogtreecommitdiff
path: root/lsqa.pl
diff options
context:
space:
mode:
authorDavid Sterba <dsterba@suse.cz>2014-01-20 13:28:39 +1100
committerDave Chinner <david@fromorbit.com>2014-01-20 13:28:39 +1100
commita050cb00c78f8020c76ed6e20800ddaf15a0dd25 (patch)
tree0b57cee724457fbe4a47b51edcab22a3e3b6615b /lsqa.pl
parentd7e5b7f8f665b522506802fb6e3a42198529480c (diff)
lsqa.pl: update for new tests layout
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 Signed-off-by: David Sterba <dsterba@suse.cz> Reviewed-by: Dave Chinner <dchinner@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com>
Diffstat (limited to 'lsqa.pl')
-rwxr-xr-xlsqa.pl32
1 files changed, 24 insertions, 8 deletions
diff --git a/lsqa.pl b/lsqa.pl
index 040196f7..b4fc83f4 100755
--- a/lsqa.pl
+++ b/lsqa.pl
@@ -15,13 +15,20 @@
# 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 +50,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($_);
@@ -103,13 +121,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;
}
-