test: introduce a new flag to display env variable line per line
It's easier to conditionalize some of the environment variables per Mercurial
version once there is only one value per line.
Differential Revision: https://phab.mercurial-scm.org/D5453
--- a/tests/printenv.py Fri Dec 21 05:08:32 2018 +0100
+++ b/tests/printenv.py Wed Dec 19 15:45:29 2018 +0100
@@ -37,6 +37,11 @@
parser.add_argument(
"out", nargs="?", default=None, help="where to write the output"
)
+parser.add_argument(
+ "--line",
+ action="store_true",
+ help="print environment variables one per line instead of on a single line",
+)
args = parser.parse_args()
if args.out is None:
@@ -56,9 +61,18 @@
filter = lambda x: x.replace('\\', '/')
else:
filter = lambda x: x
+
vars = [b"%s=%s" % (k.encode('ascii'), filter(v).encode('ascii'))
for k, v in env]
-out.write(b" ".join(vars))
+
+# Print variables on out
+if not args.line:
+ out.write(b" ".join(vars))
+else:
+ for var in vars:
+ out.write(var)
+ out.write(b"\n")
+
out.write(b"\n")
out.close()
--- a/tests/test-http.t Fri Dec 21 05:08:32 2018 +0100
+++ b/tests/test-http.t Wed Dec 19 15:45:29 2018 +0100
@@ -140,7 +140,7 @@
$ cd copy-pull
$ cat >> .hg/hgrc <<EOF
> [hooks]
- > changegroup = sh -c "printenv.py changegroup"
+ > changegroup = sh -c "printenv.py --line changegroup"
> EOF
$ hg pull
pulling from http://localhost:$HGPORT1/
@@ -150,7 +150,14 @@
adding file changes
added 1 changesets with 1 changes to 1 files
new changesets 5fed3813f7f5
- changegroup hook: HG_HOOKNAME=changegroup HG_HOOKTYPE=changegroup HG_NODE=5fed3813f7f5e1824344fdc9cf8f63bb662c292d HG_NODE_LAST=5fed3813f7f5e1824344fdc9cf8f63bb662c292d HG_SOURCE=pull HG_TXNID=TXN:$ID$ HG_URL=http://localhost:$HGPORT1/
+ changegroup hook: HG_HOOKNAME=changegroup
+ HG_HOOKTYPE=changegroup
+ HG_NODE=5fed3813f7f5e1824344fdc9cf8f63bb662c292d
+ HG_NODE_LAST=5fed3813f7f5e1824344fdc9cf8f63bb662c292d
+ HG_SOURCE=pull
+ HG_TXNID=TXN:$ID$
+ HG_URL=http://localhost:$HGPORT1/
+
(run 'hg update' to get a working copy)
$ cd ..