fune/third_party/python/futures/test_futures.py
Andrew Halberstadt 5ccbc0cfd7 Bug 1346025 - Move vendored python modules from /python to /third_party/python, r=ted
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
2017-05-25 11:48:03 -04:00

727 lines
24 KiB
Python

import os
import subprocess
import sys
import threading
import functools
import contextlib
import logging
import re
import time
import gc
from StringIO import StringIO
from test import test_support
from concurrent import futures
from concurrent.futures._base import (
PENDING, RUNNING, CANCELLED, CANCELLED_AND_NOTIFIED, FINISHED, Future)
try:
import unittest2 as unittest
except ImportError:
import unittest
def reap_threads(func):
"""Use this function when threads are being used. This will
ensure that the threads are cleaned up even when the test fails.
If threading is unavailable this function does nothing.
"""
@functools.wraps(func)
def decorator(*args):
key = test_support.threading_setup()
try:
return func(*args)
finally:
test_support.threading_cleanup(*key)
return decorator
# Executing the interpreter in a subprocess
def _assert_python(expected_success, *args, **env_vars):
cmd_line = [sys.executable]
if not env_vars:
cmd_line.append('-E')
# Need to preserve the original environment, for in-place testing of
# shared library builds.
env = os.environ.copy()
# But a special flag that can be set to override -- in this case, the
# caller is responsible to pass the full environment.
if env_vars.pop('__cleanenv', None):
env = {}
env.update(env_vars)
cmd_line.extend(args)
p = subprocess.Popen(cmd_line, stdin=subprocess.PIPE,
stdout=subprocess.PIPE, stderr=subprocess.PIPE,
env=env)
try:
out, err = p.communicate()
finally:
subprocess._cleanup()
p.stdout.close()
p.stderr.close()
rc = p.returncode
err = strip_python_stderr(err)
if (rc and expected_success) or (not rc and not expected_success):
raise AssertionError(
"Process return code is %d, "
"stderr follows:\n%s" % (rc, err.decode('ascii', 'ignore')))
return rc, out, err
def assert_python_ok(*args, **env_vars):
"""
Assert that running the interpreter with `args` and optional environment
variables `env_vars` is ok and return a (return code, stdout, stderr) tuple.
"""
return _assert_python(True, *args, **env_vars)
def strip_python_stderr(stderr):
"""Strip the stderr of a Python process from potential debug output
emitted by the interpreter.
This will typically be run on the result of the communicate() method
of a subprocess.Popen object.
"""
stderr = re.sub(r"\[\d+ refs\]\r?\n?$".encode(), "".encode(), stderr).strip()
return stderr
@contextlib.contextmanager
def captured_stderr():
"""Return a context manager used by captured_stdout/stdin/stderr
that temporarily replaces the sys stream *stream_name* with a StringIO."""
logging_stream = StringIO()
handler = logging.StreamHandler(logging_stream)
logging.root.addHandler(handler)
try:
yield logging_stream
finally:
logging.root.removeHandler(handler)
def create_future(state=PENDING, exception=None, result=None):
f = Future()
f._state = state
f._exception = exception
f._result = result
return f
PENDING_FUTURE = create_future(state=PENDING)
RUNNING_FUTURE = create_future(state=RUNNING)
CANCELLED_FUTURE = create_future(state=CANCELLED)
CANCELLED_AND_NOTIFIED_FUTURE = create_future(state=CANCELLED_AND_NOTIFIED)
EXCEPTION_FUTURE = create_future(state=FINISHED, exception=IOError())
SUCCESSFUL_FUTURE = create_future(state=FINISHED, result=42)
def mul(x, y):
return x * y
def sleep_and_raise(t):
time.sleep(t)
raise Exception('this is an exception')
def sleep_and_print(t, msg):
time.sleep(t)
print(msg)
sys.stdout.flush()
class ExecutorMixin:
worker_count = 5
def setUp(self):
self.t1 = time.time()
try:
self.executor = self.executor_type(max_workers=self.worker_count)
except NotImplementedError:
e = sys.exc_info()[1]
self.skipTest(str(e))
self._prime_executor()
def tearDown(self):
self.executor.shutdown(wait=True)
dt = time.time() - self.t1
if test_support.verbose:
print("%.2fs" % dt)
self.assertLess(dt, 60, "synchronization issue: test lasted too long")
def _prime_executor(self):
# Make sure that the executor is ready to do work before running the
# tests. This should reduce the probability of timeouts in the tests.
futures = [self.executor.submit(time.sleep, 0.1)
for _ in range(self.worker_count)]
for f in futures:
f.result()
class ThreadPoolMixin(ExecutorMixin):
executor_type = futures.ThreadPoolExecutor
class ProcessPoolMixin(ExecutorMixin):
executor_type = futures.ProcessPoolExecutor
class ExecutorShutdownTest(unittest.TestCase):
def test_run_after_shutdown(self):
self.executor.shutdown()
self.assertRaises(RuntimeError,
self.executor.submit,
pow, 2, 5)
def test_interpreter_shutdown(self):
# Test the atexit hook for shutdown of worker threads and processes
rc, out, err = assert_python_ok('-c', """if 1:
from concurrent.futures import %s
from time import sleep
from test_futures import sleep_and_print
t = %s(5)
t.submit(sleep_and_print, 1.0, "apple")
""" % (self.executor_type.__name__, self.executor_type.__name__))
# Errors in atexit hooks don't change the process exit code, check
# stderr manually.
self.assertFalse(err)
self.assertEqual(out.strip(), "apple".encode())
def test_hang_issue12364(self):
fs = [self.executor.submit(time.sleep, 0.1) for _ in range(50)]
self.executor.shutdown()
for f in fs:
f.result()
class ThreadPoolShutdownTest(ThreadPoolMixin, ExecutorShutdownTest):
def _prime_executor(self):
pass
def test_threads_terminate(self):
self.executor.submit(mul, 21, 2)
self.executor.submit(mul, 6, 7)
self.executor.submit(mul, 3, 14)
self.assertEqual(len(self.executor._threads), 3)
self.executor.shutdown()
for t in self.executor._threads:
t.join()
def test_context_manager_shutdown(self):
with futures.ThreadPoolExecutor(max_workers=5) as e:
executor = e
self.assertEqual(list(e.map(abs, range(-5, 5))),
[5, 4, 3, 2, 1, 0, 1, 2, 3, 4])
for t in executor._threads:
t.join()
def test_del_shutdown(self):
executor = futures.ThreadPoolExecutor(max_workers=5)
executor.map(abs, range(-5, 5))
threads = executor._threads
del executor
gc.collect()
for t in threads:
t.join()
class ProcessPoolShutdownTest(ProcessPoolMixin, ExecutorShutdownTest):
def _prime_executor(self):
pass
def test_processes_terminate(self):
self.executor.submit(mul, 21, 2)
self.executor.submit(mul, 6, 7)
self.executor.submit(mul, 3, 14)
self.assertEqual(len(self.executor._processes), 5)
processes = self.executor._processes
self.executor.shutdown()
for p in processes:
p.join()
def test_context_manager_shutdown(self):
with futures.ProcessPoolExecutor(max_workers=5) as e:
processes = e._processes
self.assertEqual(list(e.map(abs, range(-5, 5))),
[5, 4, 3, 2, 1, 0, 1, 2, 3, 4])
for p in processes:
p.join()
def test_del_shutdown(self):
executor = futures.ProcessPoolExecutor(max_workers=5)
list(executor.map(abs, range(-5, 5)))
queue_management_thread = executor._queue_management_thread
processes = executor._processes
del executor
gc.collect()
queue_management_thread.join()
for p in processes:
p.join()
class WaitTests(unittest.TestCase):
def test_first_completed(self):
future1 = self.executor.submit(mul, 21, 2)
future2 = self.executor.submit(time.sleep, 1.5)
done, not_done = futures.wait(
[CANCELLED_FUTURE, future1, future2],
return_when=futures.FIRST_COMPLETED)
self.assertEqual(set([future1]), done)
self.assertEqual(set([CANCELLED_FUTURE, future2]), not_done)
def test_first_completed_some_already_completed(self):
future1 = self.executor.submit(time.sleep, 1.5)
finished, pending = futures.wait(
[CANCELLED_AND_NOTIFIED_FUTURE, SUCCESSFUL_FUTURE, future1],
return_when=futures.FIRST_COMPLETED)
self.assertEqual(
set([CANCELLED_AND_NOTIFIED_FUTURE, SUCCESSFUL_FUTURE]),
finished)
self.assertEqual(set([future1]), pending)
def test_first_exception(self):
future1 = self.executor.submit(mul, 2, 21)
future2 = self.executor.submit(sleep_and_raise, 1.5)
future3 = self.executor.submit(time.sleep, 3)
finished, pending = futures.wait(
[future1, future2, future3],
return_when=futures.FIRST_EXCEPTION)
self.assertEqual(set([future1, future2]), finished)
self.assertEqual(set([future3]), pending)
def test_first_exception_some_already_complete(self):
future1 = self.executor.submit(divmod, 21, 0)
future2 = self.executor.submit(time.sleep, 1.5)
finished, pending = futures.wait(
[SUCCESSFUL_FUTURE,
CANCELLED_FUTURE,
CANCELLED_AND_NOTIFIED_FUTURE,
future1, future2],
return_when=futures.FIRST_EXCEPTION)
self.assertEqual(set([SUCCESSFUL_FUTURE,
CANCELLED_AND_NOTIFIED_FUTURE,
future1]), finished)
self.assertEqual(set([CANCELLED_FUTURE, future2]), pending)
def test_first_exception_one_already_failed(self):
future1 = self.executor.submit(time.sleep, 2)
finished, pending = futures.wait(
[EXCEPTION_FUTURE, future1],
return_when=futures.FIRST_EXCEPTION)
self.assertEqual(set([EXCEPTION_FUTURE]), finished)
self.assertEqual(set([future1]), pending)
def test_all_completed(self):
future1 = self.executor.submit(divmod, 2, 0)
future2 = self.executor.submit(mul, 2, 21)
finished, pending = futures.wait(
[SUCCESSFUL_FUTURE,
CANCELLED_AND_NOTIFIED_FUTURE,
EXCEPTION_FUTURE,
future1,
future2],
return_when=futures.ALL_COMPLETED)
self.assertEqual(set([SUCCESSFUL_FUTURE,
CANCELLED_AND_NOTIFIED_FUTURE,
EXCEPTION_FUTURE,
future1,
future2]), finished)
self.assertEqual(set(), pending)
def test_timeout(self):
future1 = self.executor.submit(mul, 6, 7)
future2 = self.executor.submit(time.sleep, 3)
finished, pending = futures.wait(
[CANCELLED_AND_NOTIFIED_FUTURE,
EXCEPTION_FUTURE,
SUCCESSFUL_FUTURE,
future1, future2],
timeout=1.5,
return_when=futures.ALL_COMPLETED)
self.assertEqual(set([CANCELLED_AND_NOTIFIED_FUTURE,
EXCEPTION_FUTURE,
SUCCESSFUL_FUTURE,
future1]), finished)
self.assertEqual(set([future2]), pending)
class ThreadPoolWaitTests(ThreadPoolMixin, WaitTests):
def test_pending_calls_race(self):
# Issue #14406: multi-threaded race condition when waiting on all
# futures.
event = threading.Event()
def future_func():
event.wait()
oldswitchinterval = sys.getcheckinterval()
sys.setcheckinterval(1)
try:
fs = set(self.executor.submit(future_func) for i in range(100))
event.set()
futures.wait(fs, return_when=futures.ALL_COMPLETED)
finally:
sys.setcheckinterval(oldswitchinterval)
class ProcessPoolWaitTests(ProcessPoolMixin, WaitTests):
pass
class AsCompletedTests(unittest.TestCase):
# TODO(brian@sweetapp.com): Should have a test with a non-zero timeout.
def test_no_timeout(self):
future1 = self.executor.submit(mul, 2, 21)
future2 = self.executor.submit(mul, 7, 6)
completed = set(futures.as_completed(
[CANCELLED_AND_NOTIFIED_FUTURE,
EXCEPTION_FUTURE,
SUCCESSFUL_FUTURE,
future1, future2]))
self.assertEqual(set(
[CANCELLED_AND_NOTIFIED_FUTURE,
EXCEPTION_FUTURE,
SUCCESSFUL_FUTURE,
future1, future2]),
completed)
def test_zero_timeout(self):
future1 = self.executor.submit(time.sleep, 2)
completed_futures = set()
try:
for future in futures.as_completed(
[CANCELLED_AND_NOTIFIED_FUTURE,
EXCEPTION_FUTURE,
SUCCESSFUL_FUTURE,
future1],
timeout=0):
completed_futures.add(future)
except futures.TimeoutError:
pass
self.assertEqual(set([CANCELLED_AND_NOTIFIED_FUTURE,
EXCEPTION_FUTURE,
SUCCESSFUL_FUTURE]),
completed_futures)
def test_duplicate_futures(self):
# Issue 20367. Duplicate futures should not raise exceptions or give
# duplicate responses.
future1 = self.executor.submit(time.sleep, 2)
completed = [f for f in futures.as_completed([future1,future1])]
self.assertEqual(len(completed), 1)
class ThreadPoolAsCompletedTests(ThreadPoolMixin, AsCompletedTests):
pass
class ProcessPoolAsCompletedTests(ProcessPoolMixin, AsCompletedTests):
pass
class ExecutorTest(unittest.TestCase):
# Executor.shutdown() and context manager usage is tested by
# ExecutorShutdownTest.
def test_submit(self):
future = self.executor.submit(pow, 2, 8)
self.assertEqual(256, future.result())
def test_submit_keyword(self):
future = self.executor.submit(mul, 2, y=8)
self.assertEqual(16, future.result())
def test_map(self):
self.assertEqual(
list(self.executor.map(pow, range(10), range(10))),
list(map(pow, range(10), range(10))))
def test_map_exception(self):
i = self.executor.map(divmod, [1, 1, 1, 1], [2, 3, 0, 5])
self.assertEqual(next(i), (0, 1))
self.assertEqual(next(i), (0, 1))
self.assertRaises(ZeroDivisionError, next, i)
def test_map_timeout(self):
results = []
try:
for i in self.executor.map(time.sleep,
[0, 0, 3],
timeout=1.5):
results.append(i)
except futures.TimeoutError:
pass
else:
self.fail('expected TimeoutError')
self.assertEqual([None, None], results)
class ThreadPoolExecutorTest(ThreadPoolMixin, ExecutorTest):
def test_map_submits_without_iteration(self):
"""Tests verifying issue 11777."""
finished = []
def record_finished(n):
finished.append(n)
self.executor.map(record_finished, range(10))
self.executor.shutdown(wait=True)
self.assertEqual(len(finished), 10)
class ProcessPoolExecutorTest(ProcessPoolMixin, ExecutorTest):
pass
class FutureTests(unittest.TestCase):
def test_done_callback_with_result(self):
callback_result = [None]
def fn(callback_future):
callback_result[0] = callback_future.result()
f = Future()
f.add_done_callback(fn)
f.set_result(5)
self.assertEqual(5, callback_result[0])
def test_done_callback_with_exception(self):
callback_exception = [None]
def fn(callback_future):
callback_exception[0] = callback_future.exception()
f = Future()
f.add_done_callback(fn)
f.set_exception(Exception('test'))
self.assertEqual(('test',), callback_exception[0].args)
def test_done_callback_with_cancel(self):
was_cancelled = [None]
def fn(callback_future):
was_cancelled[0] = callback_future.cancelled()
f = Future()
f.add_done_callback(fn)
self.assertTrue(f.cancel())
self.assertTrue(was_cancelled[0])
def test_done_callback_raises(self):
with captured_stderr() as stderr:
raising_was_called = [False]
fn_was_called = [False]
def raising_fn(callback_future):
raising_was_called[0] = True
raise Exception('doh!')
def fn(callback_future):
fn_was_called[0] = True
f = Future()
f.add_done_callback(raising_fn)
f.add_done_callback(fn)
f.set_result(5)
self.assertTrue(raising_was_called)
self.assertTrue(fn_was_called)
self.assertIn('Exception: doh!', stderr.getvalue())
def test_done_callback_already_successful(self):
callback_result = [None]
def fn(callback_future):
callback_result[0] = callback_future.result()
f = Future()
f.set_result(5)
f.add_done_callback(fn)
self.assertEqual(5, callback_result[0])
def test_done_callback_already_failed(self):
callback_exception = [None]
def fn(callback_future):
callback_exception[0] = callback_future.exception()
f = Future()
f.set_exception(Exception('test'))
f.add_done_callback(fn)
self.assertEqual(('test',), callback_exception[0].args)
def test_done_callback_already_cancelled(self):
was_cancelled = [None]
def fn(callback_future):
was_cancelled[0] = callback_future.cancelled()
f = Future()
self.assertTrue(f.cancel())
f.add_done_callback(fn)
self.assertTrue(was_cancelled[0])
def test_repr(self):
self.assertRegexpMatches(repr(PENDING_FUTURE),
'<Future at 0x[0-9a-f]+L? state=pending>')
self.assertRegexpMatches(repr(RUNNING_FUTURE),
'<Future at 0x[0-9a-f]+L? state=running>')
self.assertRegexpMatches(repr(CANCELLED_FUTURE),
'<Future at 0x[0-9a-f]+L? state=cancelled>')
self.assertRegexpMatches(repr(CANCELLED_AND_NOTIFIED_FUTURE),
'<Future at 0x[0-9a-f]+L? state=cancelled>')
self.assertRegexpMatches(
repr(EXCEPTION_FUTURE),
'<Future at 0x[0-9a-f]+L? state=finished raised IOError>')
self.assertRegexpMatches(
repr(SUCCESSFUL_FUTURE),
'<Future at 0x[0-9a-f]+L? state=finished returned int>')
def test_cancel(self):
f1 = create_future(state=PENDING)
f2 = create_future(state=RUNNING)
f3 = create_future(state=CANCELLED)
f4 = create_future(state=CANCELLED_AND_NOTIFIED)
f5 = create_future(state=FINISHED, exception=IOError())
f6 = create_future(state=FINISHED, result=5)
self.assertTrue(f1.cancel())
self.assertEqual(f1._state, CANCELLED)
self.assertFalse(f2.cancel())
self.assertEqual(f2._state, RUNNING)
self.assertTrue(f3.cancel())
self.assertEqual(f3._state, CANCELLED)
self.assertTrue(f4.cancel())
self.assertEqual(f4._state, CANCELLED_AND_NOTIFIED)
self.assertFalse(f5.cancel())
self.assertEqual(f5._state, FINISHED)
self.assertFalse(f6.cancel())
self.assertEqual(f6._state, FINISHED)
def test_cancelled(self):
self.assertFalse(PENDING_FUTURE.cancelled())
self.assertFalse(RUNNING_FUTURE.cancelled())
self.assertTrue(CANCELLED_FUTURE.cancelled())
self.assertTrue(CANCELLED_AND_NOTIFIED_FUTURE.cancelled())
self.assertFalse(EXCEPTION_FUTURE.cancelled())
self.assertFalse(SUCCESSFUL_FUTURE.cancelled())
def test_done(self):
self.assertFalse(PENDING_FUTURE.done())
self.assertFalse(RUNNING_FUTURE.done())
self.assertTrue(CANCELLED_FUTURE.done())
self.assertTrue(CANCELLED_AND_NOTIFIED_FUTURE.done())
self.assertTrue(EXCEPTION_FUTURE.done())
self.assertTrue(SUCCESSFUL_FUTURE.done())
def test_running(self):
self.assertFalse(PENDING_FUTURE.running())
self.assertTrue(RUNNING_FUTURE.running())
self.assertFalse(CANCELLED_FUTURE.running())
self.assertFalse(CANCELLED_AND_NOTIFIED_FUTURE.running())
self.assertFalse(EXCEPTION_FUTURE.running())
self.assertFalse(SUCCESSFUL_FUTURE.running())
def test_result_with_timeout(self):
self.assertRaises(futures.TimeoutError,
PENDING_FUTURE.result, timeout=0)
self.assertRaises(futures.TimeoutError,
RUNNING_FUTURE.result, timeout=0)
self.assertRaises(futures.CancelledError,
CANCELLED_FUTURE.result, timeout=0)
self.assertRaises(futures.CancelledError,
CANCELLED_AND_NOTIFIED_FUTURE.result, timeout=0)
self.assertRaises(IOError, EXCEPTION_FUTURE.result, timeout=0)
self.assertEqual(SUCCESSFUL_FUTURE.result(timeout=0), 42)
def test_result_with_success(self):
# TODO(brian@sweetapp.com): This test is timing dependant.
def notification():
# Wait until the main thread is waiting for the result.
time.sleep(1)
f1.set_result(42)
f1 = create_future(state=PENDING)
t = threading.Thread(target=notification)
t.start()
self.assertEqual(f1.result(timeout=5), 42)
def test_result_with_cancel(self):
# TODO(brian@sweetapp.com): This test is timing dependant.
def notification():
# Wait until the main thread is waiting for the result.
time.sleep(1)
f1.cancel()
f1 = create_future(state=PENDING)
t = threading.Thread(target=notification)
t.start()
self.assertRaises(futures.CancelledError, f1.result, timeout=5)
def test_exception_with_timeout(self):
self.assertRaises(futures.TimeoutError,
PENDING_FUTURE.exception, timeout=0)
self.assertRaises(futures.TimeoutError,
RUNNING_FUTURE.exception, timeout=0)
self.assertRaises(futures.CancelledError,
CANCELLED_FUTURE.exception, timeout=0)
self.assertRaises(futures.CancelledError,
CANCELLED_AND_NOTIFIED_FUTURE.exception, timeout=0)
self.assertTrue(isinstance(EXCEPTION_FUTURE.exception(timeout=0),
IOError))
self.assertEqual(SUCCESSFUL_FUTURE.exception(timeout=0), None)
def test_exception_with_success(self):
def notification():
# Wait until the main thread is waiting for the exception.
time.sleep(1)
with f1._condition:
f1._state = FINISHED
f1._exception = IOError()
f1._condition.notify_all()
f1 = create_future(state=PENDING)
t = threading.Thread(target=notification)
t.start()
self.assertTrue(isinstance(f1.exception(timeout=5), IOError))
@reap_threads
def test_main():
try:
test_support.run_unittest(ProcessPoolExecutorTest,
ThreadPoolExecutorTest,
ProcessPoolWaitTests,
ThreadPoolWaitTests,
ProcessPoolAsCompletedTests,
ThreadPoolAsCompletedTests,
FutureTests,
ProcessPoolShutdownTest,
ThreadPoolShutdownTest)
finally:
test_support.reap_children()
if __name__ == "__main__":
test_main()