
Several existing tests patch os.path.exists() to return a given value, whilst avoiding interfering with other checks for path existence inside the test virtualenv. Currently they do it by duplicating logic. Furthermore, in the near future, more tests (specifically, some SEV functional tests) will want to do the same selective patching, and similarly will need to avoid impacting existence checks on other files within the test virtualenv, e.g. placement-policy.yaml. TestGuestConfigSysinfoSerialOS already had a nice patch_exists() context manager for selectively patching os.path.exists based on the path parameter, so move this to nova.test.TestCase so that it can be reused to reduce duplication, and add appropriate unit test cases. In order to make patch_exists() generic, the path has to be introduced as an extra parameter alongside the desired return value. Additionally make it usable as a decorator, not just a context manager. This is achievable natively in Python 3 with contextlib, and in Python 2 via contextlib2. Change-Id: Ibe7cb29620f06d31059f2a5f94ca180b8671046e
174 lines
3.0 KiB
Plaintext
174 lines
3.0 KiB
Plaintext
alembic==0.9.8
|
|
amqp==2.2.2
|
|
appdirs==1.4.3
|
|
asn1crypto==0.24.0
|
|
attrs==17.4.0
|
|
automaton==1.14.0
|
|
Babel==2.3.4
|
|
bandit==1.1.0
|
|
cachetools==2.0.1
|
|
castellan==0.16.0
|
|
cffi==1.11.5
|
|
cliff==2.11.0
|
|
cmd2==0.8.1
|
|
colorama==0.3.9
|
|
contextlib2==0.5.5;python_version=='2.7'
|
|
coverage==4.0
|
|
cryptography==2.1.4
|
|
cursive==0.2.1
|
|
ddt==1.0.1
|
|
debtcollector==1.19.0
|
|
decorator==3.4.0
|
|
deprecation==2.0
|
|
dogpile.cache==0.6.5
|
|
enum34==1.0.4
|
|
enum-compat==0.0.2
|
|
eventlet==0.20.0
|
|
extras==1.0.0
|
|
fasteners==0.14.1
|
|
fixtures==3.0.0
|
|
flake8==2.5.5
|
|
future==0.16.0
|
|
futurist==1.8.0
|
|
gabbi==1.35.0
|
|
gitdb2==2.0.3
|
|
GitPython==2.1.8
|
|
greenlet==0.4.10
|
|
hacking==0.12.0
|
|
idna==2.6
|
|
iso8601==0.1.11
|
|
Jinja2==2.10
|
|
jmespath==0.9.3
|
|
jsonpatch==1.21
|
|
jsonpath-rw==1.4.0
|
|
jsonpath-rw-ext==1.1.3
|
|
jsonpointer==2.0
|
|
jsonschema==2.6.0
|
|
keystoneauth1==3.9.0
|
|
keystonemiddleware==4.20.0
|
|
kombu==4.1.0
|
|
linecache2==1.0.0
|
|
lxml==3.4.1
|
|
Mako==1.0.7
|
|
MarkupSafe==1.0
|
|
mccabe==0.2.1
|
|
microversion-parse==0.2.1
|
|
mock==2.0.0
|
|
monotonic==1.4
|
|
mox3==0.20.0
|
|
msgpack==0.5.6
|
|
msgpack-python==0.5.6
|
|
munch==2.2.0
|
|
netaddr==0.7.18
|
|
netifaces==0.10.4
|
|
networkx==1.11
|
|
numpy==1.14.2
|
|
openstacksdk==0.12.0
|
|
os-brick==2.6.1
|
|
os-client-config==1.29.0
|
|
os-resource-classes==0.1.0
|
|
os-service-types==1.2.0
|
|
os-traits==0.12.0
|
|
os-vif==1.14.0
|
|
os-win==3.0.0
|
|
os-xenapi==0.3.3
|
|
osc-lib==1.10.0
|
|
oslo.cache==1.26.0
|
|
oslo.concurrency==3.26.0
|
|
oslo.config==6.1.0
|
|
oslo.context==2.19.2
|
|
oslo.db==4.44.0
|
|
oslo.i18n==3.15.3
|
|
oslo.log==3.36.0
|
|
oslo.messaging==7.0.0
|
|
oslo.middleware==3.31.0
|
|
oslo.policy==1.35.0
|
|
oslo.privsep==1.32.0
|
|
oslo.reports==1.18.0
|
|
oslo.rootwrap==5.8.0
|
|
oslo.serialization==2.21.1
|
|
oslo.service==1.34.0
|
|
oslo.upgradecheck==0.1.1
|
|
oslo.utils==3.37.0
|
|
oslo.versionedobjects==1.35.0
|
|
oslo.vmware==2.17.0
|
|
oslotest==3.2.0
|
|
osprofiler==1.4.0
|
|
ovs==2.10.0
|
|
ovsdbapp==0.15.0
|
|
packaging==17.1
|
|
paramiko==2.0.0
|
|
Paste==2.0.2
|
|
PasteDeploy==1.5.0
|
|
pbr==2.0.0
|
|
pluggy==0.6.0
|
|
ply==3.11
|
|
prettytable==0.7.1
|
|
psutil==3.2.2
|
|
psycopg2==2.7
|
|
py==1.5.2
|
|
pyasn1==0.4.2
|
|
pyasn1-modules==0.2.1
|
|
pycadf==2.7.0
|
|
pycparser==2.18
|
|
pyflakes==0.8.1
|
|
pycodestyle==2.0.0
|
|
pyinotify==0.9.6
|
|
pyroute2==0.5.4
|
|
PyJWT==1.7.0
|
|
PyMySQL==0.7.6
|
|
pyOpenSSL==17.5.0
|
|
pyparsing==2.2.0
|
|
pyperclip==1.6.0
|
|
pypowervm==1.1.15
|
|
pytest==3.4.2
|
|
python-barbicanclient==4.5.2
|
|
python-cinderclient==3.3.0
|
|
python-dateutil==2.5.3
|
|
python-editor==1.0.3
|
|
python-glanceclient==2.8.0
|
|
python-ironicclient==2.7.0
|
|
python-keystoneclient==3.15.0
|
|
python-mimeparse==1.6.0
|
|
python-neutronclient==6.7.0
|
|
python-subunit==1.2.0
|
|
pytz==2018.3
|
|
PyYAML==3.12
|
|
repoze.lru==0.7
|
|
requests==2.14.2
|
|
requests-mock==1.2.0
|
|
requestsexceptions==1.4.0
|
|
retrying==1.3.3
|
|
rfc3986==1.1.0
|
|
Routes==2.3.1
|
|
simplejson==3.13.2
|
|
six==1.10.0
|
|
smmap2==2.0.3
|
|
sortedcontainers==2.1.0
|
|
SQLAlchemy==1.0.10
|
|
sqlalchemy-migrate==0.11.0
|
|
sqlparse==0.2.4
|
|
statsd==3.2.2
|
|
stestr==1.0.0
|
|
stevedore==1.20.0
|
|
suds-jurko==0.6
|
|
taskflow==2.16.0
|
|
Tempita==0.5.2
|
|
tenacity==4.9.0
|
|
testrepository==0.0.20
|
|
testresources==2.0.0
|
|
testscenarios==0.4
|
|
testtools==2.2.0
|
|
tooz==1.58.0
|
|
traceback2==1.4.0
|
|
unittest2==1.1.0
|
|
urllib3==1.22
|
|
vine==1.1.4
|
|
voluptuous==0.11.1
|
|
warlock==1.2.0
|
|
WebOb==1.8.2
|
|
websockify==0.8.0
|
|
wrapt==1.10.11
|
|
wsgi-intercept==1.7.0
|
|
zVMCloudConnector==1.3.0
|