make: add a target for building pyoxidizer tests on macOS
The resources seem to be embedded inside the binary, but for some reasons they
aren't read there. And since they are embedded, they aren't staged by the build
in the `lib` directory like on Windows. So copy them from the repo. We can
figure out what's going wrong later.
#!/usr/bin/env python3
import os
import shlex
import subprocess
import sys
os.chdir(os.getenv('TESTTMP'))
if sys.argv[1] != "user@dummy":
sys.exit(-1)
os.environ["SSH_CLIENT"] = "%s 1 2" % os.environ.get('LOCALIP', '127.0.0.1')
log = open("dummylog", "ab")
log.write(b"Got arguments")
for i, arg in enumerate(sys.argv[1:]):
log.write(b" %d:%s" % (i + 1, arg.encode('latin1')))
log.write(b"\n")
log.close()
hgcmd = sys.argv[2]
if os.name == 'nt':
# hack to make simple unix single quote quoting work on windows
hgcmd = hgcmd.replace("'", '"')
cmds = shlex.split(hgcmd)
if cmds[0].endswith('.py'):
python_exe = os.environ['PYTHON']
cmds.insert(0, python_exe)
hgcmd = shlex.join(cmds)
# shlex generate windows incompatible string...
hgcmd = hgcmd.replace("'", '"')
r = subprocess.call(hgcmd, shell=True, close_fds=True)
sys.exit(bool(r))