solaris: test cases can't use grep -a
The -a option to GNU grep isn't available when using Solaris grep. Replace
the one use of grep -a in the testsuite with some in-line Python that does
the equivalent, and add a check for grep -a in check-code.py.
--- a/contrib/check-code.py Mon Aug 19 11:25:23 2013 -0700
+++ b/contrib/check-code.py Fri Aug 23 14:31:42 2013 -0700
@@ -61,6 +61,7 @@
(r'pushd|popd', "don't use 'pushd' or 'popd', use 'cd'"),
(r'\W\$?\(\([^\)\n]*\)\)', "don't use (()) or $(()), use 'expr'"),
(r'grep.*-q', "don't use 'grep -q', redirect to /dev/null"),
+ (r'(?<!hg )grep.*-a', "don't use 'grep -a', use in-line python"),
(r'sed.*-i', "don't use 'sed -i', use a temporary file"),
(r'\becho\b.*\\n', "don't use 'echo \\n', use printf"),
(r'echo -n', "don't use 'echo -n', use printf"),
--- a/tests/test-hgweb-commands.t Mon Aug 19 11:25:23 2013 -0700
+++ b/tests/test-hgweb-commands.t Fri Aug 23 14:31:42 2013 -0700
@@ -1255,8 +1255,10 @@
Graph json escape of multibyte character
- $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT 'graph/' \
- > | grep -a '^var data ='
+ $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT 'graph/' > out
+ >>> for line in open("out"):
+ ... if line.startswith("var data ="):
+ ... print line,
var data = [["061dd13ba3c3", [0, 1], [[0, 0, 1, -1, ""]], "\\u80fd", "test", "1970-01-01", ["unstable", true], ["tip"], ["something"]], ["cad8025a2e87", [0, 1], [[0, 0, 1, 3, "FF0000"]], "branch commit with null character: \x00", "test", "1970-01-01", ["unstable", false], [], []], ["1d22e65f027e", [0, 1], [[0, 0, 1, 3, ""]], "branch", "test", "1970-01-01", ["stable", true], [], []], ["a4f92ed23982", [0, 1], [[0, 0, 1, 3, ""]], "Added tag 1.0 for changeset 2ef0ac749a14", "test", "1970-01-01", ["default", true], [], []], ["2ef0ac749a14", [0, 1], [], "base", "test", "1970-01-01", ["default", false], ["1.0"], ["anotherthing"]]]; (esc)
capabilities