sapling/tests/test-fb-hgext-sshaskpass.py
Kostia Balytskyi b27a46c987 fb-hgext: fix copied fb-hgext tests
Summary:
This is a big bulk of generally almost-obvious fixes to the moved tests. Mostly
these fixes have to do with correct importing of the actual extensions.

Depends on D6675329

Test Plan:
- ./run-tests.py fails less after this commit
- see further commits for more test fixes

Reviewers: #sourcecontrol

Differential Revision: https://phabricator.intern.facebook.com/D6675344
2018-01-09 03:06:09 -08:00

28 lines
718 B
Python

import os
import sys
# Make sure we use sshaskpass.py in this repo, unaffected by PYTHONPATH
from hgext import sshaskpass
# stdin, stderr have to be tty to run test
pid, master = os.forkpty()
if pid:
# parent, test some I/O
os.write(master, '(input)\n')
with os.fdopen(master, 'r') as f:
sys.stdout.write('pty receives: %r' % f.read())
os.waitpid(pid, 0)
sys.exit(0)
# child, start a ttyserver and do some I/O
ttysrvpid, sockpath = sshaskpass._startttyserver()
try:
r, w = sshaskpass._receivefds(sockpath)
with os.fdopen(r) as f:
line = f.readline()
os.write(w, 'client receives: ' + line)
finally:
sshaskpass._killprocess(ttysrvpid)
os.unlink(sockpath)