tests/mockblackbox.py
author Gregory Szorc <gregory.szorc@gmail.com>
Sat, 20 Apr 2019 07:29:07 -0700
branchstable
changeset 42150 71d8b4d91616
parent 37123 a8a902d7176e
child 43076 2372284d9457
permissions -rw-r--r--
setup: properly package distutils in py2exe virtualenv builds Our in-repo py2exe packaging code uses virtualenvs for managing dependencies. An advantage of this is that packaging is more deterministic and reproducible. Without virtualenvs, we need to install packages in the system Python install. Packages installed by other consumers of the system Python could leak into the Mercurial package. A regression from this change was that py2exe packages contained the virtualenv's hacked distutils modules instead of the original distutils modules. (virtualenv installs a hacked distutils module because distutils uses relative path lookups that fail when running from a virtualenv.) This commit introduces a workaround so py2exe packaging uses the original distutils modules when running from a virtualenv. With this change, `import distutils` no longer fails from py2exe builds produced from a virtualenv. This fixes the regression. Furthermore, we now include all distutils modules. Before, py2exe's module finding would only find modules there were explicitly referenced in code. So, we now package a complete copy of distutils instead of a partial one. This is even better than before. # no-check-commit foo_bar function name
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
28943
417380aa5bbe py3: use absolute_import in mockblackbox.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28028
diff changeset
     1
from __future__ import absolute_import
37123
a8a902d7176e procutil: bulk-replace function calls to point to new module
Yuya Nishihara <yuya@tcha.org>
parents: 36143
diff changeset
     2
from mercurial.utils import (
a8a902d7176e procutil: bulk-replace function calls to point to new module
Yuya Nishihara <yuya@tcha.org>
parents: 36143
diff changeset
     3
    procutil,
28943
417380aa5bbe py3: use absolute_import in mockblackbox.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28028
diff changeset
     4
)
24705
0ead0a07ed9c tests: move mock blackbox extension into own file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     5
32450
043948c84647 devel: update blackbox to use default-date
Boris Feld <boris.feld@octobus.net>
parents: 28943
diff changeset
     6
# XXX: we should probably offer a devel option to do this in blackbox directly
24705
0ead0a07ed9c tests: move mock blackbox extension into own file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     7
def getuser():
36143
f49c3ee5b02f py3: use b'' in mockblackbox.py
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32450
diff changeset
     8
    return b'bob'
28028
ac49ecb2a897 tests: mock getpid to reduce glob usage
timeless <timeless@mozdev.org>
parents: 24705
diff changeset
     9
def getpid():
ac49ecb2a897 tests: mock getpid to reduce glob usage
timeless <timeless@mozdev.org>
parents: 24705
diff changeset
    10
    return 5000
24705
0ead0a07ed9c tests: move mock blackbox extension into own file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    11
0ead0a07ed9c tests: move mock blackbox extension into own file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    12
# mock the date and user apis so the output is always the same
0ead0a07ed9c tests: move mock blackbox extension into own file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    13
def uisetup(ui):
37123
a8a902d7176e procutil: bulk-replace function calls to point to new module
Yuya Nishihara <yuya@tcha.org>
parents: 36143
diff changeset
    14
    procutil.getuser = getuser
a8a902d7176e procutil: bulk-replace function calls to point to new module
Yuya Nishihara <yuya@tcha.org>
parents: 36143
diff changeset
    15
    procutil.getpid = getpid