diff contrib/check-code.py @ 19080:5e4491c114b2 stable

check-code: add a rule against a GNU sed-ism BSD sed requires the 'i' command to be followed with a backslash and a newline, like so: $ sed -e '/^@/i\ > other' We've encountered this problem before, e.g. in test-mq.t (900767dfa80d). This change adds a check-code rule and fixes two instances of the problem in test-record.t.
author Kevin Bullock <kbullock@ringworld.org>
date Mon, 22 Apr 2013 16:33:28 -0500
parents 341083b02d1b
children e97ce4a5afc5
line wrap: on
line diff
--- a/contrib/check-code.py	Mon Apr 22 12:27:56 2013 +0400
+++ b/contrib/check-code.py	Mon Apr 22 16:33:28 2013 -0500
@@ -74,6 +74,8 @@
     (r'/dev/u?random', "don't use entropy, use /dev/zero"),
     (r'do\s*true;\s*done', "don't use true as loop body, use sleep 0"),
     (r'^( *)\t', "don't use tabs to indent"),
+    (r'sed .*\'/[^/]*/i[^\\][^\n]',
+     "put a backslash-escaped newline after sed 'i' command"),
   ],
   # warnings
   [