# HG changeset patch # User Matt Harbison # Date 2019-09-14 16:11:03 # Node ID a2dffe68b4eac19250cb3eb2a14ff765bb10a011 # Parent 69de49c4e39c682d5e3d36abe5e27482baea591d tests: stabilize test-fix.t on Windows `pwd` prints /tmp/... style paths, not C:\... needed for $TESTTMP to be substituted. In the final test, for whatever reason, Windows was missing EOL in the files and printing: [wdir] changedlines: printf: warning: ignoring excess arguments, starting with 'printf' even though it was trying to run: printf "Line ranges:\n"; printf "2 through 2\n"; I tried wrapping both :command and :linerange in `sh -c "..."`, and while that fixed the missing EOL, it missed the "2 through 2" output. Differential Revision: https://phab.mercurial-scm.org/D6852 diff --git a/tests/test-fix.t b/tests/test-fix.t --- a/tests/test-fix.t +++ b/tests/test-fix.t @@ -1297,7 +1297,7 @@ reasonable with that. $ cat >> .hg/hgrc < [fix] - > printcwd:command = pwd + > printcwd:command = "$PYTHON" -c "import os; print(os.getcwd())" > printcwd:pattern = path:foo/bar > EOF @@ -1382,9 +1382,15 @@ changes. $ printf "a\nc\n" > foo $ printf "a\nx\nc\n" > baz + $ cat >> print.py < import sys + > for a in sys.argv[1:]: + > print(a) + > EOF + $ hg fix --working-dir foo bar baz \ - > --config 'fix.changedlines:command=printf "Line ranges:\n"; ' \ - > --config 'fix.changedlines:linerange=printf "{first} through {last}\n"; ' \ + > --config "fix.changedlines:command=\"$PYTHON\" print.py \"Line ranges:\"" \ + > --config 'fix.changedlines:linerange="{first} through {last}"' \ > --config 'fix.changedlines:pattern=rootglob:**' \ > --config 'fix.changedlines:skipclean=false'