[PATCH 2 of 4] tests: Solaris sed does not support "\n" meaning newline in the RHS of s///

danek.duvall at oracle.com danek.duvall at oracle.com
Wed Mar 2 18:22:21 EST 2016


# HG changeset patch
# User Danek Duvall <danek.duvall at oracle.com>
# Date 1456959313 28800
#      Wed Mar 02 14:55:13 2016 -0800
# Node ID 06f40ce66d200ab9869e2d70bfa127582c6ea26d
# Parent  47d43135bf430d7172c8fb8fe35fb17b6f8f029c
tests: Solaris sed does not support "\n" meaning newline in the RHS of s///

The blackbox test rewrites a copy of test-dispatch.py on the fly, and adds
a couple of lines with the s/// command.  GNU sed supports the use of the
\n escape to represent a newline, but not Solaris sed.  Using a literal
newline, prefixed by a backslash, works with both versions of the utility.

diff --git a/tests/test-blackbox.t b/tests/test-blackbox.t
--- a/tests/test-blackbox.t
+++ b/tests/test-blackbox.t
@@ -154,7 +154,9 @@ log rotation
   1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> blackbox
   $ mv .hg/blackbox.log .hg/blackbox.log-
   $ mkdir .hg/blackbox.log
-  $ sed -e 's/\(.*test1.*\)/#\1/; s#\(.*commit2.*\)#os.rmdir(".hg/blackbox.log")\nos.rename(".hg/blackbox.log-", ".hg/blackbox.log")\n\1#' $TESTDIR/test-dispatch.py > ../test-dispatch.py
+  $ sed -e 's/\(.*test1.*\)/#\1/; s#\(.*commit2.*\)#os.rmdir(".hg/blackbox.log")\
+  > os.rename(".hg/blackbox.log-", ".hg/blackbox.log")\
+  > \1#' $TESTDIR/test-dispatch.py > ../test-dispatch.py
   $ python ../test-dispatch.py
   running: add foo
   result: 0


More information about the Mercurial-devel mailing list