##// END OF EJS Templates
test-revset: add tests for missing function output...
test-revset: add tests for missing function output An upcoming change will slightly alter behavior here. Adding the test now so the output change stands out in the later changeset.

File last commit:

r17018:e7fdfc70 default
r24220:fe195d41 default
Show More
printenv.py
49 lines | 1.2 KiB | text/x-python | PythonLexer
Alexis S. L. Carvalho
Add tests/printenv.py...
r4285 # simple script to be used in hooks
#
# put something like this in the repo .hg/hgrc:
#
# [hooks]
Mads Kiilerich
tests: consistently use printenv.py the same MSYS/Windows-compatible way...
r17018 # changegroup = python "$TESTDIR/printenv.py" <hookname> [exit] [output]
Alexis S. L. Carvalho
Add tests/printenv.py...
r4285 #
# - <hookname> is a mandatory argument (e.g. "changegroup")
# - [exit] is the exit code of the hook (default: 0)
# - [output] is the name of the output file (default: use sys.stdout)
# the file will be opened in append mode.
#
import os
import sys
Patrick Mezard
tests: Windows compatibility fixes...
r7080 try:
import msvcrt
msvcrt.setmode(sys.stdin.fileno(), os.O_BINARY)
msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
Dirkjan Ochtman
clean up trailing spaces, leading spaces in C
r7186 msvcrt.setmode(sys.stderr.fileno(), os.O_BINARY)
Patrick Mezard
tests: Windows compatibility fixes...
r7080 except ImportError:
pass
Alexis S. L. Carvalho
Add tests/printenv.py...
r4285 exitcode = 0
out = sys.stdout
name = sys.argv[1]
if len(sys.argv) > 2:
exitcode = int(sys.argv[2])
if len(sys.argv) > 3:
out = open(sys.argv[3], "ab")
Patrick Mezard
printenv: filter empty environment variables for portability.
r4643 # variables with empty values may not exist on all platforms, filter
# them now for portability sake.
Adrian Buehlmann
tests/printenv.py: replace \ with / in output...
r16963 env = [(k, v) for k, v in os.environ.iteritems()
Patrick Mezard
printenv: filter empty environment variables for portability.
r4643 if k.startswith("HG_") and v]
Alexis S. L. Carvalho
Add tests/printenv.py...
r4285 env.sort()
out.write("%s hook: " % name)
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 if os.name == 'nt':
filter = lambda x: x.replace('\\', '/')
else:
filter = lambda x: x
vars = ["%s=%s" % (k, filter(v)) for k, v in env]
out.write(" ".join(vars))
Alexis S. L. Carvalho
Add tests/printenv.py...
r4285 out.write("\n")
out.close()
sys.exit(exitcode)