forked from mirrors/gecko-dev
This commit is a simple 'hg mv' and does not contain any file modifications. *** Bug 1346025 - Split vendored modules in python/moz.build to third_party/python/moz.build, r=ted *** Bug 1346025 - Update references to moved python modules, r=ted MozReview-Commit-ID: A12RnIFtXju --HG-- rename : python/PyECC/MANIFEST.in => third_party/python/PyECC/MANIFEST.in rename : python/PyECC/README.md => third_party/python/PyECC/README.md rename : python/PyECC/ecc/Key.py => third_party/python/PyECC/ecc/Key.py rename : python/PyECC/ecc/Rabbit.py => third_party/python/PyECC/ecc/Rabbit.py rename : python/PyECC/ecc/SecurityViolationException.py => third_party/python/PyECC/ecc/SecurityViolationException.py rename : python/PyECC/ecc/__init__.py => third_party/python/PyECC/ecc/__init__.py rename : python/PyECC/ecc/curves.py => third_party/python/PyECC/ecc/curves.py rename : python/PyECC/ecc/eccrypt.py => third_party/python/PyECC/ecc/eccrypt.py rename : python/PyECC/ecc/ecdsa.py => third_party/python/PyECC/ecc/ecdsa.py rename : python/PyECC/ecc/elliptic.py => third_party/python/PyECC/ecc/elliptic.py rename : python/PyECC/ecc/encoding.py => third_party/python/PyECC/ecc/encoding.py rename : python/PyECC/ecc/performance.py => third_party/python/PyECC/ecc/performance.py rename : python/PyECC/ecc/primes.py => third_party/python/PyECC/ecc/primes.py rename : python/PyECC/ecc/shacrypt.py => third_party/python/PyECC/ecc/shacrypt.py rename : python/PyECC/setup.py => third_party/python/PyECC/setup.py rename : python/blessings/LICENSE => third_party/python/blessings/LICENSE rename : python/blessings/MANIFEST.in => third_party/python/blessings/MANIFEST.in rename : python/blessings/PKG-INFO => third_party/python/blessings/PKG-INFO rename : python/blessings/README.rst => third_party/python/blessings/README.rst rename : python/blessings/blessings/__init__.py => third_party/python/blessings/blessings/__init__.py rename : python/blessings/blessings/tests.py => third_party/python/blessings/blessings/tests.py rename : python/blessings/setup.cfg => third_party/python/blessings/setup.cfg rename : python/blessings/setup.py => third_party/python/blessings/setup.py rename : python/blessings/tox.ini => third_party/python/blessings/tox.ini rename : python/compare-locales/compare_locales/__init__.py => third_party/python/compare-locales/compare_locales/__init__.py rename : python/compare-locales/compare_locales/checks.py => third_party/python/compare-locales/compare_locales/checks.py rename : python/compare-locales/compare_locales/commands.py => third_party/python/compare-locales/compare_locales/commands.py rename : python/compare-locales/compare_locales/compare.py => third_party/python/compare-locales/compare_locales/compare.py rename : python/compare-locales/compare_locales/parser.py => third_party/python/compare-locales/compare_locales/parser.py rename : python/compare-locales/compare_locales/paths.py => third_party/python/compare-locales/compare_locales/paths.py rename : python/compare-locales/compare_locales/tests/__init__.py => third_party/python/compare-locales/compare_locales/tests/__init__.py rename : python/compare-locales/compare_locales/tests/data/bug121341.properties => third_party/python/compare-locales/compare_locales/tests/data/bug121341.properties rename : python/compare-locales/compare_locales/tests/data/test.properties => third_party/python/compare-locales/compare_locales/tests/data/test.properties rename : python/compare-locales/compare_locales/tests/data/triple-license.dtd => third_party/python/compare-locales/compare_locales/tests/data/triple-license.dtd rename : python/compare-locales/compare_locales/tests/test_checks.py => third_party/python/compare-locales/compare_locales/tests/test_checks.py rename : python/compare-locales/compare_locales/tests/test_compare.py => third_party/python/compare-locales/compare_locales/tests/test_compare.py rename : python/compare-locales/compare_locales/tests/test_dtd.py => third_party/python/compare-locales/compare_locales/tests/test_dtd.py rename : python/compare-locales/compare_locales/tests/test_ini.py => third_party/python/compare-locales/compare_locales/tests/test_ini.py rename : python/compare-locales/compare_locales/tests/test_merge.py => third_party/python/compare-locales/compare_locales/tests/test_merge.py rename : python/compare-locales/compare_locales/tests/test_properties.py => third_party/python/compare-locales/compare_locales/tests/test_properties.py rename : python/compare-locales/compare_locales/tests/test_util.py => third_party/python/compare-locales/compare_locales/tests/test_util.py rename : python/compare-locales/compare_locales/tests/test_webapps.py => third_party/python/compare-locales/compare_locales/tests/test_webapps.py rename : python/compare-locales/compare_locales/util.py => third_party/python/compare-locales/compare_locales/util.py rename : python/compare-locales/compare_locales/webapps.py => third_party/python/compare-locales/compare_locales/webapps.py rename : python/configobj/PKG-INFO => third_party/python/configobj/PKG-INFO rename : python/configobj/configobj.py => third_party/python/configobj/configobj.py rename : python/configobj/setup.py => third_party/python/configobj/setup.py rename : python/configobj/validate.py => third_party/python/configobj/validate.py rename : python/dlmanager/README.rst => third_party/python/dlmanager/README.rst rename : python/dlmanager/check.py => third_party/python/dlmanager/check.py rename : python/dlmanager/dlmanager/__init__.py => third_party/python/dlmanager/dlmanager/__init__.py rename : python/dlmanager/dlmanager/fs.py => third_party/python/dlmanager/dlmanager/fs.py rename : python/dlmanager/dlmanager/manager.py => third_party/python/dlmanager/dlmanager/manager.py rename : python/dlmanager/dlmanager/persist_limit.py => third_party/python/dlmanager/dlmanager/persist_limit.py rename : python/dlmanager/doc/Makefile => third_party/python/dlmanager/doc/Makefile rename : python/dlmanager/doc/api.rst => third_party/python/dlmanager/doc/api.rst rename : python/dlmanager/doc/conf.py => third_party/python/dlmanager/doc/conf.py rename : python/dlmanager/doc/index.rst => third_party/python/dlmanager/doc/index.rst rename : python/dlmanager/doc/make.bat => third_party/python/dlmanager/doc/make.bat rename : python/dlmanager/examples/dl_progressbar.py => third_party/python/dlmanager/examples/dl_progressbar.py rename : python/dlmanager/examples/dl_tqdm.py => third_party/python/dlmanager/examples/dl_tqdm.py rename : python/dlmanager/requirements.txt => third_party/python/dlmanager/requirements.txt rename : python/dlmanager/setup.cfg => third_party/python/dlmanager/setup.cfg rename : python/dlmanager/setup.py => third_party/python/dlmanager/setup.py rename : python/dlmanager/test-requirements.txt => third_party/python/dlmanager/test-requirements.txt rename : python/dlmanager/tests/__init__.py => third_party/python/dlmanager/tests/__init__.py rename : python/dlmanager/tests/test_manager.py => third_party/python/dlmanager/tests/test_manager.py rename : python/dlmanager/tests/test_persist_limit.py => third_party/python/dlmanager/tests/test_persist_limit.py rename : python/futures/CHANGES => third_party/python/futures/CHANGES rename : python/futures/LICENSE => third_party/python/futures/LICENSE rename : python/futures/MANIFEST.in => third_party/python/futures/MANIFEST.in rename : python/futures/PKG-INFO => third_party/python/futures/PKG-INFO rename : python/futures/concurrent/__init__.py => third_party/python/futures/concurrent/__init__.py rename : python/futures/concurrent/futures/__init__.py => third_party/python/futures/concurrent/futures/__init__.py rename : python/futures/concurrent/futures/_base.py => third_party/python/futures/concurrent/futures/_base.py rename : python/futures/concurrent/futures/process.py => third_party/python/futures/concurrent/futures/process.py rename : python/futures/concurrent/futures/thread.py => third_party/python/futures/concurrent/futures/thread.py rename : python/futures/crawl.py => third_party/python/futures/crawl.py rename : python/futures/docs/Makefile => third_party/python/futures/docs/Makefile rename : python/futures/docs/conf.py => third_party/python/futures/docs/conf.py rename : python/futures/docs/index.rst => third_party/python/futures/docs/index.rst rename : python/futures/docs/make.bat => third_party/python/futures/docs/make.bat rename : python/futures/futures.egg-info/PKG-INFO => third_party/python/futures/futures.egg-info/PKG-INFO rename : python/futures/futures.egg-info/SOURCES.txt => third_party/python/futures/futures.egg-info/SOURCES.txt rename : python/futures/futures.egg-info/dependency_links.txt => third_party/python/futures/futures.egg-info/dependency_links.txt rename : python/futures/futures.egg-info/not-zip-safe => third_party/python/futures/futures.egg-info/not-zip-safe rename : python/futures/futures.egg-info/pbr.json => third_party/python/futures/futures.egg-info/pbr.json rename : python/futures/futures.egg-info/top_level.txt => third_party/python/futures/futures.egg-info/top_level.txt rename : python/futures/primes.py => third_party/python/futures/primes.py rename : python/futures/setup.cfg => third_party/python/futures/setup.cfg rename : python/futures/setup.py => third_party/python/futures/setup.py rename : python/futures/test_futures.py => third_party/python/futures/test_futures.py rename : python/futures/tox.ini => third_party/python/futures/tox.ini rename : python/gdbpp/gdbpp/__init__.py => third_party/python/gdbpp/gdbpp/__init__.py rename : python/gdbpp/gdbpp/linkedlist.py => third_party/python/gdbpp/gdbpp/linkedlist.py rename : python/gdbpp/gdbpp/owningthread.py => third_party/python/gdbpp/gdbpp/owningthread.py rename : python/gdbpp/gdbpp/smartptr.py => third_party/python/gdbpp/gdbpp/smartptr.py rename : python/gdbpp/gdbpp/string.py => third_party/python/gdbpp/gdbpp/string.py rename : python/gdbpp/gdbpp/tarray.py => third_party/python/gdbpp/gdbpp/tarray.py rename : python/gdbpp/gdbpp/thashtable.py => third_party/python/gdbpp/gdbpp/thashtable.py rename : python/jsmin/jsmin/__init__.py => third_party/python/jsmin/jsmin/__init__.py rename : python/jsmin/jsmin/test.py => third_party/python/jsmin/jsmin/test.py rename : python/jsmin/setup.cfg => third_party/python/jsmin/setup.cfg rename : python/jsmin/setup.py => third_party/python/jsmin/setup.py rename : python/lldbutils/README.txt => third_party/python/lldbutils/README.txt rename : python/lldbutils/lldbutils/__init__.py => third_party/python/lldbutils/lldbutils/__init__.py rename : python/lldbutils/lldbutils/content.py => third_party/python/lldbutils/lldbutils/content.py rename : python/lldbutils/lldbutils/general.py => third_party/python/lldbutils/lldbutils/general.py rename : python/lldbutils/lldbutils/gfx.py => third_party/python/lldbutils/lldbutils/gfx.py rename : python/lldbutils/lldbutils/layout.py => third_party/python/lldbutils/lldbutils/layout.py rename : python/lldbutils/lldbutils/utils.py => third_party/python/lldbutils/lldbutils/utils.py rename : python/mock-1.0.0/LICENSE.txt => third_party/python/mock-1.0.0/LICENSE.txt rename : python/mock-1.0.0/MANIFEST.in => third_party/python/mock-1.0.0/MANIFEST.in rename : python/mock-1.0.0/PKG-INFO => third_party/python/mock-1.0.0/PKG-INFO rename : python/mock-1.0.0/README.txt => third_party/python/mock-1.0.0/README.txt rename : python/mock-1.0.0/docs/changelog.txt => third_party/python/mock-1.0.0/docs/changelog.txt rename : python/mock-1.0.0/docs/compare.txt => third_party/python/mock-1.0.0/docs/compare.txt rename : python/mock-1.0.0/docs/conf.py => third_party/python/mock-1.0.0/docs/conf.py rename : python/mock-1.0.0/docs/examples.txt => third_party/python/mock-1.0.0/docs/examples.txt rename : python/mock-1.0.0/docs/getting-started.txt => third_party/python/mock-1.0.0/docs/getting-started.txt rename : python/mock-1.0.0/docs/helpers.txt => third_party/python/mock-1.0.0/docs/helpers.txt rename : python/mock-1.0.0/docs/index.txt => third_party/python/mock-1.0.0/docs/index.txt rename : python/mock-1.0.0/docs/magicmock.txt => third_party/python/mock-1.0.0/docs/magicmock.txt rename : python/mock-1.0.0/docs/mock.txt => third_party/python/mock-1.0.0/docs/mock.txt rename : python/mock-1.0.0/docs/patch.txt => third_party/python/mock-1.0.0/docs/patch.txt rename : python/mock-1.0.0/docs/sentinel.txt => third_party/python/mock-1.0.0/docs/sentinel.txt rename : python/mock-1.0.0/html/.doctrees/changelog.doctree => third_party/python/mock-1.0.0/html/.doctrees/changelog.doctree rename : python/mock-1.0.0/html/.doctrees/compare.doctree => third_party/python/mock-1.0.0/html/.doctrees/compare.doctree rename : python/mock-1.0.0/html/.doctrees/examples.doctree => third_party/python/mock-1.0.0/html/.doctrees/examples.doctree rename : python/mock-1.0.0/html/.doctrees/getting-started.doctree => third_party/python/mock-1.0.0/html/.doctrees/getting-started.doctree rename : python/mock-1.0.0/html/.doctrees/index.doctree => third_party/python/mock-1.0.0/html/.doctrees/index.doctree rename : python/mock-1.0.0/html/.doctrees/magicmock.doctree => third_party/python/mock-1.0.0/html/.doctrees/magicmock.doctree rename : python/mock-1.0.0/html/.doctrees/mock.doctree => third_party/python/mock-1.0.0/html/.doctrees/mock.doctree rename : python/mock-1.0.0/html/.doctrees/mocksignature.doctree => third_party/python/mock-1.0.0/html/.doctrees/mocksignature.doctree rename : python/mock-1.0.0/html/.doctrees/patch.doctree => third_party/python/mock-1.0.0/html/.doctrees/patch.doctree rename : python/mock-1.0.0/html/.doctrees/sentinel.doctree => third_party/python/mock-1.0.0/html/.doctrees/sentinel.doctree rename : python/mock-1.0.0/html/_sources/changelog.txt => third_party/python/mock-1.0.0/html/_sources/changelog.txt rename : python/mock-1.0.0/html/_sources/compare.txt => third_party/python/mock-1.0.0/html/_sources/compare.txt rename : python/mock-1.0.0/html/_sources/examples.txt => third_party/python/mock-1.0.0/html/_sources/examples.txt rename : python/mock-1.0.0/html/_sources/getting-started.txt => third_party/python/mock-1.0.0/html/_sources/getting-started.txt rename : python/mock-1.0.0/html/_sources/index.txt => third_party/python/mock-1.0.0/html/_sources/index.txt rename : python/mock-1.0.0/html/_sources/magicmock.txt => third_party/python/mock-1.0.0/html/_sources/magicmock.txt rename : python/mock-1.0.0/html/_sources/mock.txt => third_party/python/mock-1.0.0/html/_sources/mock.txt rename : python/mock-1.0.0/html/_sources/mocksignature.txt => third_party/python/mock-1.0.0/html/_sources/mocksignature.txt rename : python/mock-1.0.0/html/_sources/patch.txt => third_party/python/mock-1.0.0/html/_sources/patch.txt rename : python/mock-1.0.0/html/_sources/sentinel.txt => third_party/python/mock-1.0.0/html/_sources/sentinel.txt rename : python/mock-1.0.0/html/_static/adctheme.css => third_party/python/mock-1.0.0/html/_static/adctheme.css rename : python/mock-1.0.0/html/_static/basic.css => third_party/python/mock-1.0.0/html/_static/basic.css rename : python/mock-1.0.0/html/_static/breadcrumb_background.png => third_party/python/mock-1.0.0/html/_static/breadcrumb_background.png rename : python/mock-1.0.0/html/_static/default.css => third_party/python/mock-1.0.0/html/_static/default.css rename : python/mock-1.0.0/html/_static/doctools.js => third_party/python/mock-1.0.0/html/_static/doctools.js rename : python/mock-1.0.0/html/_static/documentation.png => third_party/python/mock-1.0.0/html/_static/documentation.png rename : python/mock-1.0.0/html/_static/file.png => third_party/python/mock-1.0.0/html/_static/file.png rename : python/mock-1.0.0/html/_static/header_sm_mid.png => third_party/python/mock-1.0.0/html/_static/header_sm_mid.png rename : python/mock-1.0.0/html/_static/jquery.js => third_party/python/mock-1.0.0/html/_static/jquery.js rename : python/mock-1.0.0/html/_static/minus.png => third_party/python/mock-1.0.0/html/_static/minus.png rename : python/mock-1.0.0/html/_static/mobile.css => third_party/python/mock-1.0.0/html/_static/mobile.css rename : python/mock-1.0.0/html/_static/plus.png => third_party/python/mock-1.0.0/html/_static/plus.png rename : python/mock-1.0.0/html/_static/pygments.css => third_party/python/mock-1.0.0/html/_static/pygments.css rename : python/mock-1.0.0/html/_static/scrn1.png => third_party/python/mock-1.0.0/html/_static/scrn1.png rename : python/mock-1.0.0/html/_static/scrn2.png => third_party/python/mock-1.0.0/html/_static/scrn2.png rename : python/mock-1.0.0/html/_static/searchfield_leftcap.png => third_party/python/mock-1.0.0/html/_static/searchfield_leftcap.png rename : python/mock-1.0.0/html/_static/searchfield_repeat.png => third_party/python/mock-1.0.0/html/_static/searchfield_repeat.png rename : python/mock-1.0.0/html/_static/searchfield_rightcap.png => third_party/python/mock-1.0.0/html/_static/searchfield_rightcap.png rename : python/mock-1.0.0/html/_static/searchtools.js => third_party/python/mock-1.0.0/html/_static/searchtools.js rename : python/mock-1.0.0/html/_static/sidebar.js => third_party/python/mock-1.0.0/html/_static/sidebar.js rename : python/mock-1.0.0/html/_static/title_background.png => third_party/python/mock-1.0.0/html/_static/title_background.png rename : python/mock-1.0.0/html/_static/toc.js => third_party/python/mock-1.0.0/html/_static/toc.js rename : python/mock-1.0.0/html/_static/triangle_closed.png => third_party/python/mock-1.0.0/html/_static/triangle_closed.png rename : python/mock-1.0.0/html/_static/triangle_left.png => third_party/python/mock-1.0.0/html/_static/triangle_left.png rename : python/mock-1.0.0/html/_static/triangle_open.png => third_party/python/mock-1.0.0/html/_static/triangle_open.png rename : python/mock-1.0.0/html/_static/underscore.js => third_party/python/mock-1.0.0/html/_static/underscore.js rename : python/mock-1.0.0/html/changelog.html => third_party/python/mock-1.0.0/html/changelog.html rename : python/mock-1.0.0/html/compare.html => third_party/python/mock-1.0.0/html/compare.html rename : python/mock-1.0.0/html/examples.html => third_party/python/mock-1.0.0/html/examples.html rename : python/mock-1.0.0/html/genindex.html => third_party/python/mock-1.0.0/html/genindex.html rename : python/mock-1.0.0/html/getting-started.html => third_party/python/mock-1.0.0/html/getting-started.html rename : python/mock-1.0.0/html/index.html => third_party/python/mock-1.0.0/html/index.html rename : python/mock-1.0.0/html/magicmock.html => third_party/python/mock-1.0.0/html/magicmock.html rename : python/mock-1.0.0/html/mock.html => third_party/python/mock-1.0.0/html/mock.html rename : python/mock-1.0.0/html/mocksignature.html => third_party/python/mock-1.0.0/html/mocksignature.html rename : python/mock-1.0.0/html/objects.inv => third_party/python/mock-1.0.0/html/objects.inv rename : python/mock-1.0.0/html/output.txt => third_party/python/mock-1.0.0/html/output.txt rename : python/mock-1.0.0/html/patch.html => third_party/python/mock-1.0.0/html/patch.html rename : python/mock-1.0.0/html/search.html => third_party/python/mock-1.0.0/html/search.html rename : python/mock-1.0.0/html/searchindex.js => third_party/python/mock-1.0.0/html/searchindex.js rename : python/mock-1.0.0/html/sentinel.html => third_party/python/mock-1.0.0/html/sentinel.html rename : python/mock-1.0.0/mock.egg-info/PKG-INFO => third_party/python/mock-1.0.0/mock.egg-info/PKG-INFO rename : python/mock-1.0.0/mock.egg-info/SOURCES.txt => third_party/python/mock-1.0.0/mock.egg-info/SOURCES.txt rename : python/mock-1.0.0/mock.egg-info/dependency_links.txt => third_party/python/mock-1.0.0/mock.egg-info/dependency_links.txt rename : python/mock-1.0.0/mock.egg-info/top_level.txt => third_party/python/mock-1.0.0/mock.egg-info/top_level.txt rename : python/mock-1.0.0/mock.py => third_party/python/mock-1.0.0/mock.py rename : python/mock-1.0.0/setup.cfg => third_party/python/mock-1.0.0/setup.cfg rename : python/mock-1.0.0/setup.py => third_party/python/mock-1.0.0/setup.py rename : python/mock-1.0.0/tests/__init__.py => third_party/python/mock-1.0.0/tests/__init__.py rename : python/mock-1.0.0/tests/_testwith.py => third_party/python/mock-1.0.0/tests/_testwith.py rename : python/mock-1.0.0/tests/support.py => third_party/python/mock-1.0.0/tests/support.py rename : python/mock-1.0.0/tests/support_with.py => third_party/python/mock-1.0.0/tests/support_with.py rename : python/mock-1.0.0/tests/testcallable.py => third_party/python/mock-1.0.0/tests/testcallable.py rename : python/mock-1.0.0/tests/testhelpers.py => third_party/python/mock-1.0.0/tests/testhelpers.py rename : python/mock-1.0.0/tests/testmagicmethods.py => third_party/python/mock-1.0.0/tests/testmagicmethods.py rename : python/mock-1.0.0/tests/testmock.py => third_party/python/mock-1.0.0/tests/testmock.py rename : python/mock-1.0.0/tests/testpatch.py => third_party/python/mock-1.0.0/tests/testpatch.py rename : python/mock-1.0.0/tests/testsentinel.py => third_party/python/mock-1.0.0/tests/testsentinel.py rename : python/mock-1.0.0/tests/testwith.py => third_party/python/mock-1.0.0/tests/testwith.py rename : python/mock-1.0.0/tox.ini => third_party/python/mock-1.0.0/tox.ini rename : python/psutil/CREDITS => third_party/python/psutil/CREDITS rename : python/psutil/HISTORY.rst => third_party/python/psutil/HISTORY.rst rename : python/psutil/INSTALL.rst => third_party/python/psutil/INSTALL.rst rename : python/psutil/LICENSE => third_party/python/psutil/LICENSE rename : python/psutil/MANIFEST.in => third_party/python/psutil/MANIFEST.in rename : python/psutil/Makefile => third_party/python/psutil/Makefile rename : python/psutil/PKG-INFO => third_party/python/psutil/PKG-INFO rename : python/psutil/README.rst => third_party/python/psutil/README.rst rename : python/psutil/TODO => third_party/python/psutil/TODO rename : python/psutil/docs/Makefile => third_party/python/psutil/docs/Makefile rename : python/psutil/docs/README => third_party/python/psutil/docs/README rename : python/psutil/docs/_static/copybutton.js => third_party/python/psutil/docs/_static/copybutton.js rename : python/psutil/docs/_static/favicon.ico => third_party/python/psutil/docs/_static/favicon.ico rename : python/psutil/docs/_static/logo.png => third_party/python/psutil/docs/_static/logo.png rename : python/psutil/docs/_static/sidebar.js => third_party/python/psutil/docs/_static/sidebar.js rename : python/psutil/docs/_template/globaltoc.html => third_party/python/psutil/docs/_template/globaltoc.html rename : python/psutil/docs/_template/indexcontent.html => third_party/python/psutil/docs/_template/indexcontent.html rename : python/psutil/docs/_template/indexsidebar.html => third_party/python/psutil/docs/_template/indexsidebar.html rename : python/psutil/docs/_template/page.html => third_party/python/psutil/docs/_template/page.html rename : python/psutil/docs/_themes/pydoctheme/static/pydoctheme.css => third_party/python/psutil/docs/_themes/pydoctheme/static/pydoctheme.css rename : python/psutil/docs/_themes/pydoctheme/theme.conf => third_party/python/psutil/docs/_themes/pydoctheme/theme.conf rename : python/psutil/docs/conf.py => third_party/python/psutil/docs/conf.py rename : python/psutil/docs/index.rst => third_party/python/psutil/docs/index.rst rename : python/psutil/docs/make.bat => third_party/python/psutil/docs/make.bat rename : python/psutil/docs/xxx => third_party/python/psutil/docs/xxx rename : python/psutil/examples/disk_usage.py => third_party/python/psutil/examples/disk_usage.py rename : python/psutil/examples/free.py => third_party/python/psutil/examples/free.py rename : python/psutil/examples/ifconfig.py => third_party/python/psutil/examples/ifconfig.py rename : python/psutil/examples/iotop.py => third_party/python/psutil/examples/iotop.py rename : python/psutil/examples/killall.py => third_party/python/psutil/examples/killall.py rename : python/psutil/examples/meminfo.py => third_party/python/psutil/examples/meminfo.py rename : python/psutil/examples/netstat.py => third_party/python/psutil/examples/netstat.py rename : python/psutil/examples/nettop.py => third_party/python/psutil/examples/nettop.py rename : python/psutil/examples/pidof.py => third_party/python/psutil/examples/pidof.py rename : python/psutil/examples/pmap.py => third_party/python/psutil/examples/pmap.py rename : python/psutil/examples/process_detail.py => third_party/python/psutil/examples/process_detail.py rename : python/psutil/examples/ps.py => third_party/python/psutil/examples/ps.py rename : python/psutil/examples/pstree.py => third_party/python/psutil/examples/pstree.py rename : python/psutil/examples/top.py => third_party/python/psutil/examples/top.py rename : python/psutil/examples/who.py => third_party/python/psutil/examples/who.py rename : python/psutil/make.bat => third_party/python/psutil/make.bat rename : python/psutil/psutil.egg-info/PKG-INFO => third_party/python/psutil/psutil.egg-info/PKG-INFO rename : python/psutil/psutil.egg-info/SOURCES.txt => third_party/python/psutil/psutil.egg-info/SOURCES.txt rename : python/psutil/psutil.egg-info/dependency_links.txt => third_party/python/psutil/psutil.egg-info/dependency_links.txt rename : python/psutil/psutil.egg-info/top_level.txt => third_party/python/psutil/psutil.egg-info/top_level.txt rename : python/psutil/psutil/__init__.py => third_party/python/psutil/psutil/__init__.py rename : python/psutil/psutil/_common.py => third_party/python/psutil/psutil/_common.py rename : python/psutil/psutil/_compat.py => third_party/python/psutil/psutil/_compat.py rename : python/psutil/psutil/_psbsd.py => third_party/python/psutil/psutil/_psbsd.py rename : python/psutil/psutil/_pslinux.py => third_party/python/psutil/psutil/_pslinux.py rename : python/psutil/psutil/_psosx.py => third_party/python/psutil/psutil/_psosx.py rename : python/psutil/psutil/_psposix.py => third_party/python/psutil/psutil/_psposix.py rename : python/psutil/psutil/_pssunos.py => third_party/python/psutil/psutil/_pssunos.py rename : python/psutil/psutil/_psutil_bsd.c => third_party/python/psutil/psutil/_psutil_bsd.c rename : python/psutil/psutil/_psutil_bsd.h => third_party/python/psutil/psutil/_psutil_bsd.h rename : python/psutil/psutil/_psutil_common.c => third_party/python/psutil/psutil/_psutil_common.c rename : python/psutil/psutil/_psutil_common.h => third_party/python/psutil/psutil/_psutil_common.h rename : python/psutil/psutil/_psutil_linux.c => third_party/python/psutil/psutil/_psutil_linux.c rename : python/psutil/psutil/_psutil_linux.h => third_party/python/psutil/psutil/_psutil_linux.h rename : python/psutil/psutil/_psutil_osx.c => third_party/python/psutil/psutil/_psutil_osx.c rename : python/psutil/psutil/_psutil_osx.h => third_party/python/psutil/psutil/_psutil_osx.h rename : python/psutil/psutil/_psutil_posix.c => third_party/python/psutil/psutil/_psutil_posix.c rename : python/psutil/psutil/_psutil_posix.h => third_party/python/psutil/psutil/_psutil_posix.h rename : python/psutil/psutil/_psutil_sunos.c => third_party/python/psutil/psutil/_psutil_sunos.c rename : python/psutil/psutil/_psutil_sunos.h => third_party/python/psutil/psutil/_psutil_sunos.h rename : python/psutil/psutil/_psutil_windows.c => third_party/python/psutil/psutil/_psutil_windows.c rename : python/psutil/psutil/_psutil_windows.h => third_party/python/psutil/psutil/_psutil_windows.h rename : python/psutil/psutil/_pswindows.py => third_party/python/psutil/psutil/_pswindows.py rename : python/psutil/psutil/arch/bsd/process_info.c => third_party/python/psutil/psutil/arch/bsd/process_info.c rename : python/psutil/psutil/arch/bsd/process_info.h => third_party/python/psutil/psutil/arch/bsd/process_info.h rename : python/psutil/psutil/arch/osx/process_info.c => third_party/python/psutil/psutil/arch/osx/process_info.c rename : python/psutil/psutil/arch/osx/process_info.h => third_party/python/psutil/psutil/arch/osx/process_info.h rename : python/psutil/psutil/arch/windows/glpi.h => third_party/python/psutil/psutil/arch/windows/glpi.h rename : python/psutil/psutil/arch/windows/inet_ntop.c => third_party/python/psutil/psutil/arch/windows/inet_ntop.c rename : python/psutil/psutil/arch/windows/inet_ntop.h => third_party/python/psutil/psutil/arch/windows/inet_ntop.h rename : python/psutil/psutil/arch/windows/ntextapi.h => third_party/python/psutil/psutil/arch/windows/ntextapi.h rename : python/psutil/psutil/arch/windows/process_handles.c => third_party/python/psutil/psutil/arch/windows/process_handles.c rename : python/psutil/psutil/arch/windows/process_handles.h => third_party/python/psutil/psutil/arch/windows/process_handles.h rename : python/psutil/psutil/arch/windows/process_info.c => third_party/python/psutil/psutil/arch/windows/process_info.c rename : python/psutil/psutil/arch/windows/process_info.h => third_party/python/psutil/psutil/arch/windows/process_info.h rename : python/psutil/psutil/arch/windows/security.c => third_party/python/psutil/psutil/arch/windows/security.c rename : python/psutil/psutil/arch/windows/security.h => third_party/python/psutil/psutil/arch/windows/security.h rename : python/psutil/setup.cfg => third_party/python/psutil/setup.cfg rename : python/psutil/setup.py => third_party/python/psutil/setup.py rename : python/psutil/test/README.rst => third_party/python/psutil/test/README.rst rename : python/psutil/test/_bsd.py => third_party/python/psutil/test/_bsd.py rename : python/psutil/test/_linux.py => third_party/python/psutil/test/_linux.py rename : python/psutil/test/_osx.py => third_party/python/psutil/test/_osx.py rename : python/psutil/test/_posix.py => third_party/python/psutil/test/_posix.py rename : python/psutil/test/_sunos.py => third_party/python/psutil/test/_sunos.py rename : python/psutil/test/_windows.py => third_party/python/psutil/test/_windows.py rename : python/psutil/test/test_memory_leaks.py => third_party/python/psutil/test/test_memory_leaks.py rename : python/psutil/test/test_psutil.py => third_party/python/psutil/test/test_psutil.py rename : python/psutil/tox.ini => third_party/python/psutil/tox.ini rename : python/py/AUTHORS => third_party/python/py/AUTHORS rename : python/py/LICENSE => third_party/python/py/LICENSE rename : python/py/MANIFEST.in => third_party/python/py/MANIFEST.in rename : python/py/PKG-INFO => third_party/python/py/PKG-INFO rename : python/py/README.txt => third_party/python/py/README.txt rename : python/py/py/__init__.py => third_party/python/py/py/__init__.py rename : python/py/py/__metainfo.py => third_party/python/py/py/__metainfo.py rename : python/py/py/_apipkg.py => third_party/python/py/py/_apipkg.py rename : python/py/py/_builtin.py => third_party/python/py/py/_builtin.py rename : python/py/py/_code/__init__.py => third_party/python/py/py/_code/__init__.py rename : python/py/py/_code/_assertionnew.py => third_party/python/py/py/_code/_assertionnew.py rename : python/py/py/_code/_assertionold.py => third_party/python/py/py/_code/_assertionold.py rename : python/py/py/_code/_py2traceback.py => third_party/python/py/py/_code/_py2traceback.py rename : python/py/py/_code/assertion.py => third_party/python/py/py/_code/assertion.py rename : python/py/py/_code/code.py => third_party/python/py/py/_code/code.py rename : python/py/py/_code/source.py => third_party/python/py/py/_code/source.py rename : python/py/py/_error.py => third_party/python/py/py/_error.py rename : python/py/py/_iniconfig.py => third_party/python/py/py/_iniconfig.py rename : python/py/py/_io/__init__.py => third_party/python/py/py/_io/__init__.py rename : python/py/py/_io/capture.py => third_party/python/py/py/_io/capture.py rename : python/py/py/_io/saferepr.py => third_party/python/py/py/_io/saferepr.py rename : python/py/py/_io/terminalwriter.py => third_party/python/py/py/_io/terminalwriter.py rename : python/py/py/_log/__init__.py => third_party/python/py/py/_log/__init__.py rename : python/py/py/_log/log.py => third_party/python/py/py/_log/log.py rename : python/py/py/_log/warning.py => third_party/python/py/py/_log/warning.py rename : python/py/py/_path/__init__.py => third_party/python/py/py/_path/__init__.py rename : python/py/py/_path/cacheutil.py => third_party/python/py/py/_path/cacheutil.py rename : python/py/py/_path/common.py => third_party/python/py/py/_path/common.py rename : python/py/py/_path/local.py => third_party/python/py/py/_path/local.py rename : python/py/py/_path/svnurl.py => third_party/python/py/py/_path/svnurl.py rename : python/py/py/_path/svnwc.py => third_party/python/py/py/_path/svnwc.py rename : python/py/py/_process/__init__.py => third_party/python/py/py/_process/__init__.py rename : python/py/py/_process/cmdexec.py => third_party/python/py/py/_process/cmdexec.py rename : python/py/py/_process/forkedfunc.py => third_party/python/py/py/_process/forkedfunc.py rename : python/py/py/_process/killproc.py => third_party/python/py/py/_process/killproc.py rename : python/py/py/_std.py => third_party/python/py/py/_std.py rename : python/py/py/_xmlgen.py => third_party/python/py/py/_xmlgen.py rename : python/py/py/test.py => third_party/python/py/py/test.py rename : python/py/setup.cfg => third_party/python/py/setup.cfg rename : python/py/setup.py => third_party/python/py/setup.py rename : python/pyasn1-modules/CHANGES => third_party/python/pyasn1-modules/CHANGES rename : python/pyasn1-modules/LICENSE => third_party/python/pyasn1-modules/LICENSE rename : python/pyasn1-modules/MANIFEST.in => third_party/python/pyasn1-modules/MANIFEST.in rename : python/pyasn1-modules/PKG-INFO => third_party/python/pyasn1-modules/PKG-INFO rename : python/pyasn1-modules/README => third_party/python/pyasn1-modules/README rename : python/pyasn1-modules/pyasn1_modules.egg-info/PKG-INFO => third_party/python/pyasn1-modules/pyasn1_modules.egg-info/PKG-INFO rename : python/pyasn1-modules/pyasn1_modules.egg-info/SOURCES.txt => third_party/python/pyasn1-modules/pyasn1_modules.egg-info/SOURCES.txt rename : python/pyasn1-modules/pyasn1_modules.egg-info/dependency_links.txt => third_party/python/pyasn1-modules/pyasn1_modules.egg-info/dependency_links.txt rename : python/pyasn1-modules/pyasn1_modules.egg-info/requires.txt => third_party/python/pyasn1-modules/pyasn1_modules.egg-info/requires.txt rename : python/pyasn1-modules/pyasn1_modules.egg-info/top_level.txt => third_party/python/pyasn1-modules/pyasn1_modules.egg-info/top_level.txt rename : python/pyasn1-modules/pyasn1_modules.egg-info/zip-safe => third_party/python/pyasn1-modules/pyasn1_modules.egg-info/zip-safe rename : python/pyasn1-modules/pyasn1_modules/__init__.py => third_party/python/pyasn1-modules/pyasn1_modules/__init__.py rename : python/pyasn1-modules/pyasn1_modules/pem.py => third_party/python/pyasn1-modules/pyasn1_modules/pem.py rename : python/pyasn1-modules/pyasn1_modules/pkcs12.py => third_party/python/pyasn1-modules/pyasn1_modules/pkcs12.py rename : python/pyasn1-modules/pyasn1_modules/rfc1155.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc1155.py rename : python/pyasn1-modules/pyasn1_modules/rfc1157.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc1157.py rename : python/pyasn1-modules/pyasn1_modules/rfc1901.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc1901.py rename : python/pyasn1-modules/pyasn1_modules/rfc1902.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc1902.py rename : python/pyasn1-modules/pyasn1_modules/rfc1905.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc1905.py rename : python/pyasn1-modules/pyasn1_modules/rfc2251.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc2251.py rename : python/pyasn1-modules/pyasn1_modules/rfc2314.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc2314.py rename : python/pyasn1-modules/pyasn1_modules/rfc2315.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc2315.py rename : python/pyasn1-modules/pyasn1_modules/rfc2437.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc2437.py rename : python/pyasn1-modules/pyasn1_modules/rfc2459.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc2459.py rename : python/pyasn1-modules/pyasn1_modules/rfc2511.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc2511.py rename : python/pyasn1-modules/pyasn1_modules/rfc2560.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc2560.py rename : python/pyasn1-modules/pyasn1_modules/rfc3412.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc3412.py rename : python/pyasn1-modules/pyasn1_modules/rfc3414.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc3414.py rename : python/pyasn1-modules/pyasn1_modules/rfc3447.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc3447.py rename : python/pyasn1-modules/pyasn1_modules/rfc4210.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc4210.py rename : python/pyasn1-modules/pyasn1_modules/rfc5208.py => third_party/python/pyasn1-modules/pyasn1_modules/rfc5208.py rename : python/pyasn1-modules/setup.cfg => third_party/python/pyasn1-modules/setup.cfg rename : python/pyasn1-modules/setup.py => third_party/python/pyasn1-modules/setup.py rename : python/pyasn1-modules/test/cmp.sh => third_party/python/pyasn1-modules/test/cmp.sh rename : python/pyasn1-modules/test/crl.sh => third_party/python/pyasn1-modules/test/crl.sh rename : python/pyasn1-modules/test/crmf.sh => third_party/python/pyasn1-modules/test/crmf.sh rename : python/pyasn1-modules/test/ocspreq.sh => third_party/python/pyasn1-modules/test/ocspreq.sh rename : python/pyasn1-modules/test/ocsprsp.sh => third_party/python/pyasn1-modules/test/ocsprsp.sh rename : python/pyasn1-modules/test/pkcs1.sh => third_party/python/pyasn1-modules/test/pkcs1.sh rename : python/pyasn1-modules/test/pkcs10.sh => third_party/python/pyasn1-modules/test/pkcs10.sh rename : python/pyasn1-modules/test/pkcs7.sh => third_party/python/pyasn1-modules/test/pkcs7.sh rename : python/pyasn1-modules/test/pkcs8.sh => third_party/python/pyasn1-modules/test/pkcs8.sh rename : python/pyasn1-modules/test/x509dump.sh => third_party/python/pyasn1-modules/test/x509dump.sh rename : python/pyasn1-modules/tools/cmpdump.py => third_party/python/pyasn1-modules/tools/cmpdump.py rename : python/pyasn1-modules/tools/crldump.py => third_party/python/pyasn1-modules/tools/crldump.py rename : python/pyasn1-modules/tools/crmfdump.py => third_party/python/pyasn1-modules/tools/crmfdump.py rename : python/pyasn1-modules/tools/ocspclient.py => third_party/python/pyasn1-modules/tools/ocspclient.py rename : python/pyasn1-modules/tools/ocspreqdump.py => third_party/python/pyasn1-modules/tools/ocspreqdump.py rename : python/pyasn1-modules/tools/ocsprspdump.py => third_party/python/pyasn1-modules/tools/ocsprspdump.py rename : python/pyasn1-modules/tools/ocspserver.py => third_party/python/pyasn1-modules/tools/ocspserver.py rename : python/pyasn1-modules/tools/pkcs10dump.py => third_party/python/pyasn1-modules/tools/pkcs10dump.py rename : python/pyasn1-modules/tools/pkcs1dump.py => third_party/python/pyasn1-modules/tools/pkcs1dump.py rename : python/pyasn1-modules/tools/pkcs7dump.py => third_party/python/pyasn1-modules/tools/pkcs7dump.py rename : python/pyasn1-modules/tools/pkcs8dump.py => third_party/python/pyasn1-modules/tools/pkcs8dump.py rename : python/pyasn1-modules/tools/snmpget.py => third_party/python/pyasn1-modules/tools/snmpget.py rename : python/pyasn1-modules/tools/x509dump.py => third_party/python/pyasn1-modules/tools/x509dump.py rename : python/pyasn1/CHANGES => third_party/python/pyasn1/CHANGES rename : python/pyasn1/LICENSE => third_party/python/pyasn1/LICENSE rename : python/pyasn1/MANIFEST.in => third_party/python/pyasn1/MANIFEST.in rename : python/pyasn1/PKG-INFO => third_party/python/pyasn1/PKG-INFO rename : python/pyasn1/README => third_party/python/pyasn1/README rename : python/pyasn1/THANKS => third_party/python/pyasn1/THANKS rename : python/pyasn1/TODO => third_party/python/pyasn1/TODO rename : python/pyasn1/doc/codecs.html => third_party/python/pyasn1/doc/codecs.html rename : python/pyasn1/doc/constraints.html => third_party/python/pyasn1/doc/constraints.html rename : python/pyasn1/doc/constructed.html => third_party/python/pyasn1/doc/constructed.html rename : python/pyasn1/doc/intro.html => third_party/python/pyasn1/doc/intro.html rename : python/pyasn1/doc/pyasn1-tutorial.html => third_party/python/pyasn1/doc/pyasn1-tutorial.html rename : python/pyasn1/doc/scalar.html => third_party/python/pyasn1/doc/scalar.html rename : python/pyasn1/doc/tagging.html => third_party/python/pyasn1/doc/tagging.html rename : python/pyasn1/pyasn1.egg-info/PKG-INFO => third_party/python/pyasn1/pyasn1.egg-info/PKG-INFO rename : python/pyasn1/pyasn1.egg-info/SOURCES.txt => third_party/python/pyasn1/pyasn1.egg-info/SOURCES.txt rename : python/pyasn1/pyasn1.egg-info/dependency_links.txt => third_party/python/pyasn1/pyasn1.egg-info/dependency_links.txt rename : python/pyasn1/pyasn1.egg-info/top_level.txt => third_party/python/pyasn1/pyasn1.egg-info/top_level.txt rename : python/pyasn1/pyasn1.egg-info/zip-safe => third_party/python/pyasn1/pyasn1.egg-info/zip-safe rename : python/pyasn1/pyasn1/__init__.py => third_party/python/pyasn1/pyasn1/__init__.py rename : python/pyasn1/pyasn1/codec/__init__.py => third_party/python/pyasn1/pyasn1/codec/__init__.py rename : python/pyasn1/pyasn1/codec/ber/__init__.py => third_party/python/pyasn1/pyasn1/codec/ber/__init__.py rename : python/pyasn1/pyasn1/codec/ber/decoder.py => third_party/python/pyasn1/pyasn1/codec/ber/decoder.py rename : python/pyasn1/pyasn1/codec/ber/encoder.py => third_party/python/pyasn1/pyasn1/codec/ber/encoder.py rename : python/pyasn1/pyasn1/codec/ber/eoo.py => third_party/python/pyasn1/pyasn1/codec/ber/eoo.py rename : python/pyasn1/pyasn1/codec/cer/__init__.py => third_party/python/pyasn1/pyasn1/codec/cer/__init__.py rename : python/pyasn1/pyasn1/codec/cer/decoder.py => third_party/python/pyasn1/pyasn1/codec/cer/decoder.py rename : python/pyasn1/pyasn1/codec/cer/encoder.py => third_party/python/pyasn1/pyasn1/codec/cer/encoder.py rename : python/pyasn1/pyasn1/codec/der/__init__.py => third_party/python/pyasn1/pyasn1/codec/der/__init__.py rename : python/pyasn1/pyasn1/codec/der/decoder.py => third_party/python/pyasn1/pyasn1/codec/der/decoder.py rename : python/pyasn1/pyasn1/codec/der/encoder.py => third_party/python/pyasn1/pyasn1/codec/der/encoder.py rename : python/pyasn1/pyasn1/compat/__init__.py => third_party/python/pyasn1/pyasn1/compat/__init__.py rename : python/pyasn1/pyasn1/compat/octets.py => third_party/python/pyasn1/pyasn1/compat/octets.py rename : python/pyasn1/pyasn1/debug.py => third_party/python/pyasn1/pyasn1/debug.py rename : python/pyasn1/pyasn1/error.py => third_party/python/pyasn1/pyasn1/error.py rename : python/pyasn1/pyasn1/type/__init__.py => third_party/python/pyasn1/pyasn1/type/__init__.py rename : python/pyasn1/pyasn1/type/base.py => third_party/python/pyasn1/pyasn1/type/base.py rename : python/pyasn1/pyasn1/type/char.py => third_party/python/pyasn1/pyasn1/type/char.py rename : python/pyasn1/pyasn1/type/constraint.py => third_party/python/pyasn1/pyasn1/type/constraint.py rename : python/pyasn1/pyasn1/type/error.py => third_party/python/pyasn1/pyasn1/type/error.py rename : python/pyasn1/pyasn1/type/namedtype.py => third_party/python/pyasn1/pyasn1/type/namedtype.py rename : python/pyasn1/pyasn1/type/namedval.py => third_party/python/pyasn1/pyasn1/type/namedval.py rename : python/pyasn1/pyasn1/type/tag.py => third_party/python/pyasn1/pyasn1/type/tag.py rename : python/pyasn1/pyasn1/type/tagmap.py => third_party/python/pyasn1/pyasn1/type/tagmap.py rename : python/pyasn1/pyasn1/type/univ.py => third_party/python/pyasn1/pyasn1/type/univ.py rename : python/pyasn1/pyasn1/type/useful.py => third_party/python/pyasn1/pyasn1/type/useful.py rename : python/pyasn1/setup.cfg => third_party/python/pyasn1/setup.cfg rename : python/pyasn1/setup.py => third_party/python/pyasn1/setup.py rename : python/pyasn1/test/__init__.py => third_party/python/pyasn1/test/__init__.py rename : python/pyasn1/test/codec/__init__.py => third_party/python/pyasn1/test/codec/__init__.py rename : python/pyasn1/test/codec/ber/__init__.py => third_party/python/pyasn1/test/codec/ber/__init__.py rename : python/pyasn1/test/codec/ber/suite.py => third_party/python/pyasn1/test/codec/ber/suite.py rename : python/pyasn1/test/codec/ber/test_decoder.py => third_party/python/pyasn1/test/codec/ber/test_decoder.py rename : python/pyasn1/test/codec/ber/test_encoder.py => third_party/python/pyasn1/test/codec/ber/test_encoder.py rename : python/pyasn1/test/codec/cer/__init__.py => third_party/python/pyasn1/test/codec/cer/__init__.py rename : python/pyasn1/test/codec/cer/suite.py => third_party/python/pyasn1/test/codec/cer/suite.py rename : python/pyasn1/test/codec/cer/test_decoder.py => third_party/python/pyasn1/test/codec/cer/test_decoder.py rename : python/pyasn1/test/codec/cer/test_encoder.py => third_party/python/pyasn1/test/codec/cer/test_encoder.py rename : python/pyasn1/test/codec/der/__init__.py => third_party/python/pyasn1/test/codec/der/__init__.py rename : python/pyasn1/test/codec/der/suite.py => third_party/python/pyasn1/test/codec/der/suite.py rename : python/pyasn1/test/codec/der/test_decoder.py => third_party/python/pyasn1/test/codec/der/test_decoder.py rename : python/pyasn1/test/codec/der/test_encoder.py => third_party/python/pyasn1/test/codec/der/test_encoder.py rename : python/pyasn1/test/codec/suite.py => third_party/python/pyasn1/test/codec/suite.py rename : python/pyasn1/test/suite.py => third_party/python/pyasn1/test/suite.py rename : python/pyasn1/test/type/__init__.py => third_party/python/pyasn1/test/type/__init__.py rename : python/pyasn1/test/type/suite.py => third_party/python/pyasn1/test/type/suite.py rename : python/pyasn1/test/type/test_constraint.py => third_party/python/pyasn1/test/type/test_constraint.py rename : python/pyasn1/test/type/test_namedtype.py => third_party/python/pyasn1/test/type/test_namedtype.py rename : python/pyasn1/test/type/test_tag.py => third_party/python/pyasn1/test/type/test_tag.py rename : python/pyasn1/test/type/test_univ.py => third_party/python/pyasn1/test/type/test_univ.py rename : python/pylru/pylru.py => third_party/python/pylru/pylru.py rename : python/pylru/test.py => third_party/python/pylru/test.py rename : python/pystache/.gitignore => third_party/python/pystache/.gitignore rename : python/pystache/.gitmodules => third_party/python/pystache/.gitmodules rename : python/pystache/.travis.yml => third_party/python/pystache/.travis.yml rename : python/pystache/HISTORY.md => third_party/python/pystache/HISTORY.md rename : python/pystache/LICENSE => third_party/python/pystache/LICENSE rename : python/pystache/MANIFEST.in => third_party/python/pystache/MANIFEST.in rename : python/pystache/README.md => third_party/python/pystache/README.md rename : python/pystache/TODO.md => third_party/python/pystache/TODO.md rename : python/pystache/gh/images/logo_phillips.png => third_party/python/pystache/gh/images/logo_phillips.png rename : python/pystache/pystache/__init__.py => third_party/python/pystache/pystache/__init__.py rename : python/pystache/pystache/commands/__init__.py => third_party/python/pystache/pystache/commands/__init__.py rename : python/pystache/pystache/commands/render.py => third_party/python/pystache/pystache/commands/render.py rename : python/pystache/pystache/commands/test.py => third_party/python/pystache/pystache/commands/test.py rename : python/pystache/pystache/common.py => third_party/python/pystache/pystache/common.py rename : python/pystache/pystache/context.py => third_party/python/pystache/pystache/context.py rename : python/pystache/pystache/defaults.py => third_party/python/pystache/pystache/defaults.py rename : python/pystache/pystache/init.py => third_party/python/pystache/pystache/init.py rename : python/pystache/pystache/loader.py => third_party/python/pystache/pystache/loader.py rename : python/pystache/pystache/locator.py => third_party/python/pystache/pystache/locator.py rename : python/pystache/pystache/parsed.py => third_party/python/pystache/pystache/parsed.py rename : python/pystache/pystache/parser.py => third_party/python/pystache/pystache/parser.py rename : python/pystache/pystache/renderengine.py => third_party/python/pystache/pystache/renderengine.py rename : python/pystache/pystache/renderer.py => third_party/python/pystache/pystache/renderer.py rename : python/pystache/pystache/specloader.py => third_party/python/pystache/pystache/specloader.py rename : python/pystache/pystache/template_spec.py => third_party/python/pystache/pystache/template_spec.py rename : python/pystache/setup.py => third_party/python/pystache/setup.py rename : python/pystache/setup_description.rst => third_party/python/pystache/setup_description.rst rename : python/pystache/test_pystache.py => third_party/python/pystache/test_pystache.py rename : python/pystache/tox.ini => third_party/python/pystache/tox.ini rename : python/pytest/.coveragerc => third_party/python/pytest/.coveragerc rename : python/pytest/AUTHORS => third_party/python/pytest/AUTHORS rename : python/pytest/LICENSE => third_party/python/pytest/LICENSE rename : python/pytest/MANIFEST.in => third_party/python/pytest/MANIFEST.in rename : python/pytest/PKG-INFO => third_party/python/pytest/PKG-INFO rename : python/pytest/README.rst => third_party/python/pytest/README.rst rename : python/pytest/_pytest/__init__.py => third_party/python/pytest/_pytest/__init__.py rename : python/pytest/_pytest/_argcomplete.py => third_party/python/pytest/_pytest/_argcomplete.py rename : python/pytest/_pytest/_code/__init__.py => third_party/python/pytest/_pytest/_code/__init__.py rename : python/pytest/_pytest/_code/_py2traceback.py => third_party/python/pytest/_pytest/_code/_py2traceback.py rename : python/pytest/_pytest/_code/code.py => third_party/python/pytest/_pytest/_code/code.py rename : python/pytest/_pytest/_code/source.py => third_party/python/pytest/_pytest/_code/source.py rename : python/pytest/_pytest/_pluggy.py => third_party/python/pytest/_pytest/_pluggy.py rename : python/pytest/_pytest/assertion/__init__.py => third_party/python/pytest/_pytest/assertion/__init__.py rename : python/pytest/_pytest/assertion/reinterpret.py => third_party/python/pytest/_pytest/assertion/reinterpret.py rename : python/pytest/_pytest/assertion/rewrite.py => third_party/python/pytest/_pytest/assertion/rewrite.py rename : python/pytest/_pytest/assertion/util.py => third_party/python/pytest/_pytest/assertion/util.py rename : python/pytest/_pytest/cacheprovider.py => third_party/python/pytest/_pytest/cacheprovider.py rename : python/pytest/_pytest/capture.py => third_party/python/pytest/_pytest/capture.py rename : python/pytest/_pytest/config.py => third_party/python/pytest/_pytest/config.py rename : python/pytest/_pytest/doctest.py => third_party/python/pytest/_pytest/doctest.py rename : python/pytest/_pytest/genscript.py => third_party/python/pytest/_pytest/genscript.py rename : python/pytest/_pytest/helpconfig.py => third_party/python/pytest/_pytest/helpconfig.py rename : python/pytest/_pytest/hookspec.py => third_party/python/pytest/_pytest/hookspec.py rename : python/pytest/_pytest/junitxml.py => third_party/python/pytest/_pytest/junitxml.py rename : python/pytest/_pytest/main.py => third_party/python/pytest/_pytest/main.py rename : python/pytest/_pytest/mark.py => third_party/python/pytest/_pytest/mark.py rename : python/pytest/_pytest/monkeypatch.py => third_party/python/pytest/_pytest/monkeypatch.py rename : python/pytest/_pytest/nose.py => third_party/python/pytest/_pytest/nose.py rename : python/pytest/_pytest/pastebin.py => third_party/python/pytest/_pytest/pastebin.py rename : python/pytest/_pytest/pdb.py => third_party/python/pytest/_pytest/pdb.py rename : python/pytest/_pytest/pytester.py => third_party/python/pytest/_pytest/pytester.py rename : python/pytest/_pytest/python.py => third_party/python/pytest/_pytest/python.py rename : python/pytest/_pytest/recwarn.py => third_party/python/pytest/_pytest/recwarn.py rename : python/pytest/_pytest/resultlog.py => third_party/python/pytest/_pytest/resultlog.py rename : python/pytest/_pytest/runner.py => third_party/python/pytest/_pytest/runner.py rename : python/pytest/_pytest/skipping.py => third_party/python/pytest/_pytest/skipping.py rename : python/pytest/_pytest/standalonetemplate.py => third_party/python/pytest/_pytest/standalonetemplate.py rename : python/pytest/_pytest/terminal.py => third_party/python/pytest/_pytest/terminal.py rename : python/pytest/_pytest/tmpdir.py => third_party/python/pytest/_pytest/tmpdir.py rename : python/pytest/_pytest/unittest.py => third_party/python/pytest/_pytest/unittest.py rename : python/pytest/_pytest/vendored_packages/README.md => third_party/python/pytest/_pytest/vendored_packages/README.md rename : python/pytest/_pytest/vendored_packages/__init__.py => third_party/python/pytest/_pytest/vendored_packages/__init__.py rename : python/pytest/_pytest/vendored_packages/pluggy-0.3.1.dist-info/DESCRIPTION.rst => third_party/python/pytest/_pytest/vendored_packages/pluggy-0.3.1.dist-info/DESCRIPTION.rst rename : python/pytest/_pytest/vendored_packages/pluggy-0.3.1.dist-info/METADATA => third_party/python/pytest/_pytest/vendored_packages/pluggy-0.3.1.dist-info/METADATA rename : python/pytest/_pytest/vendored_packages/pluggy-0.3.1.dist-info/RECORD => third_party/python/pytest/_pytest/vendored_packages/pluggy-0.3.1.dist-info/RECORD rename : python/pytest/_pytest/vendored_packages/pluggy-0.3.1.dist-info/WHEEL => third_party/python/pytest/_pytest/vendored_packages/pluggy-0.3.1.dist-info/WHEEL rename : python/pytest/_pytest/vendored_packages/pluggy-0.3.1.dist-info/metadata.json => third_party/python/pytest/_pytest/vendored_packages/pluggy-0.3.1.dist-info/metadata.json rename : python/pytest/_pytest/vendored_packages/pluggy-0.3.1.dist-info/pbr.json => third_party/python/pytest/_pytest/vendored_packages/pluggy-0.3.1.dist-info/pbr.json rename : python/pytest/_pytest/vendored_packages/pluggy-0.3.1.dist-info/top_level.txt => third_party/python/pytest/_pytest/vendored_packages/pluggy-0.3.1.dist-info/top_level.txt rename : python/pytest/_pytest/vendored_packages/pluggy.py => third_party/python/pytest/_pytest/vendored_packages/pluggy.py rename : python/pytest/pytest.py => third_party/python/pytest/pytest.py rename : python/pytest/setup.cfg => third_party/python/pytest/setup.cfg rename : python/pytest/setup.py => third_party/python/pytest/setup.py rename : python/pytoml/PKG-INFO => third_party/python/pytoml/PKG-INFO rename : python/pytoml/pytoml/__init__.py => third_party/python/pytoml/pytoml/__init__.py rename : python/pytoml/pytoml/core.py => third_party/python/pytoml/pytoml/core.py rename : python/pytoml/pytoml/parser.py => third_party/python/pytoml/pytoml/parser.py rename : python/pytoml/pytoml/writer.py => third_party/python/pytoml/pytoml/writer.py rename : python/pytoml/setup.cfg => third_party/python/pytoml/setup.cfg rename : python/pytoml/setup.py => third_party/python/pytoml/setup.py rename : python/pytoml/test/test.py => third_party/python/pytoml/test/test.py rename : python/pyyaml/CHANGES => third_party/python/pyyaml/CHANGES rename : python/pyyaml/LICENSE => third_party/python/pyyaml/LICENSE rename : python/pyyaml/PKG-INFO => third_party/python/pyyaml/PKG-INFO rename : python/pyyaml/README => third_party/python/pyyaml/README rename : python/pyyaml/examples/pygments-lexer/example.yaml => third_party/python/pyyaml/examples/pygments-lexer/example.yaml rename : python/pyyaml/examples/pygments-lexer/yaml.py => third_party/python/pyyaml/examples/pygments-lexer/yaml.py rename : python/pyyaml/examples/yaml-highlight/yaml_hl.cfg => third_party/python/pyyaml/examples/yaml-highlight/yaml_hl.cfg rename : python/pyyaml/examples/yaml-highlight/yaml_hl.py => third_party/python/pyyaml/examples/yaml-highlight/yaml_hl.py rename : python/pyyaml/ext/_yaml.c => third_party/python/pyyaml/ext/_yaml.c rename : python/pyyaml/ext/_yaml.h => third_party/python/pyyaml/ext/_yaml.h rename : python/pyyaml/ext/_yaml.pxd => third_party/python/pyyaml/ext/_yaml.pxd rename : python/pyyaml/ext/_yaml.pyx => third_party/python/pyyaml/ext/_yaml.pyx rename : python/pyyaml/lib/yaml/__init__.py => third_party/python/pyyaml/lib/yaml/__init__.py rename : python/pyyaml/lib/yaml/composer.py => third_party/python/pyyaml/lib/yaml/composer.py rename : python/pyyaml/lib/yaml/constructor.py => third_party/python/pyyaml/lib/yaml/constructor.py rename : python/pyyaml/lib/yaml/cyaml.py => third_party/python/pyyaml/lib/yaml/cyaml.py rename : python/pyyaml/lib/yaml/dumper.py => third_party/python/pyyaml/lib/yaml/dumper.py rename : python/pyyaml/lib/yaml/emitter.py => third_party/python/pyyaml/lib/yaml/emitter.py rename : python/pyyaml/lib/yaml/error.py => third_party/python/pyyaml/lib/yaml/error.py rename : python/pyyaml/lib/yaml/events.py => third_party/python/pyyaml/lib/yaml/events.py rename : python/pyyaml/lib/yaml/loader.py => third_party/python/pyyaml/lib/yaml/loader.py rename : python/pyyaml/lib/yaml/nodes.py => third_party/python/pyyaml/lib/yaml/nodes.py rename : python/pyyaml/lib/yaml/parser.py => third_party/python/pyyaml/lib/yaml/parser.py rename : python/pyyaml/lib/yaml/reader.py => third_party/python/pyyaml/lib/yaml/reader.py rename : python/pyyaml/lib/yaml/representer.py => third_party/python/pyyaml/lib/yaml/representer.py rename : python/pyyaml/lib/yaml/resolver.py => third_party/python/pyyaml/lib/yaml/resolver.py rename : python/pyyaml/lib/yaml/scanner.py => third_party/python/pyyaml/lib/yaml/scanner.py rename : python/pyyaml/lib/yaml/serializer.py => third_party/python/pyyaml/lib/yaml/serializer.py rename : python/pyyaml/lib/yaml/tokens.py => third_party/python/pyyaml/lib/yaml/tokens.py rename : python/pyyaml/lib3/yaml/__init__.py => third_party/python/pyyaml/lib3/yaml/__init__.py rename : python/pyyaml/lib3/yaml/composer.py => third_party/python/pyyaml/lib3/yaml/composer.py rename : python/pyyaml/lib3/yaml/constructor.py => third_party/python/pyyaml/lib3/yaml/constructor.py rename : python/pyyaml/lib3/yaml/cyaml.py => third_party/python/pyyaml/lib3/yaml/cyaml.py rename : python/pyyaml/lib3/yaml/dumper.py => third_party/python/pyyaml/lib3/yaml/dumper.py rename : python/pyyaml/lib3/yaml/emitter.py => third_party/python/pyyaml/lib3/yaml/emitter.py rename : python/pyyaml/lib3/yaml/error.py => third_party/python/pyyaml/lib3/yaml/error.py rename : python/pyyaml/lib3/yaml/events.py => third_party/python/pyyaml/lib3/yaml/events.py rename : python/pyyaml/lib3/yaml/loader.py => third_party/python/pyyaml/lib3/yaml/loader.py rename : python/pyyaml/lib3/yaml/nodes.py => third_party/python/pyyaml/lib3/yaml/nodes.py rename : python/pyyaml/lib3/yaml/parser.py => third_party/python/pyyaml/lib3/yaml/parser.py rename : python/pyyaml/lib3/yaml/reader.py => third_party/python/pyyaml/lib3/yaml/reader.py rename : python/pyyaml/lib3/yaml/representer.py => third_party/python/pyyaml/lib3/yaml/representer.py rename : python/pyyaml/lib3/yaml/resolver.py => third_party/python/pyyaml/lib3/yaml/resolver.py rename : python/pyyaml/lib3/yaml/scanner.py => third_party/python/pyyaml/lib3/yaml/scanner.py rename : python/pyyaml/lib3/yaml/serializer.py => third_party/python/pyyaml/lib3/yaml/serializer.py rename : python/pyyaml/lib3/yaml/tokens.py => third_party/python/pyyaml/lib3/yaml/tokens.py rename : python/pyyaml/setup.cfg => third_party/python/pyyaml/setup.cfg rename : python/pyyaml/setup.py => third_party/python/pyyaml/setup.py rename : python/redo/PKG-INFO => third_party/python/redo/PKG-INFO rename : python/redo/README => third_party/python/redo/README rename : python/redo/redo.egg-info/PKG-INFO => third_party/python/redo/redo.egg-info/PKG-INFO rename : python/redo/redo.egg-info/SOURCES.txt => third_party/python/redo/redo.egg-info/SOURCES.txt rename : python/redo/redo.egg-info/dependency_links.txt => third_party/python/redo/redo.egg-info/dependency_links.txt rename : python/redo/redo.egg-info/entry_points.txt => third_party/python/redo/redo.egg-info/entry_points.txt rename : python/redo/redo.egg-info/top_level.txt => third_party/python/redo/redo.egg-info/top_level.txt rename : python/redo/redo/__init__.py => third_party/python/redo/redo/__init__.py rename : python/redo/redo/cmd.py => third_party/python/redo/redo/cmd.py rename : python/redo/setup.cfg => third_party/python/redo/setup.cfg rename : python/redo/setup.py => third_party/python/redo/setup.py rename : python/requests/HISTORY.rst => third_party/python/requests/HISTORY.rst rename : python/requests/LICENSE => third_party/python/requests/LICENSE rename : python/requests/MANIFEST.in => third_party/python/requests/MANIFEST.in rename : python/requests/NOTICE => third_party/python/requests/NOTICE rename : python/requests/PKG-INFO => third_party/python/requests/PKG-INFO rename : python/requests/README.rst => third_party/python/requests/README.rst rename : python/requests/requests.egg-info/PKG-INFO => third_party/python/requests/requests.egg-info/PKG-INFO rename : python/requests/requests.egg-info/SOURCES.txt => third_party/python/requests/requests.egg-info/SOURCES.txt rename : python/requests/requests.egg-info/dependency_links.txt => third_party/python/requests/requests.egg-info/dependency_links.txt rename : python/requests/requests.egg-info/not-zip-safe => third_party/python/requests/requests.egg-info/not-zip-safe rename : python/requests/requests.egg-info/requires.txt => third_party/python/requests/requests.egg-info/requires.txt rename : python/requests/requests.egg-info/top_level.txt => third_party/python/requests/requests.egg-info/top_level.txt rename : python/requests/requests/__init__.py => third_party/python/requests/requests/__init__.py rename : python/requests/requests/adapters.py => third_party/python/requests/requests/adapters.py rename : python/requests/requests/api.py => third_party/python/requests/requests/api.py rename : python/requests/requests/auth.py => third_party/python/requests/requests/auth.py rename : python/requests/requests/cacert.pem => third_party/python/requests/requests/cacert.pem rename : python/requests/requests/certs.py => third_party/python/requests/requests/certs.py rename : python/requests/requests/compat.py => third_party/python/requests/requests/compat.py rename : python/requests/requests/cookies.py => third_party/python/requests/requests/cookies.py rename : python/requests/requests/exceptions.py => third_party/python/requests/requests/exceptions.py rename : python/requests/requests/hooks.py => third_party/python/requests/requests/hooks.py rename : python/requests/requests/models.py => third_party/python/requests/requests/models.py rename : python/requests/requests/packages/__init__.py => third_party/python/requests/requests/packages/__init__.py rename : python/requests/requests/packages/chardet/__init__.py => third_party/python/requests/requests/packages/chardet/__init__.py rename : python/requests/requests/packages/chardet/big5freq.py => third_party/python/requests/requests/packages/chardet/big5freq.py rename : python/requests/requests/packages/chardet/big5prober.py => third_party/python/requests/requests/packages/chardet/big5prober.py rename : python/requests/requests/packages/chardet/chardetect.py => third_party/python/requests/requests/packages/chardet/chardetect.py rename : python/requests/requests/packages/chardet/chardistribution.py => third_party/python/requests/requests/packages/chardet/chardistribution.py rename : python/requests/requests/packages/chardet/charsetgroupprober.py => third_party/python/requests/requests/packages/chardet/charsetgroupprober.py rename : python/requests/requests/packages/chardet/charsetprober.py => third_party/python/requests/requests/packages/chardet/charsetprober.py rename : python/requests/requests/packages/chardet/codingstatemachine.py => third_party/python/requests/requests/packages/chardet/codingstatemachine.py rename : python/requests/requests/packages/chardet/compat.py => third_party/python/requests/requests/packages/chardet/compat.py rename : python/requests/requests/packages/chardet/constants.py => third_party/python/requests/requests/packages/chardet/constants.py rename : python/requests/requests/packages/chardet/cp949prober.py => third_party/python/requests/requests/packages/chardet/cp949prober.py rename : python/requests/requests/packages/chardet/escprober.py => third_party/python/requests/requests/packages/chardet/escprober.py rename : python/requests/requests/packages/chardet/escsm.py => third_party/python/requests/requests/packages/chardet/escsm.py rename : python/requests/requests/packages/chardet/eucjpprober.py => third_party/python/requests/requests/packages/chardet/eucjpprober.py rename : python/requests/requests/packages/chardet/euckrfreq.py => third_party/python/requests/requests/packages/chardet/euckrfreq.py rename : python/requests/requests/packages/chardet/euckrprober.py => third_party/python/requests/requests/packages/chardet/euckrprober.py rename : python/requests/requests/packages/chardet/euctwfreq.py => third_party/python/requests/requests/packages/chardet/euctwfreq.py rename : python/requests/requests/packages/chardet/euctwprober.py => third_party/python/requests/requests/packages/chardet/euctwprober.py rename : python/requests/requests/packages/chardet/gb2312freq.py => third_party/python/requests/requests/packages/chardet/gb2312freq.py rename : python/requests/requests/packages/chardet/gb2312prober.py => third_party/python/requests/requests/packages/chardet/gb2312prober.py rename : python/requests/requests/packages/chardet/hebrewprober.py => third_party/python/requests/requests/packages/chardet/hebrewprober.py rename : python/requests/requests/packages/chardet/jisfreq.py => third_party/python/requests/requests/packages/chardet/jisfreq.py rename : python/requests/requests/packages/chardet/jpcntx.py => third_party/python/requests/requests/packages/chardet/jpcntx.py rename : python/requests/requests/packages/chardet/langbulgarianmodel.py => third_party/python/requests/requests/packages/chardet/langbulgarianmodel.py rename : python/requests/requests/packages/chardet/langcyrillicmodel.py => third_party/python/requests/requests/packages/chardet/langcyrillicmodel.py rename : python/requests/requests/packages/chardet/langgreekmodel.py => third_party/python/requests/requests/packages/chardet/langgreekmodel.py rename : python/requests/requests/packages/chardet/langhebrewmodel.py => third_party/python/requests/requests/packages/chardet/langhebrewmodel.py rename : python/requests/requests/packages/chardet/langhungarianmodel.py => third_party/python/requests/requests/packages/chardet/langhungarianmodel.py rename : python/requests/requests/packages/chardet/langthaimodel.py => third_party/python/requests/requests/packages/chardet/langthaimodel.py rename : python/requests/requests/packages/chardet/latin1prober.py => third_party/python/requests/requests/packages/chardet/latin1prober.py rename : python/requests/requests/packages/chardet/mbcharsetprober.py => third_party/python/requests/requests/packages/chardet/mbcharsetprober.py rename : python/requests/requests/packages/chardet/mbcsgroupprober.py => third_party/python/requests/requests/packages/chardet/mbcsgroupprober.py rename : python/requests/requests/packages/chardet/mbcssm.py => third_party/python/requests/requests/packages/chardet/mbcssm.py rename : python/requests/requests/packages/chardet/sbcharsetprober.py => third_party/python/requests/requests/packages/chardet/sbcharsetprober.py rename : python/requests/requests/packages/chardet/sbcsgroupprober.py => third_party/python/requests/requests/packages/chardet/sbcsgroupprober.py rename : python/requests/requests/packages/chardet/sjisprober.py => third_party/python/requests/requests/packages/chardet/sjisprober.py rename : python/requests/requests/packages/chardet/universaldetector.py => third_party/python/requests/requests/packages/chardet/universaldetector.py rename : python/requests/requests/packages/chardet/utf8prober.py => third_party/python/requests/requests/packages/chardet/utf8prober.py rename : python/requests/requests/packages/urllib3/__init__.py => third_party/python/requests/requests/packages/urllib3/__init__.py rename : python/requests/requests/packages/urllib3/_collections.py => third_party/python/requests/requests/packages/urllib3/_collections.py rename : python/requests/requests/packages/urllib3/connection.py => third_party/python/requests/requests/packages/urllib3/connection.py rename : python/requests/requests/packages/urllib3/connectionpool.py => third_party/python/requests/requests/packages/urllib3/connectionpool.py rename : python/requests/requests/packages/urllib3/contrib/__init__.py => third_party/python/requests/requests/packages/urllib3/contrib/__init__.py rename : python/requests/requests/packages/urllib3/contrib/appengine.py => third_party/python/requests/requests/packages/urllib3/contrib/appengine.py rename : python/requests/requests/packages/urllib3/contrib/ntlmpool.py => third_party/python/requests/requests/packages/urllib3/contrib/ntlmpool.py rename : python/requests/requests/packages/urllib3/contrib/pyopenssl.py => third_party/python/requests/requests/packages/urllib3/contrib/pyopenssl.py rename : python/requests/requests/packages/urllib3/exceptions.py => third_party/python/requests/requests/packages/urllib3/exceptions.py rename : python/requests/requests/packages/urllib3/fields.py => third_party/python/requests/requests/packages/urllib3/fields.py rename : python/requests/requests/packages/urllib3/filepost.py => third_party/python/requests/requests/packages/urllib3/filepost.py rename : python/requests/requests/packages/urllib3/packages/__init__.py => third_party/python/requests/requests/packages/urllib3/packages/__init__.py rename : python/requests/requests/packages/urllib3/packages/ordered_dict.py => third_party/python/requests/requests/packages/urllib3/packages/ordered_dict.py rename : python/requests/requests/packages/urllib3/packages/six.py => third_party/python/requests/requests/packages/urllib3/packages/six.py rename : python/requests/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py => third_party/python/requests/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py rename : python/requests/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py => third_party/python/requests/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py rename : python/requests/requests/packages/urllib3/poolmanager.py => third_party/python/requests/requests/packages/urllib3/poolmanager.py rename : python/requests/requests/packages/urllib3/request.py => third_party/python/requests/requests/packages/urllib3/request.py rename : python/requests/requests/packages/urllib3/response.py => third_party/python/requests/requests/packages/urllib3/response.py rename : python/requests/requests/packages/urllib3/util/__init__.py => third_party/python/requests/requests/packages/urllib3/util/__init__.py rename : python/requests/requests/packages/urllib3/util/connection.py => third_party/python/requests/requests/packages/urllib3/util/connection.py rename : python/requests/requests/packages/urllib3/util/request.py => third_party/python/requests/requests/packages/urllib3/util/request.py rename : python/requests/requests/packages/urllib3/util/response.py => third_party/python/requests/requests/packages/urllib3/util/response.py rename : python/requests/requests/packages/urllib3/util/retry.py => third_party/python/requests/requests/packages/urllib3/util/retry.py rename : python/requests/requests/packages/urllib3/util/ssl_.py => third_party/python/requests/requests/packages/urllib3/util/ssl_.py rename : python/requests/requests/packages/urllib3/util/timeout.py => third_party/python/requests/requests/packages/urllib3/util/timeout.py rename : python/requests/requests/packages/urllib3/util/url.py => third_party/python/requests/requests/packages/urllib3/util/url.py rename : python/requests/requests/sessions.py => third_party/python/requests/requests/sessions.py rename : python/requests/requests/status_codes.py => third_party/python/requests/requests/status_codes.py rename : python/requests/requests/structures.py => third_party/python/requests/requests/structures.py rename : python/requests/requests/utils.py => third_party/python/requests/requests/utils.py rename : python/requests/requirements.txt => third_party/python/requests/requirements.txt rename : python/requests/setup.cfg => third_party/python/requests/setup.cfg rename : python/requests/setup.py => third_party/python/requests/setup.py rename : python/requests/test_requests.py => third_party/python/requests/test_requests.py rename : python/rsa/LICENSE => third_party/python/rsa/LICENSE rename : python/rsa/MANIFEST.in => third_party/python/rsa/MANIFEST.in rename : python/rsa/PKG-INFO => third_party/python/rsa/PKG-INFO rename : python/rsa/README.rst => third_party/python/rsa/README.rst rename : python/rsa/create_timing_table.py => third_party/python/rsa/create_timing_table.py rename : python/rsa/playstuff.py => third_party/python/rsa/playstuff.py rename : python/rsa/rsa.egg-info/PKG-INFO => third_party/python/rsa/rsa.egg-info/PKG-INFO rename : python/rsa/rsa.egg-info/SOURCES.txt => third_party/python/rsa/rsa.egg-info/SOURCES.txt rename : python/rsa/rsa.egg-info/dependency_links.txt => third_party/python/rsa/rsa.egg-info/dependency_links.txt rename : python/rsa/rsa.egg-info/entry_points.txt => third_party/python/rsa/rsa.egg-info/entry_points.txt rename : python/rsa/rsa.egg-info/requires.txt => third_party/python/rsa/rsa.egg-info/requires.txt rename : python/rsa/rsa.egg-info/top_level.txt => third_party/python/rsa/rsa.egg-info/top_level.txt rename : python/rsa/rsa/__init__.py => third_party/python/rsa/rsa/__init__.py rename : python/rsa/rsa/_compat.py => third_party/python/rsa/rsa/_compat.py rename : python/rsa/rsa/_version133.py => third_party/python/rsa/rsa/_version133.py rename : python/rsa/rsa/_version200.py => third_party/python/rsa/rsa/_version200.py rename : python/rsa/rsa/asn1.py => third_party/python/rsa/rsa/asn1.py rename : python/rsa/rsa/bigfile.py => third_party/python/rsa/rsa/bigfile.py rename : python/rsa/rsa/cli.py => third_party/python/rsa/rsa/cli.py rename : python/rsa/rsa/common.py => third_party/python/rsa/rsa/common.py rename : python/rsa/rsa/core.py => third_party/python/rsa/rsa/core.py rename : python/rsa/rsa/key.py => third_party/python/rsa/rsa/key.py rename : python/rsa/rsa/parallel.py => third_party/python/rsa/rsa/parallel.py rename : python/rsa/rsa/pem.py => third_party/python/rsa/rsa/pem.py rename : python/rsa/rsa/pkcs1.py => third_party/python/rsa/rsa/pkcs1.py rename : python/rsa/rsa/prime.py => third_party/python/rsa/rsa/prime.py rename : python/rsa/rsa/randnum.py => third_party/python/rsa/rsa/randnum.py rename : python/rsa/rsa/transform.py => third_party/python/rsa/rsa/transform.py rename : python/rsa/rsa/util.py => third_party/python/rsa/rsa/util.py rename : python/rsa/rsa/varblock.py => third_party/python/rsa/rsa/varblock.py rename : python/rsa/run_tests.py => third_party/python/rsa/run_tests.py rename : python/rsa/setup.cfg => third_party/python/rsa/setup.cfg rename : python/rsa/setup.py => third_party/python/rsa/setup.py rename : python/rsa/tests/__init__.py => third_party/python/rsa/tests/__init__.py rename : python/rsa/tests/constants.py => third_party/python/rsa/tests/constants.py rename : python/rsa/tests/py2kconstants.py => third_party/python/rsa/tests/py2kconstants.py rename : python/rsa/tests/py3kconstants.py => third_party/python/rsa/tests/py3kconstants.py rename : python/rsa/tests/test_bigfile.py => third_party/python/rsa/tests/test_bigfile.py rename : python/rsa/tests/test_common.py => third_party/python/rsa/tests/test_common.py rename : python/rsa/tests/test_compat.py => third_party/python/rsa/tests/test_compat.py rename : python/rsa/tests/test_integers.py => third_party/python/rsa/tests/test_integers.py rename : python/rsa/tests/test_load_save_keys.py => third_party/python/rsa/tests/test_load_save_keys.py rename : python/rsa/tests/test_pem.py => third_party/python/rsa/tests/test_pem.py rename : python/rsa/tests/test_pkcs1.py => third_party/python/rsa/tests/test_pkcs1.py rename : python/rsa/tests/test_strings.py => third_party/python/rsa/tests/test_strings.py rename : python/rsa/tests/test_transform.py => third_party/python/rsa/tests/test_transform.py rename : python/rsa/tests/test_varblock.py => third_party/python/rsa/tests/test_varblock.py rename : python/slugid/.gitignore => third_party/python/slugid/.gitignore rename : python/slugid/.travis.yml => third_party/python/slugid/.travis.yml rename : python/slugid/LICENSE => third_party/python/slugid/LICENSE rename : python/slugid/README.rst => third_party/python/slugid/README.rst rename : python/slugid/requirements.txt => third_party/python/slugid/requirements.txt rename : python/slugid/setup.py => third_party/python/slugid/setup.py rename : python/slugid/slugid/__init__.py => third_party/python/slugid/slugid/__init__.py rename : python/slugid/slugid/slugid.py => third_party/python/slugid/slugid/slugid.py rename : python/slugid/test.py => third_party/python/slugid/test.py rename : python/slugid/tox.ini => third_party/python/slugid/tox.ini rename : python/virtualenv/AUTHORS.txt => third_party/python/virtualenv/AUTHORS.txt rename : python/virtualenv/LICENSE.txt => third_party/python/virtualenv/LICENSE.txt rename : python/virtualenv/MANIFEST.in => third_party/python/virtualenv/MANIFEST.in rename : python/virtualenv/PKG-INFO => third_party/python/virtualenv/PKG-INFO rename : python/virtualenv/README.rst => third_party/python/virtualenv/README.rst rename : python/virtualenv/bin/rebuild-script.py => third_party/python/virtualenv/bin/rebuild-script.py rename : python/virtualenv/docs/Makefile => third_party/python/virtualenv/docs/Makefile rename : python/virtualenv/docs/changes.rst => third_party/python/virtualenv/docs/changes.rst rename : python/virtualenv/docs/conf.py => third_party/python/virtualenv/docs/conf.py rename : python/virtualenv/docs/development.rst => third_party/python/virtualenv/docs/development.rst rename : python/virtualenv/docs/index.rst => third_party/python/virtualenv/docs/index.rst rename : python/virtualenv/docs/installation.rst => third_party/python/virtualenv/docs/installation.rst rename : python/virtualenv/docs/make.bat => third_party/python/virtualenv/docs/make.bat rename : python/virtualenv/docs/reference.rst => third_party/python/virtualenv/docs/reference.rst rename : python/virtualenv/docs/userguide.rst => third_party/python/virtualenv/docs/userguide.rst rename : python/virtualenv/scripts/virtualenv => third_party/python/virtualenv/scripts/virtualenv rename : python/virtualenv/setup.cfg => third_party/python/virtualenv/setup.cfg rename : python/virtualenv/setup.py => third_party/python/virtualenv/setup.py rename : python/virtualenv/site.py => third_party/python/virtualenv/site.py rename : python/virtualenv/tests/__init__.py => third_party/python/virtualenv/tests/__init__.py rename : python/virtualenv/tests/test_activate.sh => third_party/python/virtualenv/tests/test_activate.sh rename : python/virtualenv/tests/test_activate_output.expected => third_party/python/virtualenv/tests/test_activate_output.expected rename : python/virtualenv/tests/test_cmdline.py => third_party/python/virtualenv/tests/test_cmdline.py rename : python/virtualenv/tests/test_virtualenv.py => third_party/python/virtualenv/tests/test_virtualenv.py rename : python/virtualenv/virtualenv.py => third_party/python/virtualenv/virtualenv.py rename : python/virtualenv/virtualenv_embedded/activate.bat => third_party/python/virtualenv/virtualenv_embedded/activate.bat rename : python/virtualenv/virtualenv_embedded/activate.csh => third_party/python/virtualenv/virtualenv_embedded/activate.csh rename : python/virtualenv/virtualenv_embedded/activate.fish => third_party/python/virtualenv/virtualenv_embedded/activate.fish rename : python/virtualenv/virtualenv_embedded/activate.ps1 => third_party/python/virtualenv/virtualenv_embedded/activate.ps1 rename : python/virtualenv/virtualenv_embedded/activate.sh => third_party/python/virtualenv/virtualenv_embedded/activate.sh rename : python/virtualenv/virtualenv_embedded/activate_this.py => third_party/python/virtualenv/virtualenv_embedded/activate_this.py rename : python/virtualenv/virtualenv_embedded/deactivate.bat => third_party/python/virtualenv/virtualenv_embedded/deactivate.bat rename : python/virtualenv/virtualenv_embedded/distutils-init.py => third_party/python/virtualenv/virtualenv_embedded/distutils-init.py rename : python/virtualenv/virtualenv_embedded/distutils.cfg => third_party/python/virtualenv/virtualenv_embedded/distutils.cfg rename : python/virtualenv/virtualenv_embedded/python-config => third_party/python/virtualenv/virtualenv_embedded/python-config rename : python/virtualenv/virtualenv_embedded/site.py => third_party/python/virtualenv/virtualenv_embedded/site.py rename : python/virtualenv/virtualenv_support/__init__.py => third_party/python/virtualenv/virtualenv_support/__init__.py rename : python/virtualenv/virtualenv_support/argparse-1.4.0-py2.py3-none-any.whl => third_party/python/virtualenv/virtualenv_support/argparse-1.4.0-py2.py3-none-any.whl rename : python/virtualenv/virtualenv_support/pip-8.1.2-py2.py3-none-any.whl => third_party/python/virtualenv/virtualenv_support/pip-8.1.2-py2.py3-none-any.whl rename : python/virtualenv/virtualenv_support/setuptools-25.2.0-py2.py3-none-any.whl => third_party/python/virtualenv/virtualenv_support/setuptools-25.2.0-py2.py3-none-any.whl rename : python/virtualenv/virtualenv_support/wheel-0.29.0-py2.py3-none-any.whl => third_party/python/virtualenv/virtualenv_support/wheel-0.29.0-py2.py3-none-any.whl rename : python/voluptuous/COPYING => third_party/python/voluptuous/COPYING rename : python/voluptuous/MANIFEST.in => third_party/python/voluptuous/MANIFEST.in rename : python/voluptuous/PKG-INFO => third_party/python/voluptuous/PKG-INFO rename : python/voluptuous/README.md => third_party/python/voluptuous/README.md rename : python/voluptuous/README.rst => third_party/python/voluptuous/README.rst rename : python/voluptuous/setup.cfg => third_party/python/voluptuous/setup.cfg rename : python/voluptuous/setup.py => third_party/python/voluptuous/setup.py rename : python/voluptuous/tests.md => third_party/python/voluptuous/tests.md rename : python/voluptuous/voluptuous.py => third_party/python/voluptuous/voluptuous.py rename : python/which/LICENSE.txt => third_party/python/which/LICENSE.txt rename : python/which/MANIFEST.in => third_party/python/which/MANIFEST.in rename : python/which/Makefile.win => third_party/python/which/Makefile.win rename : python/which/PKG-INFO => third_party/python/which/PKG-INFO rename : python/which/README.txt => third_party/python/which/README.txt rename : python/which/TODO.txt => third_party/python/which/TODO.txt rename : python/which/build.py => third_party/python/which/build.py rename : python/which/launcher.cpp => third_party/python/which/launcher.cpp rename : python/which/logo.jpg => third_party/python/which/logo.jpg rename : python/which/setup.py => third_party/python/which/setup.py rename : python/which/test/test_which.py => third_party/python/which/test/test_which.py rename : python/which/test/testsupport.py => third_party/python/which/test/testsupport.py rename : python/which/which.py => third_party/python/which/which.py extra : rebase_source : fc38848c444c36b0d38a0c33aa5be74d5037d57d
842 lines
27 KiB
Text
842 lines
27 KiB
Text
The Mock Class
|
|
==============
|
|
|
|
.. currentmodule:: mock
|
|
|
|
.. testsetup::
|
|
|
|
class SomeClass:
|
|
pass
|
|
|
|
|
|
`Mock` is a flexible mock object intended to replace the use of stubs and
|
|
test doubles throughout your code. Mocks are callable and create attributes as
|
|
new mocks when you access them [#]_. Accessing the same attribute will always
|
|
return the same mock. Mocks record how you use them, allowing you to make
|
|
assertions about what your code has done to them.
|
|
|
|
:class:`MagicMock` is a subclass of `Mock` with all the magic methods
|
|
pre-created and ready to use. There are also non-callable variants, useful
|
|
when you are mocking out objects that aren't callable:
|
|
:class:`NonCallableMock` and :class:`NonCallableMagicMock`
|
|
|
|
The :func:`patch` decorators makes it easy to temporarily replace classes
|
|
in a particular module with a `Mock` object. By default `patch` will create
|
|
a `MagicMock` for you. You can specify an alternative class of `Mock` using
|
|
the `new_callable` argument to `patch`.
|
|
|
|
|
|
.. index:: side_effect
|
|
.. index:: return_value
|
|
.. index:: wraps
|
|
.. index:: name
|
|
.. index:: spec
|
|
|
|
.. class:: Mock(spec=None, side_effect=None, return_value=DEFAULT, wraps=None, name=None, spec_set=None, **kwargs)
|
|
|
|
Create a new `Mock` object. `Mock` takes several optional arguments
|
|
that specify the behaviour of the Mock object:
|
|
|
|
* `spec`: This can be either a list of strings or an existing object (a
|
|
class or instance) that acts as the specification for the mock object. If
|
|
you pass in an object then a list of strings is formed by calling dir on
|
|
the object (excluding unsupported magic attributes and methods).
|
|
Accessing any attribute not in this list will raise an `AttributeError`.
|
|
|
|
If `spec` is an object (rather than a list of strings) then
|
|
:attr:`__class__` returns the class of the spec object. This allows mocks
|
|
to pass `isinstance` tests.
|
|
|
|
* `spec_set`: A stricter variant of `spec`. If used, attempting to *set*
|
|
or get an attribute on the mock that isn't on the object passed as
|
|
`spec_set` will raise an `AttributeError`.
|
|
|
|
* `side_effect`: A function to be called whenever the Mock is called. See
|
|
the :attr:`~Mock.side_effect` attribute. Useful for raising exceptions or
|
|
dynamically changing return values. The function is called with the same
|
|
arguments as the mock, and unless it returns :data:`DEFAULT`, the return
|
|
value of this function is used as the return value.
|
|
|
|
Alternatively `side_effect` can be an exception class or instance. In
|
|
this case the exception will be raised when the mock is called.
|
|
|
|
If `side_effect` is an iterable then each call to the mock will return
|
|
the next value from the iterable. If any of the members of the iterable
|
|
are exceptions they will be raised instead of returned.
|
|
|
|
A `side_effect` can be cleared by setting it to `None`.
|
|
|
|
* `return_value`: The value returned when the mock is called. By default
|
|
this is a new Mock (created on first access). See the
|
|
:attr:`return_value` attribute.
|
|
|
|
* `wraps`: Item for the mock object to wrap. If `wraps` is not None then
|
|
calling the Mock will pass the call through to the wrapped object
|
|
(returning the real result and ignoring `return_value`). Attribute access
|
|
on the mock will return a Mock object that wraps the corresponding
|
|
attribute of the wrapped object (so attempting to access an attribute
|
|
that doesn't exist will raise an `AttributeError`).
|
|
|
|
If the mock has an explicit `return_value` set then calls are not passed
|
|
to the wrapped object and the `return_value` is returned instead.
|
|
|
|
* `name`: If the mock has a name then it will be used in the repr of the
|
|
mock. This can be useful for debugging. The name is propagated to child
|
|
mocks.
|
|
|
|
Mocks can also be called with arbitrary keyword arguments. These will be
|
|
used to set attributes on the mock after it is created. See the
|
|
:meth:`configure_mock` method for details.
|
|
|
|
|
|
.. method:: assert_called_with(*args, **kwargs)
|
|
|
|
This method is a convenient way of asserting that calls are made in a
|
|
particular way:
|
|
|
|
.. doctest::
|
|
|
|
>>> mock = Mock()
|
|
>>> mock.method(1, 2, 3, test='wow')
|
|
<Mock name='mock.method()' id='...'>
|
|
>>> mock.method.assert_called_with(1, 2, 3, test='wow')
|
|
|
|
|
|
.. method:: assert_called_once_with(*args, **kwargs)
|
|
|
|
Assert that the mock was called exactly once and with the specified
|
|
arguments.
|
|
|
|
.. doctest::
|
|
|
|
>>> mock = Mock(return_value=None)
|
|
>>> mock('foo', bar='baz')
|
|
>>> mock.assert_called_once_with('foo', bar='baz')
|
|
>>> mock('foo', bar='baz')
|
|
>>> mock.assert_called_once_with('foo', bar='baz')
|
|
Traceback (most recent call last):
|
|
...
|
|
AssertionError: Expected to be called once. Called 2 times.
|
|
|
|
|
|
.. method:: assert_any_call(*args, **kwargs)
|
|
|
|
assert the mock has been called with the specified arguments.
|
|
|
|
The assert passes if the mock has *ever* been called, unlike
|
|
:meth:`assert_called_with` and :meth:`assert_called_once_with` that
|
|
only pass if the call is the most recent one.
|
|
|
|
.. doctest::
|
|
|
|
>>> mock = Mock(return_value=None)
|
|
>>> mock(1, 2, arg='thing')
|
|
>>> mock('some', 'thing', 'else')
|
|
>>> mock.assert_any_call(1, 2, arg='thing')
|
|
|
|
|
|
.. method:: assert_has_calls(calls, any_order=False)
|
|
|
|
assert the mock has been called with the specified calls.
|
|
The `mock_calls` list is checked for the calls.
|
|
|
|
If `any_order` is False (the default) then the calls must be
|
|
sequential. There can be extra calls before or after the
|
|
specified calls.
|
|
|
|
If `any_order` is True then the calls can be in any order, but
|
|
they must all appear in :attr:`mock_calls`.
|
|
|
|
.. doctest::
|
|
|
|
>>> mock = Mock(return_value=None)
|
|
>>> mock(1)
|
|
>>> mock(2)
|
|
>>> mock(3)
|
|
>>> mock(4)
|
|
>>> calls = [call(2), call(3)]
|
|
>>> mock.assert_has_calls(calls)
|
|
>>> calls = [call(4), call(2), call(3)]
|
|
>>> mock.assert_has_calls(calls, any_order=True)
|
|
|
|
|
|
.. method:: reset_mock()
|
|
|
|
The reset_mock method resets all the call attributes on a mock object:
|
|
|
|
.. doctest::
|
|
|
|
>>> mock = Mock(return_value=None)
|
|
>>> mock('hello')
|
|
>>> mock.called
|
|
True
|
|
>>> mock.reset_mock()
|
|
>>> mock.called
|
|
False
|
|
|
|
This can be useful where you want to make a series of assertions that
|
|
reuse the same object. Note that `reset_mock` *doesn't* clear the
|
|
return value, :attr:`side_effect` or any child attributes you have
|
|
set using normal assignment. Child mocks and the return value mock
|
|
(if any) are reset as well.
|
|
|
|
|
|
.. method:: mock_add_spec(spec, spec_set=False)
|
|
|
|
Add a spec to a mock. `spec` can either be an object or a
|
|
list of strings. Only attributes on the `spec` can be fetched as
|
|
attributes from the mock.
|
|
|
|
If `spec_set` is `True` then only attributes on the spec can be set.
|
|
|
|
|
|
.. method:: attach_mock(mock, attribute)
|
|
|
|
Attach a mock as an attribute of this one, replacing its name and
|
|
parent. Calls to the attached mock will be recorded in the
|
|
:attr:`method_calls` and :attr:`mock_calls` attributes of this one.
|
|
|
|
|
|
.. method:: configure_mock(**kwargs)
|
|
|
|
Set attributes on the mock through keyword arguments.
|
|
|
|
Attributes plus return values and side effects can be set on child
|
|
mocks using standard dot notation and unpacking a dictionary in the
|
|
method call:
|
|
|
|
.. doctest::
|
|
|
|
>>> mock = Mock()
|
|
>>> attrs = {'method.return_value': 3, 'other.side_effect': KeyError}
|
|
>>> mock.configure_mock(**attrs)
|
|
>>> mock.method()
|
|
3
|
|
>>> mock.other()
|
|
Traceback (most recent call last):
|
|
...
|
|
KeyError
|
|
|
|
The same thing can be achieved in the constructor call to mocks:
|
|
|
|
.. doctest::
|
|
|
|
>>> attrs = {'method.return_value': 3, 'other.side_effect': KeyError}
|
|
>>> mock = Mock(some_attribute='eggs', **attrs)
|
|
>>> mock.some_attribute
|
|
'eggs'
|
|
>>> mock.method()
|
|
3
|
|
>>> mock.other()
|
|
Traceback (most recent call last):
|
|
...
|
|
KeyError
|
|
|
|
`configure_mock` exists to make it easier to do configuration
|
|
after the mock has been created.
|
|
|
|
|
|
.. method:: __dir__()
|
|
|
|
`Mock` objects limit the results of `dir(some_mock)` to useful results.
|
|
For mocks with a `spec` this includes all the permitted attributes
|
|
for the mock.
|
|
|
|
See :data:`FILTER_DIR` for what this filtering does, and how to
|
|
switch it off.
|
|
|
|
|
|
.. method:: _get_child_mock(**kw)
|
|
|
|
Create the child mocks for attributes and return value.
|
|
By default child mocks will be the same type as the parent.
|
|
Subclasses of Mock may want to override this to customize the way
|
|
child mocks are made.
|
|
|
|
For non-callable mocks the callable variant will be used (rather than
|
|
any custom subclass).
|
|
|
|
|
|
.. attribute:: called
|
|
|
|
A boolean representing whether or not the mock object has been called:
|
|
|
|
.. doctest::
|
|
|
|
>>> mock = Mock(return_value=None)
|
|
>>> mock.called
|
|
False
|
|
>>> mock()
|
|
>>> mock.called
|
|
True
|
|
|
|
.. attribute:: call_count
|
|
|
|
An integer telling you how many times the mock object has been called:
|
|
|
|
.. doctest::
|
|
|
|
>>> mock = Mock(return_value=None)
|
|
>>> mock.call_count
|
|
0
|
|
>>> mock()
|
|
>>> mock()
|
|
>>> mock.call_count
|
|
2
|
|
|
|
|
|
.. attribute:: return_value
|
|
|
|
Set this to configure the value returned by calling the mock:
|
|
|
|
.. doctest::
|
|
|
|
>>> mock = Mock()
|
|
>>> mock.return_value = 'fish'
|
|
>>> mock()
|
|
'fish'
|
|
|
|
The default return value is a mock object and you can configure it in
|
|
the normal way:
|
|
|
|
.. doctest::
|
|
|
|
>>> mock = Mock()
|
|
>>> mock.return_value.attribute = sentinel.Attribute
|
|
>>> mock.return_value()
|
|
<Mock name='mock()()' id='...'>
|
|
>>> mock.return_value.assert_called_with()
|
|
|
|
`return_value` can also be set in the constructor:
|
|
|
|
.. doctest::
|
|
|
|
>>> mock = Mock(return_value=3)
|
|
>>> mock.return_value
|
|
3
|
|
>>> mock()
|
|
3
|
|
|
|
|
|
.. attribute:: side_effect
|
|
|
|
This can either be a function to be called when the mock is called,
|
|
or an exception (class or instance) to be raised.
|
|
|
|
If you pass in a function it will be called with same arguments as the
|
|
mock and unless the function returns the :data:`DEFAULT` singleton the
|
|
call to the mock will then return whatever the function returns. If the
|
|
function returns :data:`DEFAULT` then the mock will return its normal
|
|
value (from the :attr:`return_value`.
|
|
|
|
An example of a mock that raises an exception (to test exception
|
|
handling of an API):
|
|
|
|
.. doctest::
|
|
|
|
>>> mock = Mock()
|
|
>>> mock.side_effect = Exception('Boom!')
|
|
>>> mock()
|
|
Traceback (most recent call last):
|
|
...
|
|
Exception: Boom!
|
|
|
|
Using `side_effect` to return a sequence of values:
|
|
|
|
.. doctest::
|
|
|
|
>>> mock = Mock()
|
|
>>> mock.side_effect = [3, 2, 1]
|
|
>>> mock(), mock(), mock()
|
|
(3, 2, 1)
|
|
|
|
The `side_effect` function is called with the same arguments as the
|
|
mock (so it is wise for it to take arbitrary args and keyword
|
|
arguments) and whatever it returns is used as the return value for
|
|
the call. The exception is if `side_effect` returns :data:`DEFAULT`,
|
|
in which case the normal :attr:`return_value` is used.
|
|
|
|
.. doctest::
|
|
|
|
>>> mock = Mock(return_value=3)
|
|
>>> def side_effect(*args, **kwargs):
|
|
... return DEFAULT
|
|
...
|
|
>>> mock.side_effect = side_effect
|
|
>>> mock()
|
|
3
|
|
|
|
`side_effect` can be set in the constructor. Here's an example that
|
|
adds one to the value the mock is called with and returns it:
|
|
|
|
.. doctest::
|
|
|
|
>>> side_effect = lambda value: value + 1
|
|
>>> mock = Mock(side_effect=side_effect)
|
|
>>> mock(3)
|
|
4
|
|
>>> mock(-8)
|
|
-7
|
|
|
|
Setting `side_effect` to `None` clears it:
|
|
|
|
.. doctest::
|
|
|
|
>>> from mock import Mock
|
|
>>> m = Mock(side_effect=KeyError, return_value=3)
|
|
>>> m()
|
|
Traceback (most recent call last):
|
|
...
|
|
KeyError
|
|
>>> m.side_effect = None
|
|
>>> m()
|
|
3
|
|
|
|
|
|
.. attribute:: call_args
|
|
|
|
This is either `None` (if the mock hasn't been called), or the
|
|
arguments that the mock was last called with. This will be in the
|
|
form of a tuple: the first member is any ordered arguments the mock
|
|
was called with (or an empty tuple) and the second member is any
|
|
keyword arguments (or an empty dictionary).
|
|
|
|
.. doctest::
|
|
|
|
>>> mock = Mock(return_value=None)
|
|
>>> print mock.call_args
|
|
None
|
|
>>> mock()
|
|
>>> mock.call_args
|
|
call()
|
|
>>> mock.call_args == ()
|
|
True
|
|
>>> mock(3, 4)
|
|
>>> mock.call_args
|
|
call(3, 4)
|
|
>>> mock.call_args == ((3, 4),)
|
|
True
|
|
>>> mock(3, 4, 5, key='fish', next='w00t!')
|
|
>>> mock.call_args
|
|
call(3, 4, 5, key='fish', next='w00t!')
|
|
|
|
`call_args`, along with members of the lists :attr:`call_args_list`,
|
|
:attr:`method_calls` and :attr:`mock_calls` are :data:`call` objects.
|
|
These are tuples, so they can be unpacked to get at the individual
|
|
arguments and make more complex assertions. See
|
|
:ref:`calls as tuples <calls-as-tuples>`.
|
|
|
|
|
|
.. attribute:: call_args_list
|
|
|
|
This is a list of all the calls made to the mock object in sequence
|
|
(so the length of the list is the number of times it has been
|
|
called). Before any calls have been made it is an empty list. The
|
|
:data:`call` object can be used for conveniently constructing lists of
|
|
calls to compare with `call_args_list`.
|
|
|
|
.. doctest::
|
|
|
|
>>> mock = Mock(return_value=None)
|
|
>>> mock()
|
|
>>> mock(3, 4)
|
|
>>> mock(key='fish', next='w00t!')
|
|
>>> mock.call_args_list
|
|
[call(), call(3, 4), call(key='fish', next='w00t!')]
|
|
>>> expected = [(), ((3, 4),), ({'key': 'fish', 'next': 'w00t!'},)]
|
|
>>> mock.call_args_list == expected
|
|
True
|
|
|
|
Members of `call_args_list` are :data:`call` objects. These can be
|
|
unpacked as tuples to get at the individual arguments. See
|
|
:ref:`calls as tuples <calls-as-tuples>`.
|
|
|
|
|
|
.. attribute:: method_calls
|
|
|
|
As well as tracking calls to themselves, mocks also track calls to
|
|
methods and attributes, and *their* methods and attributes:
|
|
|
|
.. doctest::
|
|
|
|
>>> mock = Mock()
|
|
>>> mock.method()
|
|
<Mock name='mock.method()' id='...'>
|
|
>>> mock.property.method.attribute()
|
|
<Mock name='mock.property.method.attribute()' id='...'>
|
|
>>> mock.method_calls
|
|
[call.method(), call.property.method.attribute()]
|
|
|
|
Members of `method_calls` are :data:`call` objects. These can be
|
|
unpacked as tuples to get at the individual arguments. See
|
|
:ref:`calls as tuples <calls-as-tuples>`.
|
|
|
|
|
|
.. attribute:: mock_calls
|
|
|
|
`mock_calls` records *all* calls to the mock object, its methods, magic
|
|
methods *and* return value mocks.
|
|
|
|
.. doctest::
|
|
|
|
>>> mock = MagicMock()
|
|
>>> result = mock(1, 2, 3)
|
|
>>> mock.first(a=3)
|
|
<MagicMock name='mock.first()' id='...'>
|
|
>>> mock.second()
|
|
<MagicMock name='mock.second()' id='...'>
|
|
>>> int(mock)
|
|
1
|
|
>>> result(1)
|
|
<MagicMock name='mock()()' id='...'>
|
|
>>> expected = [call(1, 2, 3), call.first(a=3), call.second(),
|
|
... call.__int__(), call()(1)]
|
|
>>> mock.mock_calls == expected
|
|
True
|
|
|
|
Members of `mock_calls` are :data:`call` objects. These can be
|
|
unpacked as tuples to get at the individual arguments. See
|
|
:ref:`calls as tuples <calls-as-tuples>`.
|
|
|
|
|
|
.. attribute:: __class__
|
|
|
|
Normally the `__class__` attribute of an object will return its type.
|
|
For a mock object with a `spec` `__class__` returns the spec class
|
|
instead. This allows mock objects to pass `isinstance` tests for the
|
|
object they are replacing / masquerading as:
|
|
|
|
.. doctest::
|
|
|
|
>>> mock = Mock(spec=3)
|
|
>>> isinstance(mock, int)
|
|
True
|
|
|
|
`__class__` is assignable to, this allows a mock to pass an
|
|
`isinstance` check without forcing you to use a spec:
|
|
|
|
.. doctest::
|
|
|
|
>>> mock = Mock()
|
|
>>> mock.__class__ = dict
|
|
>>> isinstance(mock, dict)
|
|
True
|
|
|
|
.. class:: NonCallableMock(spec=None, wraps=None, name=None, spec_set=None, **kwargs)
|
|
|
|
A non-callable version of `Mock`. The constructor parameters have the same
|
|
meaning of `Mock`, with the exception of `return_value` and `side_effect`
|
|
which have no meaning on a non-callable mock.
|
|
|
|
Mock objects that use a class or an instance as a `spec` or `spec_set` are able
|
|
to pass `isintance` tests:
|
|
|
|
.. doctest::
|
|
|
|
>>> mock = Mock(spec=SomeClass)
|
|
>>> isinstance(mock, SomeClass)
|
|
True
|
|
>>> mock = Mock(spec_set=SomeClass())
|
|
>>> isinstance(mock, SomeClass)
|
|
True
|
|
|
|
The `Mock` classes have support for mocking magic methods. See :ref:`magic
|
|
methods <magic-methods>` for the full details.
|
|
|
|
The mock classes and the :func:`patch` decorators all take arbitrary keyword
|
|
arguments for configuration. For the `patch` decorators the keywords are
|
|
passed to the constructor of the mock being created. The keyword arguments
|
|
are for configuring attributes of the mock:
|
|
|
|
.. doctest::
|
|
|
|
>>> m = MagicMock(attribute=3, other='fish')
|
|
>>> m.attribute
|
|
3
|
|
>>> m.other
|
|
'fish'
|
|
|
|
The return value and side effect of child mocks can be set in the same way,
|
|
using dotted notation. As you can't use dotted names directly in a call you
|
|
have to create a dictionary and unpack it using `**`:
|
|
|
|
.. doctest::
|
|
|
|
>>> attrs = {'method.return_value': 3, 'other.side_effect': KeyError}
|
|
>>> mock = Mock(some_attribute='eggs', **attrs)
|
|
>>> mock.some_attribute
|
|
'eggs'
|
|
>>> mock.method()
|
|
3
|
|
>>> mock.other()
|
|
Traceback (most recent call last):
|
|
...
|
|
KeyError
|
|
|
|
|
|
.. class:: PropertyMock(*args, **kwargs)
|
|
|
|
A mock intended to be used as a property, or other descriptor, on a class.
|
|
`PropertyMock` provides `__get__` and `__set__` methods so you can specify
|
|
a return value when it is fetched.
|
|
|
|
Fetching a `PropertyMock` instance from an object calls the mock, with
|
|
no args. Setting it calls the mock with the value being set.
|
|
|
|
.. doctest::
|
|
|
|
>>> class Foo(object):
|
|
... @property
|
|
... def foo(self):
|
|
... return 'something'
|
|
... @foo.setter
|
|
... def foo(self, value):
|
|
... pass
|
|
...
|
|
>>> with patch('__main__.Foo.foo', new_callable=PropertyMock) as mock_foo:
|
|
... mock_foo.return_value = 'mockity-mock'
|
|
... this_foo = Foo()
|
|
... print this_foo.foo
|
|
... this_foo.foo = 6
|
|
...
|
|
mockity-mock
|
|
>>> mock_foo.mock_calls
|
|
[call(), call(6)]
|
|
|
|
Because of the way mock attributes are stored you can't directly attach a
|
|
`PropertyMock` to a mock object. Instead you can attach it to the mock type
|
|
object:
|
|
|
|
.. doctest::
|
|
|
|
>>> m = MagicMock()
|
|
>>> p = PropertyMock(return_value=3)
|
|
>>> type(m).foo = p
|
|
>>> m.foo
|
|
3
|
|
>>> p.assert_called_once_with()
|
|
|
|
|
|
.. index:: __call__
|
|
.. index:: calling
|
|
|
|
Calling
|
|
=======
|
|
|
|
Mock objects are callable. The call will return the value set as the
|
|
:attr:`~Mock.return_value` attribute. The default return value is a new Mock
|
|
object; it is created the first time the return value is accessed (either
|
|
explicitly or by calling the Mock) - but it is stored and the same one
|
|
returned each time.
|
|
|
|
Calls made to the object will be recorded in the attributes
|
|
like :attr:`~Mock.call_args` and :attr:`~Mock.call_args_list`.
|
|
|
|
If :attr:`~Mock.side_effect` is set then it will be called after the call has
|
|
been recorded, so if `side_effect` raises an exception the call is still
|
|
recorded.
|
|
|
|
The simplest way to make a mock raise an exception when called is to make
|
|
:attr:`~Mock.side_effect` an exception class or instance:
|
|
|
|
.. doctest::
|
|
|
|
>>> m = MagicMock(side_effect=IndexError)
|
|
>>> m(1, 2, 3)
|
|
Traceback (most recent call last):
|
|
...
|
|
IndexError
|
|
>>> m.mock_calls
|
|
[call(1, 2, 3)]
|
|
>>> m.side_effect = KeyError('Bang!')
|
|
>>> m('two', 'three', 'four')
|
|
Traceback (most recent call last):
|
|
...
|
|
KeyError: 'Bang!'
|
|
>>> m.mock_calls
|
|
[call(1, 2, 3), call('two', 'three', 'four')]
|
|
|
|
If `side_effect` is a function then whatever that function returns is what
|
|
calls to the mock return. The `side_effect` function is called with the
|
|
same arguments as the mock. This allows you to vary the return value of the
|
|
call dynamically, based on the input:
|
|
|
|
.. doctest::
|
|
|
|
>>> def side_effect(value):
|
|
... return value + 1
|
|
...
|
|
>>> m = MagicMock(side_effect=side_effect)
|
|
>>> m(1)
|
|
2
|
|
>>> m(2)
|
|
3
|
|
>>> m.mock_calls
|
|
[call(1), call(2)]
|
|
|
|
If you want the mock to still return the default return value (a new mock), or
|
|
any set return value, then there are two ways of doing this. Either return
|
|
`mock.return_value` from inside `side_effect`, or return :data:`DEFAULT`:
|
|
|
|
.. doctest::
|
|
|
|
>>> m = MagicMock()
|
|
>>> def side_effect(*args, **kwargs):
|
|
... return m.return_value
|
|
...
|
|
>>> m.side_effect = side_effect
|
|
>>> m.return_value = 3
|
|
>>> m()
|
|
3
|
|
>>> def side_effect(*args, **kwargs):
|
|
... return DEFAULT
|
|
...
|
|
>>> m.side_effect = side_effect
|
|
>>> m()
|
|
3
|
|
|
|
To remove a `side_effect`, and return to the default behaviour, set the
|
|
`side_effect` to `None`:
|
|
|
|
.. doctest::
|
|
|
|
>>> m = MagicMock(return_value=6)
|
|
>>> def side_effect(*args, **kwargs):
|
|
... return 3
|
|
...
|
|
>>> m.side_effect = side_effect
|
|
>>> m()
|
|
3
|
|
>>> m.side_effect = None
|
|
>>> m()
|
|
6
|
|
|
|
The `side_effect` can also be any iterable object. Repeated calls to the mock
|
|
will return values from the iterable (until the iterable is exhausted and
|
|
a `StopIteration` is raised):
|
|
|
|
.. doctest::
|
|
|
|
>>> m = MagicMock(side_effect=[1, 2, 3])
|
|
>>> m()
|
|
1
|
|
>>> m()
|
|
2
|
|
>>> m()
|
|
3
|
|
>>> m()
|
|
Traceback (most recent call last):
|
|
...
|
|
StopIteration
|
|
|
|
If any members of the iterable are exceptions they will be raised instead of
|
|
returned:
|
|
|
|
.. doctest::
|
|
|
|
>>> iterable = (33, ValueError, 66)
|
|
>>> m = MagicMock(side_effect=iterable)
|
|
>>> m()
|
|
33
|
|
>>> m()
|
|
Traceback (most recent call last):
|
|
...
|
|
ValueError
|
|
>>> m()
|
|
66
|
|
|
|
|
|
.. _deleting-attributes:
|
|
|
|
Deleting Attributes
|
|
===================
|
|
|
|
Mock objects create attributes on demand. This allows them to pretend to be
|
|
objects of any type.
|
|
|
|
You may want a mock object to return `False` to a `hasattr` call, or raise an
|
|
`AttributeError` when an attribute is fetched. You can do this by providing
|
|
an object as a `spec` for a mock, but that isn't always convenient.
|
|
|
|
You "block" attributes by deleting them. Once deleted, accessing an attribute
|
|
will raise an `AttributeError`.
|
|
|
|
.. doctest::
|
|
|
|
>>> mock = MagicMock()
|
|
>>> hasattr(mock, 'm')
|
|
True
|
|
>>> del mock.m
|
|
>>> hasattr(mock, 'm')
|
|
False
|
|
>>> del mock.f
|
|
>>> mock.f
|
|
Traceback (most recent call last):
|
|
...
|
|
AttributeError: f
|
|
|
|
|
|
Attaching Mocks as Attributes
|
|
=============================
|
|
|
|
When you attach a mock as an attribute of another mock (or as the return
|
|
value) it becomes a "child" of that mock. Calls to the child are recorded in
|
|
the :attr:`~Mock.method_calls` and :attr:`~Mock.mock_calls` attributes of the
|
|
parent. This is useful for configuring child mocks and then attaching them to
|
|
the parent, or for attaching mocks to a parent that records all calls to the
|
|
children and allows you to make assertions about the order of calls between
|
|
mocks:
|
|
|
|
.. doctest::
|
|
|
|
>>> parent = MagicMock()
|
|
>>> child1 = MagicMock(return_value=None)
|
|
>>> child2 = MagicMock(return_value=None)
|
|
>>> parent.child1 = child1
|
|
>>> parent.child2 = child2
|
|
>>> child1(1)
|
|
>>> child2(2)
|
|
>>> parent.mock_calls
|
|
[call.child1(1), call.child2(2)]
|
|
|
|
The exception to this is if the mock has a name. This allows you to prevent
|
|
the "parenting" if for some reason you don't want it to happen.
|
|
|
|
.. doctest::
|
|
|
|
>>> mock = MagicMock()
|
|
>>> not_a_child = MagicMock(name='not-a-child')
|
|
>>> mock.attribute = not_a_child
|
|
>>> mock.attribute()
|
|
<MagicMock name='not-a-child()' id='...'>
|
|
>>> mock.mock_calls
|
|
[]
|
|
|
|
Mocks created for you by :func:`patch` are automatically given names. To
|
|
attach mocks that have names to a parent you use the :meth:`~Mock.attach_mock`
|
|
method:
|
|
|
|
.. doctest::
|
|
|
|
>>> thing1 = object()
|
|
>>> thing2 = object()
|
|
>>> parent = MagicMock()
|
|
>>> with patch('__main__.thing1', return_value=None) as child1:
|
|
... with patch('__main__.thing2', return_value=None) as child2:
|
|
... parent.attach_mock(child1, 'child1')
|
|
... parent.attach_mock(child2, 'child2')
|
|
... child1('one')
|
|
... child2('two')
|
|
...
|
|
>>> parent.mock_calls
|
|
[call.child1('one'), call.child2('two')]
|
|
|
|
|
|
-----
|
|
|
|
.. [#] The only exceptions are magic methods and attributes (those that have
|
|
leading and trailing double underscores). Mock doesn't create these but
|
|
instead of raises an ``AttributeError``. This is because the interpreter
|
|
will often implicitly request these methods, and gets *very* confused to
|
|
get a new Mock object when it expects a magic method. If you need magic
|
|
method support see :ref:`magic methods <magic-methods>`.
|