[libvirt] [PATCH] tests: redo test argv file line wrapping

Martin Kletzander mkletzan at redhat.com
Fri Nov 6 15:32:52 UTC 2015


On Fri, Nov 06, 2015 at 03:20:31PM +0000, Daniel P. Berrange wrote:
>On Fri, Nov 06, 2015 at 04:00:04PM +0100, Martin Kletzander wrote:
>> On Fri, Nov 06, 2015 at 01:30:35PM +0000, Daniel P. Berrange wrote:
>> >Back in
>> >
>> > commit bd6c46fa0cfe275c24debc1152cfc5206c04b59b
>> > Author: Juerg Haefliger <juerg.haefliger at hp.com>
>> > Date:   Mon Jan 31 06:42:57 2011 -0500
>> >
>> >   tests: handle backspace-newline pairs in test input files
>> >
>> >all the test argv files were line wrapped so that the args
>> >were less than 80 characters.
>> >
>> >The way the line wrapping was done turns out to be quite
>> >undesirable, because it often leaves multiple parameters
>> >on the same line. If we later need to add or remove
>> >individual parameters, then it leaves us having to redo
>> >line wrapping.
>> >
>> >This commit changes the line wrapping so that every
>> >single "-param value" is one its own new line. If the
>> >"value" is still too long, then we break on ',' or ':'
>> >or ' ' as needed.
>> >
>>
>> What if we fix the syntax-check instead and allow longer than 80
>> character lines in case they have no space in it, or exactly one space
>> (to allow --parameter option,option,option,...)?  That would make even
>> corner cases easier to review, e.g. when you remove or add a parameter
>> into the long list of parameters.
>
>The alternative that I'm actually thinking is that we make
>syntax-check skip line length on all these .args files.
>
>Instead re-run the 'test-wrap-argv.pl' script during
>syntax-check, and validate that no changeas are made.
>
>This will guarantee that all our .args files are always
>using our ideal formatting / line wrapping rules.
>
>Then I could remove these two special cases and just let
>us have "-arg value" lines exceed 80 characters when
>they need to
>

OK, if that doesn't take more time then then simple check, so that the
build time isn't getting longer and longer.

>> >'make check' and 'make syntax-check' of course still pass after
>> >applying the big change.
>> >
>> >diff --git a/tests/test-wrap-argv.pl b/tests/test-wrap-argv.pl
>> >new file mode 100644
>> >index 0000000..e8c782b
>> >--- /dev/null
>> >+++ b/tests/test-wrap-argv.pl
>> >@@ -0,0 +1,106 @@
>> >+#!/usr/bin/perl
>> >+
>> >+
>> >+
>> >+foreach my $file (@ARGV) {
>> >+    &rewrap($file);
>> >+}
>> >+
>> >+sub rewrap {
>> >+    my $file = shift;
>> >+
>> >+    # Read the original file
>> >+    open FILE, "<", $file or die "cannot read $file: $!";
>> >+    my @lines;
>> >+    while (<FILE>) {
>> >+        # If there is a trailing '\' then kill the new line
>> >+        if (/\\$/) {
>> >+            chomp;
>>
>> You could've removed newlines from all lines and rewrap everything so
>> we're consistent.
>
>NB, some files have multiple commands in them, so we can't blindly
>remove all new lines. We have to preserve boundaries between
>commands.
>

Oh, I missed that.

>Regards,
>Daniel
>--
>|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
>|: http://libvirt.org              -o-             http://virt-manager.org :|
>|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
>|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20151106/a545d8a6/attachment-0001.sig>


More information about the libvir-list mailing list