From: Ian Jackson Date: Wed, 16 Sep 2015 12:09:01 +0000 (+0100) Subject: mg-show-flight-runvars: Decorate synth runvar names with ~ X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=e6d5b6f2b5c4a674ff51c166b5e9c1a4ea005f0e;p=osstest.git mg-show-flight-runvars: Decorate synth runvar names with ~ Make mg-show-flight-runvars -a append ~ to the names of synth runvars. (This is consistent with the new syntax in cs-job-create.) We do this by editing $row[1] (and $colws[1]) so we can avoid disturbing the general column format calculation and printing. We switch to fetchrow_array rather than fetchrow_arrayref. This is clearer and also avoids having to copy $row (because the value in the DB $row from fetchrow_hashref would be readonly). We have to check for $synth eq 'f' as well as $synth being boolean false, because SQLite's typeless nature (or, to put it another way, DBD::SQLite's failure to look at the schema) means that a boolean field's value of 'f' or 't' is simply returned as a string to Perl. But of course "f" is trueish in Perl. Signed-off-by: Ian Jackson Acked-by: Ian Campbell --- v2: Use fetchrow_array instead. Do not mistakenly drop the $synthcond assignment (!) --- diff --git a/mg-show-flight-runvars b/mg-show-flight-runvars index e33a3f0..c800110 100755 --- a/mg-show-flight-runvars +++ b/mg-show-flight-runvars @@ -26,6 +26,7 @@ use Osstest; csreadconfig(); my $synthcond = '(NOT synth)'; +my $synthsufx = ''; for (;;) { last unless @ARGV; @@ -34,6 +35,7 @@ for (;;) { last if m/^\-\-?$/; if (m/^-a$/) { $synthcond = '(1=1)'; + $synthsufx = '~'; } else { die "$_ ?"; } @@ -52,10 +54,14 @@ my @colws = $dbh_tests->selectrow_array ("SELECT ".(join ',', map { "max(length($_))" } @cols)." $qfrom"); my $q = $dbh_tests->prepare - ("SELECT ".(join ',', @cols)." $qfrom ORDER BY name, job"); + ("SELECT synth, ".(join ',', @cols)." $qfrom ORDER BY synth, name, job"); $q->execute(); -while (my $row = $q->fetchrow_arrayref()) { - printf "%-*s %-*s %-*s\n", map { $colws[$_], $row->[$_] } qw(0 1 2) +$colws[1] += length $synthsufx; + +while (my (@row) = $q->fetchrow_array()) { + my $synth = shift @row; + $row[1] .= $synthsufx if $synth && $synth ne 'f'; # sqlite3 is typeless + printf "%-*s %-*s %-*s\n", map { $colws[$_], $row[$_] } qw(0 1 2) or die $!; }