Hi, On Thursday 25 October 2012 16:44:03 Benjamin Drung wrote: > Am Mittwoch, den 24.10.2012, 21:15 -0500 schrieb Raphael Geissert: > > Attached is an mbox with a bunch of bug fixes and new checks, #687450 > > included. > > Thanks. I have applied your patches 1 up to 14. I grabbed the working > test cases from your git repository and added them to devscripts. After > applying a patch, I added the newly passing test cases. Feel free to add > more test cases to devscripts or to improve/simplify the shunit2 tests.
Thanks. For now I'm going to continue using my test suite, it: has more test cases, allows TODO items, and allows two versions of checkbashisms to be compared. I like the output-comparison approach of the shunit-based suite, but it is annoying to use while developing. > Patch 15 refers to commit 5dc48224, but the commit hashes do not survive > git format-patch & git am. To which commit do you refer? Patch 15 refers to patch 14. (the commit hash _is_ included in the git format-patch output.) > Please do not sign off your own patches. Your patches will be signed off > by the person that applies your patches. Perhaps we differ on what the sign off means, and that shouldn't cause any issue for another person to sign off them as well. > You can send your patches directly to the mailing list if have more than > one instead of opening a new bug report. > > Can you add a commit with your changelog entries? Since doing that oftentimes leads to merge conflicts it is easier if the committer adds it after merging, and on whatever branch those changes are merged. > > On IRC I mentioned a "regression" when checking autoconf, but the issue > > is now visible thanks to some bug fixes. In one configure script the > > bug fix actually revealed a bashism. > > Have you created a test case for this regression? Not per se, I've only copied autoconf(1) to my test suite. It all comes down to fixing the parsing of things like printf '#!/bin/sh\nbar="moo"; foo="foo \"bar\" ... \nmoo"\n' And this (which is what actually triggers the 'error' in the autoconf case): checkbashisms <<'EOF' case foo in *\'*) arg=`$as_echo "$1" | sed "s/'/'\\\\\\\\''/g"` ;; #' esac EOF (this actually made me notice that the error messages aren't displaying '(stdin)', so attache patch fixes that.) Cheers, -- Raphael Geissert - Debian Developer www.debian.org - get.debian.net
From 562a612feeb63a396d983afff047f58b8c5f63d6 Mon Sep 17 00:00:00 2001 From: Raphael Geissert <[email protected]> Date: Thu, 25 Oct 2012 17:18:49 -0500 Subject: [PATCH] checkbashisms: display the fancy filename in error messages --- scripts/checkbashisms.pl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/checkbashisms.pl b/scripts/checkbashisms.pl index 63cf510..7ea977d 100755 --- a/scripts/checkbashisms.pl +++ b/scripts/checkbashisms.pl @@ -468,11 +468,11 @@ foreach my $filename (@ARGV) { } } - warn "error: $filename: Unterminated heredoc found, EOF reached. Wanted: <$cat_string>, opened in line $start_lines{'cat_string'}\n" + warn "error: $display_filename: Unterminated heredoc found, EOF reached. Wanted: <$cat_string>, opened in line $start_lines{'cat_string'}\n" if ($cat_string ne ''); - warn "error: $filename: Unterminated quoted string found, EOF reached. Wanted: <$quote_string>, opened in line $start_lines{'quote_string'}\n" + warn "error: $display_filename: Unterminated quoted string found, EOF reached. Wanted: <$quote_string>, opened in line $start_lines{'quote_string'}\n" if ($quote_string ne ''); - warn "error: $filename: EOF reached while on line continuation.\n" + warn "error: $display_filename: EOF reached while on line continuation.\n" if ($buffered_line ne ''); close C; -- 1.7.10
_______________________________________________ devscripts-devel mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/devscripts-devel
