combined value and sum formatting, --reformat
[barcat.git] / t / examples.t
index 52e7a5a7b732f06bec7a4037617d8eb36afa1e7d..874b94adbdcccb783fd735f4120ff17b7533c791 100755 (executable)
@@ -13,7 +13,7 @@ use Test::More;
 my %CMDARGS = (
        ping => '-c 1',
        curl => '-sS',
-       'cat \Klog/' => '/var/log/apache2/',
+       'cat \Khttpd/' => '/var/log/apache2/',
 );
 
 my $filename = 'barcat';
@@ -22,9 +22,10 @@ open my $input, '<', $filename
 
 local $/ = "\n\n";
 while (readline $input) {
-       # find code snippets in the appropriate section
+       # find scriptlets in the appropriate section
        /^=head1 EXAMPLES/ ... /^=head1/ or next;
-       /^\h/ or next;
+       /^\h/ or next;  # indented code snippet
+       /\A\h*>/ and next;  # psql prompt
        chomp;
 
        # compose an identifier from significant parts
@@ -33,6 +34,7 @@ while (readline $input) {
                s/\\\n\s*//g;         # line continuations
                s/^[(\h]+//;          # subshell
                s/^echo\ .*?\|\s*//;  # preceding input
+               s/'(\S+)[^']*'/$1/g;  # quoted arguments
                s/\|.*//;             # subsequent pipes
                s/^cat\ //;           # local file
                s/^curl\ // and do {  # remote url
@@ -52,8 +54,9 @@ while (readline $input) {
 
        # run and report unexpected results
        ok(eval {
-               run(\@cmd, \undef, \my $output);
-               $? == 0 or die "error status ", $? >> 8, "\n";
+               run(\@cmd, \undef, \my $output, \my $error);
+               die("error message:\n    $error\n") if $error;
+               $? == 0 or die "exit status ", $? >> 8, "\n";
                length $output or die "empty output\n";
                return 1;
        }, $name) or diag("Failed command\n@cmd\nfrom $filename line $.: $@");