[lldb/thirdparty] Remove unneeded files, asked by Jonas.
authorDavide Italiano <davide@freebsd.org>
Tue, 12 Mar 2019 20:41:36 +0000 (20:41 +0000)
committerDavide Italiano <davide@freebsd.org>
Tue, 12 Mar 2019 20:41:36 +0000 (20:41 +0000)
llvm-svn: 355969

123 files changed:
lldb/third_party/Python/module/pexpect-4.6/doc/FAQ.rst [deleted file]
lldb/third_party/Python/module/pexpect-4.6/doc/Makefile [deleted file]
lldb/third_party/Python/module/pexpect-4.6/doc/api/fdpexpect.rst [deleted file]
lldb/third_party/Python/module/pexpect-4.6/doc/api/index.rst [deleted file]
lldb/third_party/Python/module/pexpect-4.6/doc/api/pexpect.rst [deleted file]
lldb/third_party/Python/module/pexpect-4.6/doc/api/popen_spawn.rst [deleted file]
lldb/third_party/Python/module/pexpect-4.6/doc/api/pxssh.rst [deleted file]
lldb/third_party/Python/module/pexpect-4.6/doc/api/replwrap.rst [deleted file]
lldb/third_party/Python/module/pexpect-4.6/doc/clean.css [deleted file]
lldb/third_party/Python/module/pexpect-4.6/doc/commonissues.rst [deleted file]
lldb/third_party/Python/module/pexpect-4.6/doc/conf.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/doc/examples.rst [deleted file]
lldb/third_party/Python/module/pexpect-4.6/doc/history.rst [deleted file]
lldb/third_party/Python/module/pexpect-4.6/doc/index.rst [deleted file]
lldb/third_party/Python/module/pexpect-4.6/doc/install.rst [deleted file]
lldb/third_party/Python/module/pexpect-4.6/doc/make.bat [deleted file]
lldb/third_party/Python/module/pexpect-4.6/doc/overview.rst [deleted file]
lldb/third_party/Python/module/pexpect-4.6/doc/requirements.txt [deleted file]
lldb/third_party/Python/module/pexpect-4.6/doc/sphinxext/github.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/examples/README [deleted file]
lldb/third_party/Python/module/pexpect-4.6/examples/astat.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/examples/cgishell.cgi [deleted file]
lldb/third_party/Python/module/pexpect-4.6/examples/chess.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/examples/chess2.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/examples/chess3.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/examples/df.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/examples/ftp.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/examples/hive.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/examples/monitor.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/examples/passmass.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/examples/python.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/examples/script.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/examples/ssh_tunnel.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/examples/table_test.html [deleted file]
lldb/third_party/Python/module/pexpect-4.6/examples/topip.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/examples/uptime.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/notes/my_forkpty.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/notes/notes.txt [deleted file]
lldb/third_party/Python/module/pexpect-4.6/notes/posixmodule.c.diff [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/PexpectTestCase.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/README [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/TESTDATA.txt [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/__init__.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/adhoc.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/alarm_die.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/bambi.vt [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/depricated_test_filedescriptor.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/echo_w_prompt.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/echo_wait.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/exit1.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/exit667.c [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/fakessh/ssh [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/getch.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/globe.vt [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/interact.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/list100.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/needs_kill.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/pexpectTest.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/platform_checks/CSIGNALTEST/test.c [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/platform_checks/README [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/platform_checks/check.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/platform_checks/check2.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/platform_checks/check_control_terminal.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/platform_checks/check_handler.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/platform_checks/check_read.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/platform_checks/check_signals.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/qa.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/sigwinch_report.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/sleep_for.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/swapcase_echo.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/test_FSM.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/test_ansi.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/test_async.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/test_command_list_split.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/test_constructor.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/test_ctrl_chars.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/test_delay.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/test_destructor.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/test_dotall.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/test_env.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/test_expect.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/test_filedescriptor.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/test_interact.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/test_isalive.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/test_log.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/test_misc.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/test_missing_command.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/test_performance.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/test_pickling.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/test_popen_spawn.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/test_pxssh.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/test_replwrap.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/test_repr.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/test_run.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/test_run_out_of_pty.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/test_screen.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/test_socket.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/test_timeout_pattern.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/test_unicode.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/test_which.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/test_winsize.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/tetris.data [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/ticker.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/torturet.vt [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tests/utils.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tools/display-fpathconf.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tools/display-maxcanon.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tools/display-sighandlers.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tools/display-terminalinfo.py [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tools/teamcity-coverage-report.sh [deleted file]
lldb/third_party/Python/module/pexpect-4.6/tools/teamcity-runtests.sh [deleted file]
lldb/third_party/Python/module/ptyprocess-0.6.0/docs/Makefile [deleted file]
lldb/third_party/Python/module/ptyprocess-0.6.0/docs/api.rst [deleted file]
lldb/third_party/Python/module/ptyprocess-0.6.0/docs/conf.py [deleted file]
lldb/third_party/Python/module/ptyprocess-0.6.0/docs/images/pty_vs_popen.png [deleted file]
lldb/third_party/Python/module/ptyprocess-0.6.0/docs/images/pty_vs_popen.svg [deleted file]
lldb/third_party/Python/module/ptyprocess-0.6.0/docs/index.rst [deleted file]
lldb/third_party/Python/module/ptyprocess-0.6.0/tests/__init__.py [deleted file]
lldb/third_party/Python/module/ptyprocess-0.6.0/tests/test_echo.py [deleted file]
lldb/third_party/Python/module/ptyprocess-0.6.0/tests/test_invalid_binary.py [deleted file]
lldb/third_party/Python/module/ptyprocess-0.6.0/tests/test_preexec_fn.py [deleted file]
lldb/third_party/Python/module/ptyprocess-0.6.0/tests/test_spawn.py [deleted file]
lldb/third_party/Python/module/ptyprocess-0.6.0/tests/test_wait.py [deleted file]

diff --git a/lldb/third_party/Python/module/pexpect-4.6/doc/FAQ.rst b/lldb/third_party/Python/module/pexpect-4.6/doc/FAQ.rst
deleted file mode 100644 (file)
index 1964b12..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-FAQ
-===
-
-**Q: Where can I get help with pexpect?  Is there a mailing list?**
-
-A: You can use the `pexpect tag on Stackoverflow <http://stackoverflow.com/questions/tagged/pexpect>`__
-to ask questions specifically related to Pexpect. For more general Python
-support, there's the python-list_ mailing list, and the `#python`_
-IRC channel.  Please refrain from using github for general
-python or systems scripting support.
-
-.. _python-list: https://mail.python.org/mailman/listinfo/python-list
-.. _#python: https://www.python.org/community/irc/
-
-**Q: Why don't shell pipe and redirect (| and >) work when I spawn a command?**
-
-A: Remember that Pexpect does NOT interpret shell meta characters such as
-redirect, pipe, or wild cards (``>``, ``|``, or ``*``). That's done by a shell not
-the command you are spawning. This is a common mistake. If you want to run a
-command and pipe it through another command then you must also start a shell.
-For example::
-
-    child = pexpect.spawn('/bin/bash -c "ls -l | grep LOG > log_list.txt"')
-    child.expect(pexpect.EOF)
-
-The second form of spawn (where you pass a list of arguments) is useful in
-situations where you wish to spawn a command and pass it its own argument list.
-This can make syntax more clear. For example, the following is equivalent to the
-previous example::
-
-    shell_cmd = 'ls -l | grep LOG > log_list.txt'
-    child = pexpect.spawn('/bin/bash', ['-c', shell_cmd])
-    child.expect(pexpect.EOF)
-
-**Q: The `before` and `after` properties sound weird.**
-
-A: This is how the -B and -A options in grep works, so that made it
-easier for me to remember. Whatever makes my life easier is what's best.
-Originally I was going to model Pexpect after Expect, but then I found
-that I didn't actually like the way Expect did some things. It was more
-confusing. The `after` property can be a little confusing at first,
-because it will actually include the matched string. The `after` means
-after the point of match, not after the matched string.
-
-**Q: Why not just use Expect?**
-
-A: I love it. It's great. I has bailed me out of some real jams, but I
-wanted something that would do 90% of what I need from Expect; be 10% of
-the size; and allow me to write my code in Python instead of TCL.
-Pexpect is not nearly as big as Expect, but Pexpect does everything I
-have ever used Expect for.
-
-.. _whynotpipe:
-
-**Q: Why not just use a pipe (popen())?**
-
-A: A pipe works fine for getting the output to non-interactive programs.
-If you just want to get the output from ls, uname, or ping then this
-works. Pipes do not work very well for interactive programs and pipes
-will almost certainly fail for most applications that ask for passwords
-such as telnet, ftp, or ssh.
-
-There are two reasons for this.
-
-* First an application may bypass stdout and print directly to its
-  controlling TTY. Something like SSH will do this when it asks you for
-  a password. This is why you cannot redirect the password prompt because
-  it does not go through stdout or stderr.
-
-* The second reason is because most applications are built using the C
-  Standard IO Library (anything that uses ``#include <stdio.h>``). One
-  of the features of the stdio library is that it buffers all input and
-  output. Normally output is line buffered when a program is printing to
-  a TTY (your terminal screen). Everytime the program prints a line-feed
-  the currently buffered data will get printed to your screen. The
-  problem comes when you connect a pipe. The stdio library is smart and
-  can tell that it is printing to a pipe instead of a TTY. In that case
-  it switches from line buffer mode to block buffered. In this mode the
-  currently buffered data is flushed when the buffer is full. This
-  causes most interactive programs to deadlock. Block buffering is more
-  efficient when writing to disks and pipes. Take the situation where a
-  program prints a message ``"Enter your user name:\n"`` and then waits
-  for you type type something. In block buffered mode, the stdio library
-  will not put the message into the pipe even though a linefeed is
-  printed. The result is that you never receive the message, yet the
-  child application will sit and wait for you to type a response. Don't
-  confuse the stdio lib's buffer with the pipe's buffer. The pipe buffer
-  is another area that can cause problems. You could flush the input
-  side of a pipe, whereas you have no control over the stdio library buffer.
-
-More information: the Standard IO library has three states for a
-``FILE *``. These are: _IOFBF for block buffered; _IOLBF for line buffered;
-and _IONBF for unbuffered. The STDIO lib will use block buffering when
-talking to a block file descriptor such as a pipe. This is usually not
-helpful for interactive programs. Short of recompiling your program to
-include fflush() everywhere or recompiling a custom stdio library there
-is not much a controlling application can do about this if talking over
-a pipe.
-
-The program may have put data in its output that remains unflushed
-because the output buffer is not full; then the program will go and
-deadlock while waiting for input -- because you never send it any
-because you are still waiting for its output (still stuck in the STDIO's
-output buffer).
-
-The answer is to use a pseudo-tty. A TTY device will force line
-buffering (as opposed to block buffering). Line buffering means that you
-will get each line when the child program sends a line feed. This
-corresponds to the way most interactive programs operate -- send a line
-of output then wait for a line of input.
-
-I put "answer" in quotes because it's ugly solution and because there is
-no POSIX standard for pseudo-TTY devices (even though they have a TTY
-standard...). What would make more sense to me would be to have some way
-to set a mode on a file descriptor so that it will tell the STDIO to be
-line-buffered. I have investigated, and I don't think there is a way to
-set the buffered state of a child process. The STDIO Library does not
-maintain any external state in the kernel or whatnot, so I don't think
-there is any way for you to alter it. I'm not quite sure how this
-line-buffered/block-buffered state change happens internally in the
-STDIO library. I think the STDIO lib looks at the file descriptor and
-decides to change behavior based on whether it's a TTY or a block file
-(see isatty()).
-
-I hope that this qualifies as helpful. Don't use a pipe to control
-another application.
-
-**Q: Can I do screen scraping with this thing?**
-
-A: That depends. If your application just does line-oriented output then
-this is easy. If a program emits many terminal sequences, from video
-attributes to screen addressing, such as programs using curses, then
-it may become very difficult to ascertain what text is displayed on a screen.
-
-We suggest using the `pyte <https://github.com/selectel/pyte>`_ library to
-screen-scrape.  The module :mod:`pexpect.ANSI` released with previous versions
-of pexpect is now marked deprecated and may be removed in the future.
-
-**Q: I get strange behavior with pexect and gevent**
-
-A: Pexpect uses fork(2), exec(2), select(2), waitpid(2), and implements its
-own selector in expect family of calls. pexpect has been known to misbehave
-when paired with gevent.  A solution might be to isolate your pexpect
-dependent code from any frameworks that manipulate event selection behavior
-by running it in an another process entirely.
diff --git a/lldb/third_party/Python/module/pexpect-4.6/doc/Makefile b/lldb/third_party/Python/module/pexpect-4.6/doc/Makefile
deleted file mode 100644 (file)
index ced8a68..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-# Makefile for Sphinx documentation
-#
-
-# You can set these variables from the command line.
-SPHINXOPTS    =
-SPHINXBUILD   = sphinx-build
-PAPER         =
-BUILDDIR      = _build
-
-# Internal variables.
-PAPEROPT_a4     = -D latex_paper_size=a4
-PAPEROPT_letter = -D latex_paper_size=letter
-ALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
-# the i18n builder cannot share the environment and doctrees with the others
-I18NSPHINXOPTS  = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
-
-.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
-
-help:
-       @echo "Please use \`make <target>' where <target> is one of"
-       @echo "  html       to make standalone HTML files"
-       @echo "  dirhtml    to make HTML files named index.html in directories"
-       @echo "  singlehtml to make a single large HTML file"
-       @echo "  pickle     to make pickle files"
-       @echo "  json       to make JSON files"
-       @echo "  htmlhelp   to make HTML files and a HTML help project"
-       @echo "  qthelp     to make HTML files and a qthelp project"
-       @echo "  devhelp    to make HTML files and a Devhelp project"
-       @echo "  epub       to make an epub"
-       @echo "  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
-       @echo "  latexpdf   to make LaTeX files and run them through pdflatex"
-       @echo "  text       to make text files"
-       @echo "  man        to make manual pages"
-       @echo "  texinfo    to make Texinfo files"
-       @echo "  info       to make Texinfo files and run them through makeinfo"
-       @echo "  gettext    to make PO message catalogs"
-       @echo "  changes    to make an overview of all changed/added/deprecated items"
-       @echo "  linkcheck  to check all external links for integrity"
-       @echo "  doctest    to run all doctests embedded in the documentation (if enabled)"
-
-clean:
-       -rm -rf $(BUILDDIR)/*
-
-html:
-       $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
-       @echo
-       @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
-
-dirhtml:
-       $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
-       @echo
-       @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
-
-singlehtml:
-       $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
-       @echo
-       @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
-
-pickle:
-       $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
-       @echo
-       @echo "Build finished; now you can process the pickle files."
-
-json:
-       $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
-       @echo
-       @echo "Build finished; now you can process the JSON files."
-
-htmlhelp:
-       $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
-       @echo
-       @echo "Build finished; now you can run HTML Help Workshop with the" \
-             ".hhp project file in $(BUILDDIR)/htmlhelp."
-
-qthelp:
-       $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
-       @echo
-       @echo "Build finished; now you can run "qcollectiongenerator" with the" \
-             ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
-       @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Pexpect.qhcp"
-       @echo "To view the help file:"
-       @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Pexpect.qhc"
-
-devhelp:
-       $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
-       @echo
-       @echo "Build finished."
-       @echo "To view the help file:"
-       @echo "# mkdir -p $$HOME/.local/share/devhelp/Pexpect"
-       @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Pexpect"
-       @echo "# devhelp"
-
-epub:
-       $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
-       @echo
-       @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
-
-latex:
-       $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
-       @echo
-       @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
-       @echo "Run \`make' in that directory to run these through (pdf)latex" \
-             "(use \`make latexpdf' here to do that automatically)."
-
-latexpdf:
-       $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
-       @echo "Running LaTeX files through pdflatex..."
-       $(MAKE) -C $(BUILDDIR)/latex all-pdf
-       @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
-
-text:
-       $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
-       @echo
-       @echo "Build finished. The text files are in $(BUILDDIR)/text."
-
-man:
-       $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
-       @echo
-       @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
-
-texinfo:
-       $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
-       @echo
-       @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
-       @echo "Run \`make' in that directory to run these through makeinfo" \
-             "(use \`make info' here to do that automatically)."
-
-info:
-       $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
-       @echo "Running Texinfo files through makeinfo..."
-       make -C $(BUILDDIR)/texinfo info
-       @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
-
-gettext:
-       $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
-       @echo
-       @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
-
-changes:
-       $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
-       @echo
-       @echo "The overview file is in $(BUILDDIR)/changes."
-
-linkcheck:
-       $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
-       @echo
-       @echo "Link check complete; look for any errors in the above output " \
-             "or in $(BUILDDIR)/linkcheck/output.txt."
-
-doctest:
-       $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
-       @echo "Testing of doctests in the sources finished, look at the " \
-             "results in $(BUILDDIR)/doctest/output.txt."
diff --git a/lldb/third_party/Python/module/pexpect-4.6/doc/api/fdpexpect.rst b/lldb/third_party/Python/module/pexpect-4.6/doc/api/fdpexpect.rst
deleted file mode 100644 (file)
index 3ddf2cd..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-fdpexpect - use pexpect with a file descriptor
-==============================================
-
-.. automodule:: pexpect.fdpexpect
-
-fdspawn class
--------------
-
-.. autoclass:: fdspawn
-   :show-inheritance:
-
-   .. automethod:: __init__
-   .. automethod:: isalive
-   .. automethod:: close
-
-   .. method:: expect
-               expect_exact
-               expect_list
-
-      As :class:`pexpect.spawn`.
diff --git a/lldb/third_party/Python/module/pexpect-4.6/doc/api/index.rst b/lldb/third_party/Python/module/pexpect-4.6/doc/api/index.rst
deleted file mode 100644 (file)
index 5277d1c..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-API documentation
-=================
-
-.. toctree::
-   :maxdepth: 2
-
-   pexpect
-   fdpexpect
-   popen_spawn
-   replwrap
-   pxssh
-
-The modules ``pexpect.screen`` and ``pexpect.ANSI`` have been deprecated in
-Pexpect version 4. They were separate from the main use cases for Pexpect, and
-there are better maintained Python terminal emulator packages, such as
-`pyte <https://pypi.python.org/pypi/pyte>`__.
-These modules are still present for now, but we don't advise using them in new
-code.
diff --git a/lldb/third_party/Python/module/pexpect-4.6/doc/api/pexpect.rst b/lldb/third_party/Python/module/pexpect-4.6/doc/api/pexpect.rst
deleted file mode 100644 (file)
index 79bbcef..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-Core pexpect components
-=======================
-
-.. automodule:: pexpect
-
-spawn class
------------
-
-.. autoclass:: spawn
-
-   .. automethod:: __init__
-   .. automethod:: expect
-   .. automethod:: expect_exact
-   .. automethod:: expect_list
-   .. automethod:: compile_pattern_list
-   .. automethod:: send
-   .. automethod:: sendline
-   .. automethod:: write
-   .. automethod:: writelines
-   .. automethod:: sendcontrol
-   .. automethod:: sendeof
-   .. automethod:: sendintr
-   .. automethod:: read
-   .. automethod:: readline
-   .. automethod:: read_nonblocking
-   .. automethod:: eof
-   .. automethod:: interact
-
-   .. attribute:: logfile
-                  logfile_read
-                  logfile_send
-
-      Set these to a Python file object (or :data:`sys.stdout`) to log all
-      communication, data read from the child process, or data sent to the child
-      process.
-
-      .. note::
-
-         With :class:`spawn` in bytes mode, the log files should be open for
-         writing binary data. In unicode mode, they should
-         be open for writing unicode text. See :ref:`unicode`.
-
-Controlling the child process
-`````````````````````````````
-
-.. class:: spawn
-
-   .. automethod:: kill
-   .. automethod:: terminate
-   .. automethod:: isalive
-   .. automethod:: wait
-   .. automethod:: close
-   .. automethod:: getwinsize
-   .. automethod:: setwinsize
-   .. automethod:: getecho
-   .. automethod:: setecho
-   .. automethod:: waitnoecho
-
-   .. attribute:: pid
-
-      The process ID of the child process.
-
-   .. attribute:: child_fd
-
-      The file descriptor used to communicate with the child process.
-
-.. _unicode:
-
-Handling unicode
-````````````````
-
-By default, :class:`spawn` is a bytes interface: its read methods return bytes,
-and its write/send and expect methods expect bytes. If you pass the *encoding*
-parameter to the constructor, it will instead act as a unicode interface:
-strings you send will be encoded using that encoding, and bytes received will
-be decoded before returning them to you. In this mode, patterns for
-:meth:`~spawn.expect` and :meth:`~spawn.expect_exact` should also be unicode.
-
-.. versionchanged:: 4.0
-
-   :class:`spawn` provides both the bytes and unicode interfaces. In Pexpect
-   3.x, the unicode interface was provided by a separate ``spawnu`` class.
-
-For backwards compatibility, some Unicode is allowed in bytes mode: the
-send methods will encode arbitrary unicode as UTF-8 before sending it to the
-child process, and its expect methods can accept ascii-only unicode strings.
-
-.. note::
-
-   Unicode handling with pexpect works the same way on Python 2 and 3, despite
-   the difference in names. I.e.:
-
-   - Bytes mode works with ``str`` on Python 2, and :class:`bytes` on Python 3,
-   - Unicode mode works with ``unicode`` on Python 2, and :class:`str` on Python 3.
-
-run function
-------------
-
-.. autofunction:: run
-
-Exceptions
-----------
-
-.. autoclass:: EOF
-
-.. autoclass:: TIMEOUT
-
-.. autoclass:: ExceptionPexpect
-
-Utility functions
------------------
-
-.. autofunction:: which
-
-.. autofunction:: split_command_line
diff --git a/lldb/third_party/Python/module/pexpect-4.6/doc/api/popen_spawn.rst b/lldb/third_party/Python/module/pexpect-4.6/doc/api/popen_spawn.rst
deleted file mode 100644 (file)
index 64cae15..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-popen_spawn - use pexpect with a piped subprocess
-=================================================
-
-.. automodule:: pexpect.popen_spawn
-
-PopenSpawn class
-----------------
-
-.. autoclass:: PopenSpawn
-
-   .. automethod:: __init__
-   .. automethod:: send
-   .. automethod:: sendline
-   .. automethod:: write
-   .. automethod:: writelines
-   .. automethod:: kill
-   .. automethod:: sendeof
-   .. automethod:: wait
-   
-   .. method:: expect
-               expect_exact
-               expect_list
-
-      As :class:`pexpect.spawn`.
diff --git a/lldb/third_party/Python/module/pexpect-4.6/doc/api/pxssh.rst b/lldb/third_party/Python/module/pexpect-4.6/doc/api/pxssh.rst
deleted file mode 100644 (file)
index b947f4b..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-pxssh - control an SSH session
-==============================
-
-.. automodule:: pexpect.pxssh
-
-.. autoclass:: ExceptionPxssh
-
-pxssh class
------------
-
-.. autoclass:: pxssh
-
-   .. automethod:: __init__
-
-   .. attribute:: PROMPT
-
-      The regex pattern to search for to find the prompt. If you call :meth:`login`
-      with ``auto_prompt_reset=False``, you must set this attribute manually.
-
-   .. attribute:: force_password
-
-      If this is set to True, public key authentication is disabled, forcing the
-      server to ask for a password. Note that the sysadmin can disable password
-      logins, in which case this won't work.
-
-   .. attribute:: options
-
-      The dictionary of user specified SSH options, eg, ``options = dict(StrictHostKeyChecking="no", UserKnownHostsFile="/dev/null")``
-
-   .. automethod:: login
-   .. automethod:: logout
-   .. automethod:: prompt
-   .. automethod:: sync_original_prompt
-   .. automethod:: set_unique_prompt
diff --git a/lldb/third_party/Python/module/pexpect-4.6/doc/api/replwrap.rst b/lldb/third_party/Python/module/pexpect-4.6/doc/api/replwrap.rst
deleted file mode 100644 (file)
index bf44a94..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-replwrap - Control read-eval-print-loops
-========================================
-
-.. automodule:: pexpect.replwrap
-
-.. versionadded:: 3.3
-
-.. autoclass:: REPLWrapper
-
-   .. automethod:: run_command
-
-.. data:: PEXPECT_PROMPT
-
-   A string that can be used as a prompt, and is unlikely to be found in output.
-
-Using the objects above, it is easy to wrap a REPL. For instance, to use a
-Python shell::
-
-    py = REPLWrapper("python", ">>> ", "import sys; sys.ps1={!r}; sys.ps2={!r}")
-    py.run_command("4+7")
-
-Convenience functions are provided for Python and bash shells:
-
-.. autofunction:: python
-
-.. autofunction:: bash
diff --git a/lldb/third_party/Python/module/pexpect-4.6/doc/clean.css b/lldb/third_party/Python/module/pexpect-4.6/doc/clean.css
deleted file mode 100644 (file)
index e8d98dd..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-
-body {
-       margin:0px;
-       padding:0px;
-       font-family:verdana, arial, helvetica, sans-serif; 
-       color:#333;
-       background-color:white;
-       }
-pre {
-  background: #eeeeee;
-  border: 1px solid #888888;
-  color: black;
-  padding: 1em;
-  white-space: pre;
-}
-h1 {
-       margin:5px 0px 5px 0px;
-       padding:0px;
-       font-size:20px;
-       line-height:28px;
-       font-weight:900;
-       color:#44f;
-       }
-h2 {
-       margin:5px 0px 5px 0px;
-       padding:0px;
-       font-size:17px;
-       line-height:28px;
-       font-weight:900;
-       color:#226;
-       }
-h3 {
-       margin:5px 0px 5px 0px;
-       padding:0px;
-       font-size:15px;
-       line-height:28px;
-       font-weight:900;
-       }
-p
-{
-       margin:0px 0px 16px 0px;
-       font:11px/20px verdana, arial, helvetica, sans-serif;
-       padding:0px;
-}
-table 
-{
-    font-size: 10pt; 
-       color: #000000;
-}
-td{border:1px solid #999;}
-
-table.pymenu {color: #000000; background-color: #99ccff}
-th.pymenu {color: #ffffff; background-color: #003366}
-
-.code 
-{
-       font-family: "Lucida Console", monospace; font-weight: bold;
-       color: #007700; background-color: #eeeeee
-}
-
-#Content>p {margin:0px;}
-#Content>p+p {text-indent:30px;}
-
-a {
-       text-decoration:none;
-       font-weight:600;
-       font-family:verdana, arial, helvetica, sans-serif;
-       color: #900;
-}
-//a:link {color:#09c;}
-//a x:visited {color:#07a;}
-a:hover {background-color:#ee0;}
-
-#Header {
-       margin:10px 0px 10px 0px;
-       padding:10px 0px 10px 20px;
-       /* For IE5/Win's benefit height = [correct height] + [top padding] + [top and bottom border widths] */
-       height:33px; /* 14px + 17px + 2px = 33px */
-       border-style:solid;
-       border-color:black;
-       border-width:1px 0px; /* top and bottom borders: 1px; left and right borders: 0px */
-       line-height:33px;
-       background-color:#eee;
-       height:66px; /* the correct height */
-       }
-
-#Content {
-       margin:0px 210px 50px 10px;
-       padding:10px;
-       }
-
-#Menu {
-       position:absolute;
-       top:100px;
-       right:20px;
-       width:172px;
-       padding:10px;
-       background-color:#eee;
-       border:1px solid #999; // dashed #999;
-       line-height:17px;
-       width:150px;
-       font-size:11px;
-       }
diff --git a/lldb/third_party/Python/module/pexpect-4.6/doc/commonissues.rst b/lldb/third_party/Python/module/pexpect-4.6/doc/commonissues.rst
deleted file mode 100644 (file)
index f60085e..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-Common problems
-===============
-
-Threads
--------
-
-On Linux (RH 8) you cannot spawn a child from a different thread and pass the
-handle back to a worker thread. The child is successfully spawned but you can't
-interact with it. The only way to make it work is to spawn and interact with the
-child all in the same thread. [Adam Kerrison]
-
-Timing issue with send() and sendline()
----------------------------------------
-
-This problem has been addressed and should not affect most users.
-
-It is sometimes possible to read an echo of the string sent with
-:meth:`~pexpect.spawn.send` and :meth:`~pexpect.spawn.sendline`. If you call
-:meth:`~pexpect.spawn.send` and then immediately call :meth:`~pexpect.spawn.readline`,
-you may get part of your output echoed back. You may read back what you just
-wrote even if the child application does not explicitly echo it. Timing is
-critical. This could be a security issue when talking to an application that
-asks for a password; otherwise, this does not seem like a big deal. But why do
-TTYs do this?
-
-People usually report this when they are trying to control SSH or some other
-login. For example, if your code looks something like this::
-
-    child.expect ('[pP]assword:')
-    child.sendline (my_password)
-
-
-1. SSH prints "password:" prompt to the user.
-2. SSH turns off echo on the TTY device.
-3. SSH waits for user to enter a password.
-
-When scripting with Pexpect what can happen is that Pexpect will respond to the
-"password:" prompt before SSH has had time to turn off TTY echo. In other words,
-Pexpect sends the password between steps 1. and 2., so the password gets echoed
-back to the TTY. I would call this an SSH bug.
-
-Pexpect now automatically adds a short delay before sending data to a child
-process. This more closely mimics what happens in the usual human-to-app
-interaction. The delay can be tuned with the ``delaybeforesend`` attribute of the
-spawn class. In general, this fixes the problem for everyone and so this should
-not be an issue for most users. For some applications you might with to turn it
-off::
-
-    child = pexpect.spawn ("ssh user@example.com")
-    child.delaybeforesend = None
-
-Truncated output just before child exits
-----------------------------------------
-
-So far I have seen this only on older versions of Apple's MacOS X. If the child
-application quits it may not flush its output buffer. This means that your
-Pexpect application will receive an EOF even though it should have received a
-little more data before the child died. This is not generally a problem when
-talking to interactive child applications. One example where it is a problem is
-when trying to read output from a program like *ls*. You may receive most of the
-directory listing, but the last few lines will get lost before you receive an EOF.
-The reason for this is that *ls* runs; completes its task; and then exits. The
-buffer is not flushed before exit so the last few lines are lost. The following
-example demonstrates the problem::
-
-    child = pexpect.spawn('ls -l')
-    child.expect(pexpect.EOF)
-    print child.before       
-
-Controlling SSH on Solaris
---------------------------
-
-Pexpect does not yet work perfectly on Solaris. One common problem is that SSH
-sometimes will not allow TTY password authentication. For example, you may
-expect SSH to ask you for a password using code like this::
-
-    child = pexpect.spawn('ssh user@example.com')
-    child.expect('password')
-    child.sendline('mypassword')
-
-You may see the following error come back from a spawned child SSH::
-
-    Permission denied (publickey,keyboard-interactive). 
-
-This means that SSH thinks it can't access the TTY to ask you for your password.
-The only solution I have found is to use public key authentication with SSH.
-This bypasses the need for a password. I'm not happy with this solution. The
-problem is due to poor support for Solaris Pseudo TTYs in the Python Standard
-Library.
-
-child does not receive full input, emits BEL
---------------------------------------------
-
-You may notice when running for example cat(1) or base64(1), when sending a
-very long input line, that it is not fully received, and the BEL ('\a') may
-be found in output.
-
-By default the child terminal matches the parent, which is often in "canonical
-mode processing". You may wish to disable this mode. The exact limit of a line
-varies by operating system, and details of disabling canonical mode may be
-found in the docstring of :meth:`~pexpect.spawn.send`.
diff --git a/lldb/third_party/Python/module/pexpect-4.6/doc/conf.py b/lldb/third_party/Python/module/pexpect-4.6/doc/conf.py
deleted file mode 100644 (file)
index a734147..0000000
+++ /dev/null
@@ -1,250 +0,0 @@
-# -*- coding: utf-8 -*-
-#
-# Pexpect documentation build configuration file, created by
-# sphinx-quickstart on Tue Sep 17 11:05:11 2013.
-#
-# This file is execfile()d with the current directory set to its containing dir.
-#
-# Note that not all possible configuration values are present in this
-# autogenerated file.
-#
-# All configuration values have a default; values that are commented out
-# serve to show the default.
-
-import sys, os
-
-# If extensions (or modules to document with autodoc) are in another directory,
-# add these directories to sys.path here. If the directory is relative to the
-# documentation root, use os.path.abspath to make it absolute, like shown here.
-sys.path.insert(0, os.path.abspath('sphinxext'))
-
-# -- General configuration -----------------------------------------------------
-
-# If your documentation needs a minimal Sphinx version, state it here.
-#needs_sphinx = '1.0'
-
-# Add any Sphinx extension module names here, as strings. They can be extensions
-# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
-extensions = ['sphinx.ext.autodoc', 'sphinx.ext.intersphinx',
-              'sphinx.ext.viewcode', 'github',  # for easy GitHub links
-              ]
-
-github_project_url = "https://github.com/pexpect/pexpect"
-
-# Add any paths that contain templates here, relative to this directory.
-templates_path = ['_templates']
-
-# The suffix of source filenames.
-source_suffix = '.rst'
-
-# The encoding of source files.
-#source_encoding = 'utf-8-sig'
-
-# The master toctree document.
-master_doc = 'index'
-
-# General information about the project.
-project = u'Pexpect'
-copyright = u'2013, Noah Spurrier and contributors'
-
-# The version info for the project you're documenting, acts as replacement for
-# |version| and |release|, also used in various other places throughout the
-# built documents.
-#
-# The short X.Y version.
-version = '4.6'
-# The full version, including alpha/beta/rc tags.
-release = version
-
-# The language for content autogenerated by Sphinx. Refer to documentation
-# for a list of supported languages.
-#language = None
-
-# There are two options for replacing |today|: either, you set today to some
-# non-false value, then it is used:
-#today = ''
-# Else, today_fmt is used as the format for a strftime call.
-#today_fmt = '%B %d, %Y'
-
-# List of patterns, relative to source directory, that match files and
-# directories to ignore when looking for source files.
-exclude_patterns = ['_build']
-
-# The reST default role (used for this markup: `text`) to use for all documents.
-#default_role = None
-
-# If true, '()' will be appended to :func: etc. cross-reference text.
-#add_function_parentheses = True
-
-# If true, the current module name will be prepended to all description
-# unit titles (such as .. function::).
-#add_module_names = True
-
-# If true, sectionauthor and moduleauthor directives will be shown in the
-# output. They are ignored by default.
-#show_authors = False
-
-# The name of the Pygments (syntax highlighting) style to use.
-pygments_style = 'sphinx'
-
-# A list of ignored prefixes for module index sorting.
-#modindex_common_prefix = []
-
-
-# -- Options for HTML output ---------------------------------------------------
-
-# The theme to use for HTML and HTML Help pages.  See the documentation for
-# a list of builtin themes.
-html_theme = 'default'
-
-# Theme options are theme-specific and customize the look and feel of a theme
-# further.  For a list of options available for each theme, see the
-# documentation.
-#html_theme_options = {}
-
-# Add any paths that contain custom themes here, relative to this directory.
-#html_theme_path = []
-
-# The name for this set of Sphinx documents.  If None, it defaults to
-# "<project> v<release> documentation".
-#html_title = None
-
-# A shorter title for the navigation bar.  Default is the same as html_title.
-#html_short_title = None
-
-# The name of an image file (relative to this directory) to place at the top
-# of the sidebar.
-#html_logo = None
-
-# The name of an image file (within the static path) to use as favicon of the
-# docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32
-# pixels large.
-#html_favicon = None
-
-# Add any paths that contain custom static files (such as style sheets) here,
-# relative to this directory. They are copied after the builtin static files,
-# so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ['_static']
-
-# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
-# using the given strftime format.
-#html_last_updated_fmt = '%b %d, %Y'
-
-# If true, SmartyPants will be used to convert quotes and dashes to
-# typographically correct entities.
-#html_use_smartypants = True
-
-# Custom sidebar templates, maps document names to template names.
-#html_sidebars = {}
-
-# Additional templates that should be rendered to pages, maps page names to
-# template names.
-#html_additional_pages = {}
-
-# If false, no module index is generated.
-#html_domain_indices = True
-
-# If false, no index is generated.
-#html_use_index = True
-
-# If true, the index is split into individual pages for each letter.
-#html_split_index = False
-
-# If true, links to the reST sources are added to the pages.
-#html_show_sourcelink = True
-
-# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
-#html_show_sphinx = True
-
-# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
-#html_show_copyright = True
-
-# If true, an OpenSearch description file will be output, and all pages will
-# contain a <link> tag referring to it.  The value of this option must be the
-# base URL from which the finished HTML is served.
-#html_use_opensearch = ''
-
-# This is the file name suffix for HTML files (e.g. ".xhtml").
-#html_file_suffix = None
-
-# Output file base name for HTML help builder.
-htmlhelp_basename = 'Pexpectdoc'
-
-
-# -- Options for LaTeX output --------------------------------------------------
-
-latex_elements = {
-# The paper size ('letterpaper' or 'a4paper').
-#'papersize': 'letterpaper',
-
-# The font size ('10pt', '11pt' or '12pt').
-#'pointsize': '10pt',
-
-# Additional stuff for the LaTeX preamble.
-#'preamble': '',
-}
-
-# Grouping the document tree into LaTeX files. List of tuples
-# (source start file, target name, title, author, documentclass [howto/manual]).
-latex_documents = [
-  ('index', 'Pexpect.tex', u'Pexpect Documentation',
-   u'Noah Spurrier and contributors', 'manual'),
-]
-
-# The name of an image file (relative to this directory) to place at the top of
-# the title page.
-#latex_logo = None
-
-# For "manual" documents, if this is true, then toplevel headings are parts,
-# not chapters.
-#latex_use_parts = False
-
-# If true, show page references after internal links.
-#latex_show_pagerefs = False
-
-# If true, show URL addresses after external links.
-#latex_show_urls = False
-
-# Documents to append as an appendix to all manuals.
-#latex_appendices = []
-
-# If false, no module index is generated.
-#latex_domain_indices = True
-
-
-# -- Options for manual page output --------------------------------------------
-
-# One entry per manual page. List of tuples
-# (source start file, name, description, authors, manual section).
-man_pages = [
-    ('index', 'pexpect', u'Pexpect Documentation',
-     [u'Noah Spurrier and contributors'], 1)
-]
-
-# If true, show URL addresses after external links.
-#man_show_urls = False
-
-
-# -- Options for Texinfo output ------------------------------------------------
-
-# Grouping the document tree into Texinfo files. List of tuples
-# (source start file, target name, title, author,
-#  dir menu entry, description, category)
-texinfo_documents = [
-  ('index', 'Pexpect', u'Pexpect Documentation',
-   u'Noah Spurrier and contributors', 'Pexpect', 'One line description of project.',
-   'Miscellaneous'),
-]
-
-# Documents to append as an appendix to all manuals.
-#texinfo_appendices = []
-
-# If false, no module index is generated.
-#texinfo_domain_indices = True
-
-# How to display URL addresses: 'footnote', 'no', or 'inline'.
-#texinfo_show_urls = 'footnote'
-
-
-# Example configuration for intersphinx: refer to the Python standard library.
-intersphinx_mapping = {'http://docs.python.org/3/': None}
diff --git a/lldb/third_party/Python/module/pexpect-4.6/doc/examples.rst b/lldb/third_party/Python/module/pexpect-4.6/doc/examples.rst
deleted file mode 100644 (file)
index 6338b5c..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-Examples
-========
-
-Under the distribution tarball directory you should find an "examples" directory.
-This is the best way to learn to use Pexpect. See the descriptions of Pexpect
-Examples.
-
-`topip.py <https://github.com/pexpect/pexpect/blob/master/examples/topip.py>`_
-  This runs `netstat` on a local or remote server. It calculates some simple
-  statistical information on the number of external inet connections. This can
-  be used to detect if one IP address is taking up an excessive number of
-  connections. It can also send an email alert if a given IP address exceeds a
-  threshold between runs of the script. This script can be used as a drop-in
-  Munin plugin or it can be used stand-alone from cron. I used this on a busy
-  web server that would sometimes get hit with denial of service attacks. This
-  made it easy to see if a script was opening many multiple connections. A
-  typical browser would open fewer than 10 connections at once. A script might
-  open over 100 simultaneous connections.
-
-`hive.py <https://github.com/pexpect/pexpect/blob/master/examples/hive.py>`_
-  This script creates SSH connections to a list of hosts that you provide.
-  Then you are given a command line prompt. Each shell command that you
-  enter is sent to all the hosts. The response from each host is collected
-  and printed. For example, you could connect to a dozen different
-  machines and reboot them all at once.
-
-`script.py <https://github.com/pexpect/pexpect/blob/master/examples/script.py>`_
-  This implements a command similar to the classic BSD "script" command.
-  This will start a subshell and log all input and output to a file.
-  This demonstrates the :meth:`~pexpect.spawn.interact` method of Pexpect.
-
-`ftp.py <https://github.com/pexpect/pexpect/blob/master/examples/ftp.py>`_
-  This demonstrates an FTP "bookmark". This connects to an ftp site;
-  does a few ftp tasks; and then gives the user interactive control over
-  the session. In this case the "bookmark" is to a directory on the
-  OpenBSD ftp server. It puts you in the i386 packages directory. You
-  can easily modify this for other sites. This demonstrates the
-  :meth:`~pexpect.spawn.interact` method of Pexpect.
-
-`monitor.py <https://github.com/pexpect/pexpect/blob/master/examples/monitor.py>`_
-  This runs a sequence of commands on a remote host using SSH. It runs a
-  simple system checks such as uptime and free to monitor the state of
-  the remote host.
-
-`passmass.py <https://github.com/pexpect/pexpect/blob/master/examples/passmass.py>`_
-  This will login to each given server and change the password of the
-  given user. This demonstrates scripting logins and passwords.
-
-`python.py <https://github.com/pexpect/pexpect/blob/master/examples/python.py>`_
-  This starts the python interpreter and prints the greeting message
-  backwards. It then gives the user iteractive control of Python. It's
-  pretty useless!
-
-`ssh_tunnel.py <https://github.com/pexpect/pexpect/blob/master/examples/ssh_tunnel.py>`_
-  This starts an SSH tunnel to a remote machine. It monitors the
-  connection and restarts the tunnel if it goes down.
-
-`uptime.py <https://github.com/pexpect/pexpect/blob/master/examples/uptime.py>`_
-  This will run the uptime command and parse the output into variables.
-  This demonstrates using a single regular expression to match the
-  output of a command and capturing different variable in match groups.
-  The grouping regular expression handles a wide variety of different
-  uptime formats. 
diff --git a/lldb/third_party/Python/module/pexpect-4.6/doc/history.rst b/lldb/third_party/Python/module/pexpect-4.6/doc/history.rst
deleted file mode 100644 (file)
index 41a5918..0000000
+++ /dev/null
@@ -1,338 +0,0 @@
-History
-=======
-
-Releases
---------
-
-Version 4.6
-```````````
-
-* The :meth:`.pxssh.login` method now supports an ``ssh_config`` parameter,
-  which can be used to specify a file path to an SSH config file
-  (:ghpull:`490`).
-* Improved compatability for the ``crlf`` parameter of :class:`~.PopenSpawn`
-  (:ghpull:`493`)
-* Fixed an issue in read timeout handling when using :class:`~.spawn` and
-  :class:`~.fdspawn` with the ``use_poll`` parameter (:ghpull:`492`).
-
-Version 4.5
-```````````
-
-* :class:`~.spawn` and :class:`~.fdspawn` now have a ``use_poll`` parameter.
-  If this is True, they will use :func:`select.poll` instead of :func:`select.select`.
-  ``poll()`` allows file descriptors above 1024, but it must be explicitly
-  enabled due to compatibility concerns (:ghpull:`474`).
-* The :meth:`.pxssh.login` method has several new and changed options:
-
-  * The option ``password_regex`` allows changing
-    the password prompt regex, for servers that include ``password:`` in a banner
-    before reaching a prompt (:ghpull:`468`).
-  * :meth:`~.pxssh.login` now allows for setting up SSH tunnels to be requested once
-    logged in to the remote server. This option is ``ssh_tunnels`` (:ghpull:`473`).
-    The structure should be like this::
-
-          {
-            'local': ['2424:localhost:22'],   # Local SSH tunnels
-            'remote': ['2525:localhost:22'],  # Remote SSH tunnels
-            'dynamic': [8888],                # Dynamic/SOCKS tunnels
-          }
-
-  * The option ``spawn_local_ssh=False`` allows subsequent logins from the
-    remote session and treats the session as if it was local (:ghpull:`472`).
-  * Setting ``sync_original_prompt=False`` will prevent changing the prompt to
-    something unique, in case the remote server is sensitive to new lines at login
-    (:ghpull:`468`).
-  * If ``ssh_key=True`` is passed, the SSH client forces forwarding the authentication
-    agent to the remote server instead of providing a key (:ghpull:`473`).
-
-Version 4.4
-```````````
-
-* :class:`~.PopenSpawn` now has a ``preexec_fn`` parameter, like :class:`~.spawn`
-  and :class:`subprocess.Popen`, for a function to be called in the child
-  process before executing the new command. Like in ``Popen``, this works only
-  in POSIX, and can cause issues if your application also uses threads
-  (:ghpull:`460`).
-* Significant performance improvements when processing large amounts of data
-  (:ghpull:`464`).
-* Ensure that ``spawn.closed`` gets set by :meth:`~.spawn.close`, and improve
-  an example for passing ``SIGWINCH`` through to a child process (:ghpull:`466`).
-
-Version 4.3.1
-`````````````
-
-* When launching bash for :mod:`pexpect.replwrap`, load the system ``bashrc``
-  from a couple of different common locations (:ghpull:`457`), and then unset
-  the ``PROMPT_COMMAND`` environment variable, which can interfere with the
-  prompt we're expecting (:ghpull:`459`).
-
-Version 4.3
-```````````
-
-* The ``async=`` parameter to integrate with asyncio has become ``async_=``
-  (:ghpull:`431`), as *async* is becoming a Python keyword from Python 3.6.
-  Pexpect will still recognise ``async`` as an alternative spelling.
-* Similarly, the module ``pexpect.async`` became ``pexpect._async``
-  (:ghpull:`450`). This module is not part of the public API.
-* Fix problems with asyncio objects closing file descriptors during garbage
-  collection (:ghissue:`347`, :ghpull:`376`).
-* Set the ``.pid`` attribute of a :class:`~.PopenSpawn` object (:ghpull:`417`).
-* Fix passing Windows paths to :class:`~.PopenSpawn` (:ghpull:`446`).
-* :class:`~.PopenSpawn` on Windows can pass string commands through to ``Popen``
-  without splitting them into a list (:ghpull:`447`).
-* Stop ``shlex`` trying to read from stdin when :class:`~.PopenSpawn` is
-  passed ``cmd=None`` (:ghissue:`433`, :ghpull:`434`).
-* Ensure that an error closing a Pexpect spawn object raises a Pexpect error,
-  rather than a Ptyprocess error (:ghissue:`383`, :ghpull:`386`).
-* Cleaned up invalid backslash escape sequences in strings (:ghpull:`430`,
-  :ghpull:`445`).
-* The pattern for a password prompt in :mod:`pexpect.pxssh` changed from
-  ``password`` to ``password:`` (:ghpull:`452`).
-* Correct docstring for using unicode with spawn (:ghpull:`395`).
-* Various other improvements to documentation.
-
-Version 4.2.1
-`````````````
-
-* Fix to allow running ``env`` in replwrap-ed bash.
-* Raise more informative exception from pxssh if it fails to connect.
-* Change ``passmass`` example to not log passwords entered.
-
-Version 4.2
-```````````
-
-* Change: When an ``env`` parameter is specified to the :class:`~.spawn` or
-  :class:`~.run` family of calls containing a value for ``PATH``, its value is
-  used to discover the target executable from a relative path, rather than the
-  current process's environment ``PATH``.  This mirrors the behavior of
-  :func:`subprocess.Popen` in the standard library (:ghissue:`348`).
-
-* Regression: Re-introduce capability for :meth:`read_nonblocking` in class
-  :class:`fdspawn` as previously supported in version 3.3 (:ghissue:`359`).
-
-Version 4.0
-```````````
-
-* Integration with :mod:`asyncio`: passing ``async=True`` to :meth:`~.spawn.expect`,
-  :meth:`~.spawn.expect_exact` or :meth:`~.spawn.expect_list` will make them return a
-  coroutine. You can get the result using ``yield from``, or wrap it in an
-  :class:`asyncio.Task`. This allows the event loop to do other things while
-  waiting for output that matches a pattern.
-* Experimental support for Windows (with some caveats)—see :ref:`windows`.
-* Enhancement: allow method as callbacks of argument ``events`` for
-  :func:`pexpect.run` (:ghissue:`176`).
-* It is now possible to call :meth:`~.spawn.wait` multiple times, or after a process
-  is already determined to be terminated without raising an exception
-  (:ghpull:`211`).
-* New :class:`pexpect.spawn` keyword argument, ``dimensions=(rows, columns)``
-  allows setting terminal screen dimensions before launching a program
-  (:ghissue:`122`).
-* Fix regression that prevented executable, but unreadable files from
-  being found when not specified by absolute path -- such as
-  /usr/bin/sudo (:ghissue:`104`).
-* Fixed regression when executing pexpect with some prior releases of
-  the multiprocessing module where stdin has been closed (:ghissue:`86`).
-
-Backwards incompatible changes
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-* Deprecated ``pexpect.screen`` and ``pexpect.ANSI``. Please use other packages
-  such as `pyte <https://pypi.python.org/pypi/pyte>`__ to emulate a terminal.
-* Removed the independent top-level modules (``pxssh fdpexpect FSM screen ANSI``)
-  which were installed alongside Pexpect. These were moved into the Pexpect
-  package in 3.0, but the old names were left as aliases.
-* Child processes created by Pexpect no longer ignore SIGHUP by default: the
-  ``ignore_sighup`` parameter of :class:`pexpect.spawn` defaults to False. To
-  get the old behaviour, pass ``ignore_sighup=True``.
-
-Version 3.3
-```````````
-
-* Added a mechanism to wrap REPLs, or shells, in an object which can conveniently
-  be used to send commands and wait for the output (:mod:`pexpect.replwrap`).
-* Fixed issue where pexpect would attempt to execute a directory because
-  it has the 'execute' bit set (:ghissue:`37`).
-* Removed the ``pexpect.psh`` module. This was never documented, and we found
-  no evidence that people use it. The new :mod:`pexpect.replwrap` module
-  provides a more flexible alternative.
-* Fixed ``TypeError: got <type 'str'> ('\r\n') as pattern`` in :meth:`spawnu.readline`
-  method (:ghissue:`67`).
-* Fixed issue where EOF was not correctly detected in :meth:`~.interact`, causing
-  a repeating loop of output on Linux, and blocking before EOF on BSD and
-  Solaris (:ghissue:`49`).
-* Several Solaris (SmartOS) bugfixes, preventing :exc:`IOError` exceptions, especially
-  when used with cron(1) (:ghissue:`44`).
-* Added new keyword argument ``echo=True`` for :class:`spawn`.  On SVR4-like
-  systems, the method :meth:`~.isatty` will always return *False*: the child pty
-  does not appear as a terminal.  Therefore, :meth:`~.setecho`, :meth:`~.getwinsize`,
-  :meth:`~.setwinsize`, and :meth:`~.waitnoecho` are not supported on those platforms.
-
-After this, we intend to start working on a bigger refactoring of the code, to
-be released as Pexpect 4. There may be more bugfix 3.x releases, however.
-
-Version 3.2
-```````````
-
-* Fix exception handling from :func:`select.select` on Python 2 (:ghpull:`38`).
-  This was accidentally broken in the previous release when it was fixed for
-  Python 3.
-* Removed a workaround for ``TIOCSWINSZ`` on very old systems, which was causing
-  issues on some BSD systems (:ghpull:`40`).
-* Fixed an issue with exception handling in :mod:`~pexpect.pxssh` (:ghpull:`43`)
-
-The documentation for :mod:`~pexpect.pxssh` was improved.
-
-Version 3.1
-```````````
-
-* Fix an issue that prevented importing pexpect on Python 3 when ``sys.stdout``
-  was reassigned (:ghissue:`30`).
-* Improve prompt synchronisation in :mod:`~pexpect.pxssh` (:ghpull:`28`).
-* Fix pickling exception instances (:ghpull:`34`).
-* Fix handling exceptions from :func:`select.select` on Python 3 (:ghpull:`33`).
-
-The examples have also been cleaned up somewhat - this will continue in future
-releases.
-
-Version 3.0
-```````````
-
-The new major version number doesn't indicate any deliberate API incompatibility.
-We have endeavoured to avoid breaking existing APIs. However, pexpect is under
-new maintenance after a long dormancy, so some caution is warranted.
-
-* A new :ref:`unicode API <unicode>` was introduced.
-* Python 3 is now supported, using a single codebase.
-* Pexpect now requires at least Python 2.6 or 3.2.
-* The modules other than pexpect, such as :mod:`pexpect.fdpexpect` and
-  :mod:`pexpect.pxssh`, were moved into the pexpect package. For now, wrapper
-  modules are installed to the old locations for backwards compatibility (e.g.
-  ``import pxssh`` will still work), but these will be removed at some point in
-  the future.
-* Ignoring ``SIGHUP`` is now optional - thanks to Kimmo Parviainen-Jalanko for
-  the patch.
-
-We also now have `docs on ReadTheDocs <https://pexpect.readthedocs.io/>`_,
-and `continuous integration on Travis CI <https://travis-ci.org/pexpect/pexpect>`_.
-
-Version 2.4
-```````````
-
-* Fix a bug regarding making the pty the controlling terminal when the process
-  spawning it is not, actually, a terminal (such as from cron)
-
-Version 2.3
-```````````
-
-* Fixed OSError exception when a pexpect object is cleaned up. Previously, you
-  might have seen this exception::
-
-      Exception exceptions.OSError: (10, 'No child processes')
-      in <bound method spawn.__del__ of <pexpect.spawn instance at 0xd248c>> ignored
-
-  You should not see that anymore. Thanks to Michael Surette.
-* Added support for buffering reads. This greatly improves speed when trying to
-  match long output from a child process. When you create an instance of the spawn
-  object you can then set a buffer size. For now you MUST do the following to turn
-  on buffering -- it may be on by default in future version::
-
-      child = pexpect.spawn ('my_command')
-      child.maxread=1000 # Sets buffer to 1000 characters.
-
-* I made a subtle change to the way TIMEOUT and EOF exceptions behave.
-  Previously you could either expect these states in which case pexpect
-  will not raise an exception, or you could just let pexpect raise an
-  exception when these states were encountered. If you expected the
-  states then the ``before`` property was set to everything before the
-  state was encountered, but if you let pexpect raise the exception then
-  ``before`` was not set. Now, the ``before`` property will get set either
-  way you choose to handle these states.
-* The spawn object now provides iterators for a *file-like interface*.
-  This makes Pexpect a more complete file-like object. You can now write
-  code like this::
-
-      child = pexpect.spawn ('ls -l')
-      for line in child:
-          print line
-
-* write and writelines() no longer return a value. Use send() if you need that
-  functionality. I did this to make the Spawn object more closely match a
-  file-like object.
-* Added the attribute ``exitstatus``. This will give the exit code returned
-  by the child process. This will be set to ``None`` while the child is still
-  alive. When ``isalive()`` returns 0 then ``exitstatus`` will be set.
-* Made a few more tweaks to ``isalive()`` so that it will operate more
-  consistently on different platforms. Solaris is the most difficult to support.
-* You can now put ``TIMEOUT`` in a list of expected patterns. This is just like
-  putting ``EOF`` in the pattern list. Expecting for a ``TIMEOUT`` may not be
-  used as often as ``EOF``, but this makes Pexpect more consistent.
-* Thanks to a suggestion and sample code from Chad J. Schroeder I added the ability
-  for Pexpect to operate on a file descriptor that is already open. This means that
-  Pexpect can be used to control streams such as those from serial port devices. Now,
-  you just pass the integer file descriptor as the "command" when constructing a
-  spawn open. For example on a Linux box with a modem on ttyS1::
-
-      fd = os.open("/dev/ttyS1", os.O_RDWR|os.O_NONBLOCK|os.O_NOCTTY)
-      m = pexpect.spawn(fd) # Note integer fd is used instead of usual string.
-      m.send("+++") # Escape sequence
-      m.send("ATZ0\r") # Reset modem to profile 0
-      rval = m.expect(["OK", "ERROR"])
-
-* ``read()`` was renamed to ``read_nonblocking()``. Added new ``read()`` method
-  that matches file-like object interface. In general, you should not notice
-  the difference except that ``read()`` no longer allows you to directly set the
-  timeout value. I hope this will not effect any existing code. Switching to
-  ``read_nonblocking()`` should fix existing code.
-* Changed the name of ``set_echo()`` to ``setecho()``.
-* Changed the name of ``send_eof()`` to ``sendeof()``.
-* Modified ``kill()`` so that it checks to make sure the pid ``isalive()``.
-* modified ``spawn()`` (really called from ``__spawn()``) so that it does not
-  raise an exception if ``setwinsize()`` fails. Some platforms such as Cygwin
-  do not like setwinsize. This was a constant problem and since it is not a
-  critical feature I decided to just silence the error.  Normally I don't like
-  to do that, but in this case I'm making an exception.
-* Added a method ``close()`` that does what you think. It closes the file
-  descriptor of the child application. It makes no attempt to actually kill the
-  child or wait for its status.
-* Add variables ``__version__`` and ``__revision__`` (from cvs) to the pexpect
-  modules.  This is mainly helpful to me so that I can make sure that I'm testing
-  with the right version instead of one already installed.
-* ``log_open()`` and ``log_close(`` have been removed. Now use ``setlog()``.
-  The ``setlog()`` method takes a file object. This is far more flexible than
-  the previous log method. Each time data is written to the file object it will
-  be flushed. To turn logging off simply call ``setlog()`` with None.
-* renamed the ``isAlive()`` method to ``isalive()`` to match the more typical
-  naming style in Python. Also the technique used to detect child process
-  status has been drastically modified. Previously I did some funky stuff
-  with signals which caused indigestion in other Python modules on some
-  platforms. It was a big headache. It still is, but I think it works
-  better now.
-* attribute ``matched`` renamed to ``after``
-* new attribute ``match``
-* The ``expect_eof()`` method is gone. You can now simply use the
-  ``expect()`` method to look for EOF.
-* **Pexpect works on OS X**, but the nature of the quirks cause many of the
-  tests to fail. See bugs. (Incomplete Child Output). The problem is more
-  than minor, but Pexpect is still more than useful for most tasks.
-* **Solaris**: For some reason, the *second* time a pty file descriptor is created and
-  deleted it never gets returned for use. It does not effect the first time
-  or the third time or any time after that. It's only the second time. This
-  is weird... This could be a file descriptor leak, or it could be some
-  peculiarity of how Solaris recycles them. I thought it was a UNIX requirement
-  for the OS to give you the lowest available filedescriptor number. In any case,
-  this should not be a problem unless you create hundreds of pexpect instances...
-  It may also be a pty module bug.
-
-
-Moves and forks
----------------
-
-* Pexpect development used to be hosted on Sourceforge.
-* In 2011, Thomas Kluyver forked pexpect as 'pexpect-u', to support
-  Python 3. He later decided he had taken the wrong approach with this.
-* In 2012, Noah Spurrier, the original author of Pexpect, moved the
-  project to Github, but was still too busy to develop it much.
-* In 2013, Thomas Kluyver and Jeff Quast forked Pexpect again, intending
-  to call the new fork Pexpected. Noah Spurrier agreed to let them use
-  the name Pexpect, so Pexpect versions 3 and above are based on this
-  fork, which now lives `here on Github <https://github.com/pexpect/pexpect>`_.
diff --git a/lldb/third_party/Python/module/pexpect-4.6/doc/index.rst b/lldb/third_party/Python/module/pexpect-4.6/doc/index.rst
deleted file mode 100644 (file)
index 0bcf862..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-Pexpect version |version|
-=========================
-
-.. image:: https://travis-ci.org/pexpect/pexpect.png?branch=master
-   :target: https://travis-ci.org/pexpect/pexpect
-   :align: right
-   :alt: Build status
-
-Pexpect makes Python a better tool for controlling other
-applications.
-
-Pexpect is a pure Python module for spawning child applications;
-controlling them; and responding to expected patterns in their output.
-Pexpect works like Don Libes' Expect. Pexpect allows your script to
-spawn a child application and control it as if a human were typing
-commands.
-
-Pexpect can be used for automating interactive applications such as
-ssh, ftp, passwd, telnet, etc. It can be used to a automate setup
-scripts for duplicating software package installations on different
-servers. It can be used for automated software testing. Pexpect is in
-the spirit of Don Libes' Expect, but Pexpect is pure Python. Unlike
-other Expect-like modules for Python, Pexpect does not require TCL or
-Expect nor does it require C extensions to be compiled. It should work
-on any platform that supports the standard Python pty module. The
-Pexpect interface was designed to be easy to use.
-
-Contents:
-
-.. toctree::
-   :maxdepth: 2
-
-   install
-   overview
-   api/index
-   examples
-   FAQ
-   commonissues
-   history
-
-Pexpect is developed `on Github <http://github.com/pexpect/pexpect>`_. Please
-report `issues <https://github.com/pexpect/pexpect/issues>`_ there as well.
-
-Indices and tables
-==================
-
-* :ref:`genindex`
-* :ref:`modindex`
-* :ref:`search`
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/doc/install.rst b/lldb/third_party/Python/module/pexpect-4.6/doc/install.rst
deleted file mode 100644 (file)
index 6f7e36a..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-Installation
-============
-
-Pexpect is on PyPI, and can be installed with standard tools::
-
-    pip install pexpect
-
-Or::
-
-    easy_install pexpect
-
-Requirements
-------------
-
-This version of Pexpect requires Python 3.3 or above, or Python 2.7.
-
-As of version 4.0, Pexpect can be used on Windows and POSIX systems. However,
-:class:`pexpect.spawn` and :func:`pexpect.run` are only available on POSIX,
-where the :mod:`pty` module is present in the standard library. See
-:ref:`windows` for more information.
diff --git a/lldb/third_party/Python/module/pexpect-4.6/doc/make.bat b/lldb/third_party/Python/module/pexpect-4.6/doc/make.bat
deleted file mode 100644 (file)
index 448f147..0000000
+++ /dev/null
@@ -1,190 +0,0 @@
-@ECHO OFF
-
-REM Command file for Sphinx documentation
-
-if "%SPHINXBUILD%" == "" (
-       set SPHINXBUILD=sphinx-build
-)
-set BUILDDIR=_build
-set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% .
-set I18NSPHINXOPTS=%SPHINXOPTS% .
-if NOT "%PAPER%" == "" (
-       set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS%
-       set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS%
-)
-
-if "%1" == "" goto help
-
-if "%1" == "help" (
-       :help
-       echo.Please use `make ^<target^>` where ^<target^> is one of
-       echo.  html       to make standalone HTML files
-       echo.  dirhtml    to make HTML files named index.html in directories
-       echo.  singlehtml to make a single large HTML file
-       echo.  pickle     to make pickle files
-       echo.  json       to make JSON files
-       echo.  htmlhelp   to make HTML files and a HTML help project
-       echo.  qthelp     to make HTML files and a qthelp project
-       echo.  devhelp    to make HTML files and a Devhelp project
-       echo.  epub       to make an epub
-       echo.  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter
-       echo.  text       to make text files
-       echo.  man        to make manual pages
-       echo.  texinfo    to make Texinfo files
-       echo.  gettext    to make PO message catalogs
-       echo.  changes    to make an overview over all changed/added/deprecated items
-       echo.  linkcheck  to check all external links for integrity
-       echo.  doctest    to run all doctests embedded in the documentation if enabled
-       goto end
-)
-
-if "%1" == "clean" (
-       for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i
-       del /q /s %BUILDDIR%\*
-       goto end
-)
-
-if "%1" == "html" (
-       %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html
-       if errorlevel 1 exit /b 1
-       echo.
-       echo.Build finished. The HTML pages are in %BUILDDIR%/html.
-       goto end
-)
-
-if "%1" == "dirhtml" (
-       %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml
-       if errorlevel 1 exit /b 1
-       echo.
-       echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml.
-       goto end
-)
-
-if "%1" == "singlehtml" (
-       %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml
-       if errorlevel 1 exit /b 1
-       echo.
-       echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml.
-       goto end
-)
-
-if "%1" == "pickle" (
-       %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle
-       if errorlevel 1 exit /b 1
-       echo.
-       echo.Build finished; now you can process the pickle files.
-       goto end
-)
-
-if "%1" == "json" (
-       %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json
-       if errorlevel 1 exit /b 1
-       echo.
-       echo.Build finished; now you can process the JSON files.
-       goto end
-)
-
-if "%1" == "htmlhelp" (
-       %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp
-       if errorlevel 1 exit /b 1
-       echo.
-       echo.Build finished; now you can run HTML Help Workshop with the ^
-.hhp project file in %BUILDDIR%/htmlhelp.
-       goto end
-)
-
-if "%1" == "qthelp" (
-       %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp
-       if errorlevel 1 exit /b 1
-       echo.
-       echo.Build finished; now you can run "qcollectiongenerator" with the ^
-.qhcp project file in %BUILDDIR%/qthelp, like this:
-       echo.^> qcollectiongenerator %BUILDDIR%\qthelp\Pexpect.qhcp
-       echo.To view the help file:
-       echo.^> assistant -collectionFile %BUILDDIR%\qthelp\Pexpect.ghc
-       goto end
-)
-
-if "%1" == "devhelp" (
-       %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp
-       if errorlevel 1 exit /b 1
-       echo.
-       echo.Build finished.
-       goto end
-)
-
-if "%1" == "epub" (
-       %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub
-       if errorlevel 1 exit /b 1
-       echo.
-       echo.Build finished. The epub file is in %BUILDDIR%/epub.
-       goto end
-)
-
-if "%1" == "latex" (
-       %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
-       if errorlevel 1 exit /b 1
-       echo.
-       echo.Build finished; the LaTeX files are in %BUILDDIR%/latex.
-       goto end
-)
-
-if "%1" == "text" (
-       %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text
-       if errorlevel 1 exit /b 1
-       echo.
-       echo.Build finished. The text files are in %BUILDDIR%/text.
-       goto end
-)
-
-if "%1" == "man" (
-       %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man
-       if errorlevel 1 exit /b 1
-       echo.
-       echo.Build finished. The manual pages are in %BUILDDIR%/man.
-       goto end
-)
-
-if "%1" == "texinfo" (
-       %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo
-       if errorlevel 1 exit /b 1
-       echo.
-       echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo.
-       goto end
-)
-
-if "%1" == "gettext" (
-       %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale
-       if errorlevel 1 exit /b 1
-       echo.
-       echo.Build finished. The message catalogs are in %BUILDDIR%/locale.
-       goto end
-)
-
-if "%1" == "changes" (
-       %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes
-       if errorlevel 1 exit /b 1
-       echo.
-       echo.The overview file is in %BUILDDIR%/changes.
-       goto end
-)
-
-if "%1" == "linkcheck" (
-       %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck
-       if errorlevel 1 exit /b 1
-       echo.
-       echo.Link check complete; look for any errors in the above output ^
-or in %BUILDDIR%/linkcheck/output.txt.
-       goto end
-)
-
-if "%1" == "doctest" (
-       %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest
-       if errorlevel 1 exit /b 1
-       echo.
-       echo.Testing of doctests in the sources finished, look at the ^
-results in %BUILDDIR%/doctest/output.txt.
-       goto end
-)
-
-:end
diff --git a/lldb/third_party/Python/module/pexpect-4.6/doc/overview.rst b/lldb/third_party/Python/module/pexpect-4.6/doc/overview.rst
deleted file mode 100644 (file)
index e52809c..0000000
+++ /dev/null
@@ -1,266 +0,0 @@
-API Overview
-============
-
-Pexpect can be used for automating interactive applications such as ssh, ftp,
-mencoder, passwd, etc. The Pexpect interface was designed to be easy to use.
-
-Here is an example of Pexpect in action::
-
-    # This connects to the openbsd ftp site and
-    # downloads the recursive directory listing.
-    import pexpect
-    child = pexpect.spawn('ftp ftp.openbsd.org')
-    child.expect('Name .*: ')
-    child.sendline('anonymous')
-    child.expect('Password:')
-    child.sendline('noah@example.com')
-    child.expect('ftp> ')
-    child.sendline('lcd /tmp')
-    child.expect('ftp> ')
-    child.sendline('cd pub/OpenBSD')
-    child.expect('ftp> ')
-    child.sendline('get README')
-    child.expect('ftp> ')
-    child.sendline('bye')
-
-Obviously you could write an ftp client using Python's own :mod:`ftplib` module,
-but this is just a demonstration. You can use this technique with any application.
-This is especially handy if you are writing automated test tools.
-
-There are two important methods in Pexpect -- :meth:`~pexpect.spawn.expect` and
-:meth:`~pexpect.spawn.send` (or :meth:`~pexpect.spawn.sendline` which is
-like :meth:`~pexpect.spawn.send` with a linefeed). The :meth:`~pexpect.spawn.expect`
-method waits for the child application to return a given string. The string you
-specify is a regular expression, so you can match complicated patterns. The
-:meth:`~pexpect.spawn.send` method writes a string to the child application.
-From the child's point of view it looks just like someone typed the text from a
-terminal. After each call to :meth:`~pexpect.spawn.expect` the ``before`` and ``after``
-properties will be set to the text printed by child application. The ``before``
-property will contain all text up to the expected string pattern. The ``after``
-string will contain the text that was matched by the expected pattern.
-The match property is set to the `re match object <http://docs.python.org/3/library/re#match-objects>`_.
-
-An example of Pexpect in action may make things more clear. This example uses
-ftp to login to the OpenBSD site; list files in a directory; and then pass
-interactive control of the ftp session to the human user::
-
-    import pexpect
-    child = pexpect.spawn ('ftp ftp.openbsd.org')
-    child.expect ('Name .*: ')
-    child.sendline ('anonymous')
-    child.expect ('Password:')
-    child.sendline ('noah@example.com')
-    child.expect ('ftp> ')
-    child.sendline ('ls /pub/OpenBSD/')
-    child.expect ('ftp> ')
-    print child.before   # Print the result of the ls command.
-    child.interact()     # Give control of the child to the user.
-
-Special EOF and TIMEOUT patterns
---------------------------------
-
-There are two special patterns to match the End Of File (:class:`~pexpect.EOF`)
-or a Timeout condition (:class:`~pexpect.TIMEOUT`). You can pass these
-patterns to :meth:`~pexpect.spawn.expect`. These patterns are not regular
-expressions. Use them like predefined constants.
-
-If the child has died and you have read all the child's output then ordinarily
-:meth:`~pexpect.spawn.expect` will raise an :class:`~pexpect.EOF` exception.
-You can read everything up to the EOF without generating an exception by using
-the EOF pattern expect. In this case everything the child has output will be
-available in the ``before`` property.
-
-The pattern given to :meth:`~pexpect.spawn.expect` may be a regular expression
-or it may also be a list of regular expressions. This allows you to match
-multiple optional responses. The :meth:`~pexpect.spawn.expect` method returns
-the index of the pattern that was matched. For example, say you wanted to login
-to a server. After entering a password you could get various responses from the
-server -- your password could be rejected; or you could be allowed in and asked
-for your terminal type; or you could be let right in and given a command prompt.
-The following code fragment gives an example of this::
-
-    child.expect('password:')
-    child.sendline(my_secret_password)
-    # We expect any of these three patterns...
-    i = child.expect (['Permission denied', 'Terminal type', '[#\$] '])
-    if i==0:
-        print('Permission denied on host. Can\'t login')
-        child.kill(0)
-    elif i==1:
-        print('Login OK... need to send terminal type.')
-        child.sendline('vt100')
-        child.expect('[#\$] ')
-    elif i==2:
-        print('Login OK.')
-        print('Shell command prompt', child.after)
-
-If nothing matches an expected pattern then :meth:`~pexpect.spawn.expect` will
-eventually raise a :class:`~pexpect.TIMEOUT` exception. The default time is 30
-seconds, but you can change this by passing a timeout argument to
-:meth:`~pexpect.spawn.expect`::
-
-    # Wait no more than 2 minutes (120 seconds) for password prompt.
-    child.expect('password:', timeout=120)
-
-Find the end of line -- CR/LF conventions
------------------------------------------
-
-Pexpect matches regular expressions a little differently than what you might be
-used to.
-
-The :regexp:`$` pattern for end of line match is useless. The :regexp:`$`
-matches the end of string, but Pexpect reads from the child one character at a
-time, so each character looks like the end of a line. Pexpect can't do a
-look-ahead into the child's output stream. In general you would have this
-situation when using regular expressions with any stream.
-
-.. note::
-
-  Pexpect does have an internal buffer, so reads are faster than one character
-  at a time, but from the user's perspective the regex patterns test happens
-  one character at a time.
-
-The best way to match the end of a line is to look for the newline: ``"\r\n"``
-(CR/LF). Yes, that does appear to be DOS-style. It may surprise some UNIX people
-to learn that terminal TTY device drivers (dumb, vt100, ANSI, xterm, etc.) all
-use the CR/LF combination to signify the end of line. Pexpect uses a Pseudo-TTY
-device to talk to the child application, so when the child app prints ``"\n"``
-you actually see ``"\r\n"``.
-
-UNIX uses just linefeeds to end lines of text, but not when it comes to TTY
-devices! TTY devices are more like the Windows world. Each line of text ends
-with a CR/LF combination. When you intercept data from a UNIX command from a
-TTY device you will find that the TTY device outputs a CR/LF combination. A
-UNIX command may only write a linefeed (``\n``), but the TTY device driver
-converts it to CR/LF. This means that your terminal will see lines end with
-CR/LF (hex ``0D 0A``). Since Pexpect emulates a terminal, to match ends of
-lines you have to expect the CR/LF combination::
-
-    child.expect('\r\n')
-
-If you just need to skip past a new line then ``expect('\n')`` by itself will
-work, but if you are expecting a specific pattern before the end of line then
-you need to explicitly look for the ``\r``. For example the following expects a
-word at the end of a line::
-
-    child.expect('\w+\r\n')
-
-But the following would both fail::
-
-    child.expect('\w+\n')
-
-And as explained before, trying to use :regexp:`$` to match the end of line
-would not work either::
-
-    child.expect ('\w+$')
-
-So if you need to explicitly look for the END OF LINE, you want to look for the
-CR/LF combination -- not just the LF and not the $ pattern.
-
-This problem is not limited to Pexpect. This problem happens any time you try
-to perform a regular expression match on a stream. Regular expressions need to
-look ahead. With a stream it is hard to look ahead because the process
-generating the stream may not be finished. There is no way to know if the
-process has paused momentarily or is finished and waiting for you. Pexpect must
-implicitly always do a NON greedy match (minimal) at the end of a input.
-
-Pexpect compiles all regular expressions with the :data:`re.DOTALL` flag.
-With the :data:`~re.DOTALL` flag, a ``"."`` will match a newline.
-
-Beware of + and * at the end of patterns
-----------------------------------------
-
-Remember that any time you try to match a pattern that needs look-ahead that
-you will always get a minimal match (non greedy). For example, the following
-will always return just one character::
-
-    child.expect ('.+')
-
-This example will match successfully, but will always return no characters::
-
-    child.expect ('.*')
-
-Generally any star * expression will match as little as possible.
-
-One thing you can do is to try to force a non-ambiguous character at the end of
-your :regexp:`\\d+` pattern. Expect that character to delimit the string. For
-example, you might try making the end of your pattern be :regexp:`\\D+` instead
-of :regexp:`\\D*`. Number digits alone would not satisfy the :regexp:`(\\d+)\\D+`
-pattern. You would need some numbers and at least one non-number at the end.
-
-
-Debugging
----------
-
-If you get the string value of a :class:`pexpect.spawn` object you will get lots
-of useful debugging information. For debugging it's very useful to use the
-following pattern::
-
-    try:
-        i = child.expect ([pattern1, pattern2, pattern3, etc])
-    except:
-        print("Exception was thrown")
-        print("debug information:")
-        print(str(child))
-
-It is also useful to log the child's input and out to a file or the screen. The
-following will turn on logging and send output to stdout (the screen)::
-
-    child = pexpect.spawn(foo)
-    child.logfile = sys.stdout
-
-Exceptions
-----------
-
-:class:`~pexpect.EOF`
-
-Note that two flavors of EOF Exception may be thrown. They are virtually
-identical except for the message string. For practical purposes you should have
-no need to distinguish between them, but they do give a little extra information
-about what type of platform you are running. The two messages are:
-
-- "End Of File (EOF) in read(). Exception style platform."
-- "End Of File (EOF) in read(). Empty string style platform."
-
-Some UNIX platforms will throw an exception when you try to read from a file
-descriptor in the EOF state. Other UNIX platforms instead quietly return an
-empty string to indicate that the EOF state has been reached.
-
-If you wish to read up to the end of the child's output without generating an
-:class:`~pexpect.EOF` exception then use the ``expect(pexpect.EOF)`` method.
-
-:class:`~pexpect.TIMEOUT`
-
-The :meth:`~pexpect.spawn.expect` and :meth:`~pexpect.spawn.read` methods will
-also timeout if the child does not generate any output for a given amount of
-time. If this happens they will raise a :class:`~pexpect.TIMEOUT` exception.
-You can have these methods ignore timeout and block indefinitely by passing
-``None`` for the timeout parameter::
-
-    child.expect(pexpect.EOF, timeout=None)
-
-.. _windows:
-
-Pexpect on Windows
-------------------
-
-.. versionadded:: 4.0
-   Windows support
-
-Pexpect can be used on Windows to wait for a pattern to be produced by a child
-process, using :class:`pexpect.popen_spawn.PopenSpawn`, or a file descriptor,
-using :class:`pexpect.fdpexpect.fdspawn`.
-
-:class:`pexpect.spawn` and :func:`pexpect.run` are *not* available on Windows,
-as they rely on Unix pseudoterminals (ptys). Cross platform code must not use
-these.
-
-``PopenSpawn`` is not a direct replacement for ``spawn``. Many programs only
-offer interactive behaviour if they detect that they are running in a terminal.
-When run by ``PopenSpawn``, they may behave differently.
-
-.. seealso::
-
-   `winpexpect <https://pypi.python.org/pypi/winpexpect>`__ and `wexpect <https://gist.github.com/anthonyeden/8488763>`__
-     Two unmaintained pexpect-like modules for Windows, which work with a
-     hidden console.
diff --git a/lldb/third_party/Python/module/pexpect-4.6/doc/requirements.txt b/lldb/third_party/Python/module/pexpect-4.6/doc/requirements.txt
deleted file mode 100644 (file)
index 57ebb2d..0000000
+++ /dev/null
@@ -1 +0,0 @@
-ptyprocess
diff --git a/lldb/third_party/Python/module/pexpect-4.6/doc/sphinxext/github.py b/lldb/third_party/Python/module/pexpect-4.6/doc/sphinxext/github.py
deleted file mode 100644 (file)
index 519e146..0000000
+++ /dev/null
@@ -1,155 +0,0 @@
-"""Define text roles for GitHub
-
-* ghissue - Issue
-* ghpull - Pull Request
-* ghuser - User
-
-Adapted from bitbucket example here:
-https://bitbucket.org/birkenfeld/sphinx-contrib/src/tip/bitbucket/sphinxcontrib/bitbucket.py
-
-Authors
--------
-
-* Doug Hellmann
-* Min RK
-"""
-#
-# Original Copyright (c) 2010 Doug Hellmann.  All rights reserved.
-#
-
-from docutils import nodes, utils
-from docutils.parsers.rst.roles import set_classes
-
-def make_link_node(rawtext, app, type, slug, options):
-    """Create a link to a github resource.
-
-    :param rawtext: Text being replaced with link node.
-    :param app: Sphinx application context
-    :param type: Link type (issues, changeset, etc.)
-    :param slug: ID of the thing to link to
-    :param options: Options dictionary passed to role func.
-    """
-
-    try:
-        base = app.config.github_project_url
-        if not base:
-            raise AttributeError
-        if not base.endswith('/'):
-            base += '/'
-    except AttributeError as err:
-        raise ValueError('github_project_url configuration value is not set (%s)' % str(err))
-
-    ref = base + type + '/' + slug + '/'
-    set_classes(options)
-    prefix = "#"
-    if type == 'pull':
-        prefix = "PR " + prefix
-    node = nodes.reference(rawtext, prefix + utils.unescape(slug), refuri=ref,
-                           **options)
-    return node
-
-def ghissue_role(name, rawtext, text, lineno, inliner, options={}, content=[]):
-    """Link to a GitHub issue.
-
-    Returns 2 part tuple containing list of nodes to insert into the
-    document and a list of system messages.  Both are allowed to be
-    empty.
-
-    :param name: The role name used in the document.
-    :param rawtext: The entire markup snippet, with role.
-    :param text: The text marked with the role.
-    :param lineno: The line number where rawtext appears in the input.
-    :param inliner: The inliner instance that called us.
-    :param options: Directive options for customization.
-    :param content: The directive content for customization.
-    """
-
-    try:
-        issue_num = int(text)
-        if issue_num <= 0:
-            raise ValueError
-    except ValueError:
-        msg = inliner.reporter.error(
-            'GitHub issue number must be a number greater than or equal to 1; '
-            '"%s" is invalid.' % text, line=lineno)
-        prb = inliner.problematic(rawtext, rawtext, msg)
-        return [prb], [msg]
-    app = inliner.document.settings.env.app
-    #app.info('issue %r' % text)
-    if 'pull' in name.lower():
-        category = 'pull'
-    elif 'issue' in name.lower():
-        category = 'issues'
-    else:
-        msg = inliner.reporter.error(
-            'GitHub roles include "ghpull" and "ghissue", '
-            '"%s" is invalid.' % name, line=lineno)
-        prb = inliner.problematic(rawtext, rawtext, msg)
-        return [prb], [msg]
-    node = make_link_node(rawtext, app, category, str(issue_num), options)
-    return [node], []
-
-def ghuser_role(name, rawtext, text, lineno, inliner, options={}, content=[]):
-    """Link to a GitHub user.
-
-    Returns 2 part tuple containing list of nodes to insert into the
-    document and a list of system messages.  Both are allowed to be
-    empty.
-
-    :param name: The role name used in the document.
-    :param rawtext: The entire markup snippet, with role.
-    :param text: The text marked with the role.
-    :param lineno: The line number where rawtext appears in the input.
-    :param inliner: The inliner instance that called us.
-    :param options: Directive options for customization.
-    :param content: The directive content for customization.
-    """
-    app = inliner.document.settings.env.app
-    #app.info('user link %r' % text)
-    ref = 'https://www.github.com/' + text
-    node = nodes.reference(rawtext, text, refuri=ref, **options)
-    return [node], []
-
-def ghcommit_role(name, rawtext, text, lineno, inliner, options={}, content=[]):
-    """Link to a GitHub commit.
-
-    Returns 2 part tuple containing list of nodes to insert into the
-    document and a list of system messages.  Both are allowed to be
-    empty.
-
-    :param name: The role name used in the document.
-    :param rawtext: The entire markup snippet, with role.
-    :param text: The text marked with the role.
-    :param lineno: The line number where rawtext appears in the input.
-    :param inliner: The inliner instance that called us.
-    :param options: Directive options for customization.
-    :param content: The directive content for customization.
-    """
-    app = inliner.document.settings.env.app
-    #app.info('user link %r' % text)
-    try:
-        base = app.config.github_project_url
-        if not base:
-            raise AttributeError
-        if not base.endswith('/'):
-            base += '/'
-    except AttributeError as err:
-        raise ValueError('github_project_url configuration value is not set (%s)' % str(err))
-
-    ref = base + text
-    node = nodes.reference(rawtext, text[:6], refuri=ref, **options)
-    return [node], []
-
-
-def setup(app):
-    """Install the plugin.
-    
-    :param app: Sphinx application context.
-    """
-    app.info('Initializing GitHub plugin')
-    app.add_role('ghissue', ghissue_role)
-    app.add_role('ghpull', ghissue_role)
-    app.add_role('ghuser', ghuser_role)
-    app.add_role('ghcommit', ghcommit_role)
-    app.add_config_value('github_project_url', None, 'env')
-    return
diff --git a/lldb/third_party/Python/module/pexpect-4.6/examples/README b/lldb/third_party/Python/module/pexpect-4.6/examples/README
deleted file mode 100644 (file)
index 823cc63..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-This directory contains scripts that give examples of using Pexpect.
-
-hive.py
-    This script creates SSH connections to a list of hosts that
-    you provide. Then you are given a command line prompt. Each
-    shell command that you enter is sent to all the hosts. The
-    response from each host is collected and printed. For example,
-    you could connect to a dozen different machines and reboot
-    them all at once.
-
-script.py
-    This implements a command similar to the classic BSD "script" command.
-    This will start a subshell and log all input and output to a file.
-    This demonstrates the interact() method of Pexpect.
-
-fix_cvs_files.py
-    This is for cleaning up binary files improperly added to
-    CVS. This script scans the given path to find binary files;
-    checks with CVS to see if the sticky options are set to -kb;
-    finally if sticky options are not -kb then uses 'cvs admin'
-    to set the -kb option.
-
-ftp.py
-    This demonstrates an FTP "bookmark".
-    This connects to an ftp site; does a few ftp commands; and then gives the user
-    interactive control over the session. In this case the "bookmark" is to a
-    directory on the OpenBSD ftp server. It puts you in the i386 packages
-    directory. You can easily modify this for other sites.
-    This demonstrates the interact() method of Pexpect.
-
-monitor.py
-    This runs a sequence of system status commands on a remote host using SSH.
-    It runs a simple system checks such as uptime and free to monitor
-    the state of the remote host.
-
-passmass.py
-    This will login to a list of hosts and change the password of the
-    given user. This demonstrates scripting logins; although, you could
-    more easily do this using the pxssh subclass of Pexpect.
-    See also the "hive.py" example script for a more general example
-    of scripting a collection of servers.
-
-python.py
-    This starts the python interpreter and prints the greeting message backwards.
-    It then gives the user interactive control of Python. It's pretty useless!
-
-rippy.py
-    This is a wizard for mencoder. It greatly simplifies the process of
-    ripping a DVD to mpeg4 format (XviD, DivX). It can transcode from any
-    video file to another. It has options for resampling the audio stream;
-    removing interlace artifacts, fitting to a target file size, etc.
-    There are lots of options, but the process is simple and easy to use.
-
-ssh_tunnel.py
-    This starts an SSH tunnel to a remote machine. It monitors the connection
-    and restarts the tunnel if it goes down.
-
-uptime.py
-    This will run the uptime command and parse the output into python variables.
-    This demonstrates using a single regular expression to match the output
-    of a command and capturing different variable in match groups.
-    The regular expression takes into account a wide variety of different
-    formats for uptime output.
-
-df.py
-    This collects filesystem capacity info using the 'df' command.
-    Tuples of filesystem name and percentage are stored in a list.
-    A simple report is printed. Filesystems over 95% capacity are highlighted.
-
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/examples/astat.py b/lldb/third_party/Python/module/pexpect-4.6/examples/astat.py
deleted file mode 100755 (executable)
index abba1be..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-#!/usr/bin/env python
-
-'''This runs Apache Status on the remote host and returns the number of requests per second.
-
-./astat.py [-s server_hostname] [-u username] [-p password]
-    -s : hostname of the remote server to login to.
-    -u : username to user for login.
-    -p : Password to user for login.
-
-Example:
-    This will print information about the given host:
-        ./astat.py -s www.example.com -u mylogin -p mypassword
-
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-
-from __future__ import print_function
-
-from __future__ import absolute_import
-
-import os
-import sys
-import getopt
-import getpass
-import pxssh
-
-
-try:
-    raw_input
-except NameError:
-    raw_input = input
-
-
-def exit_with_usage():
-
-    print(globals()['__doc__'])
-    os._exit(1)
-
-
-def main():
-
-    ######################################################################
-    ## Parse the options, arguments, get ready, etc.
-    ######################################################################
-    try:
-        optlist, args = getopt.getopt(sys.argv[1:], 'h?s:u:p:', ['help','h','?'])
-    except Exception as e:
-        print(str(e))
-        exit_with_usage()
-    options = dict(optlist)
-    if len(args) > 1:
-        exit_with_usage()
-
-    if [elem for elem in options if elem in ['-h','--h','-?','--?','--help']]:
-        print("Help:")
-        exit_with_usage()
-
-    if '-s' in options:
-        hostname = options['-s']
-    else:
-        hostname = raw_input('hostname: ')
-    if '-u' in options:
-        username = options['-u']
-    else:
-        username = raw_input('username: ')
-    if '-p' in options:
-        password = options['-p']
-    else:
-        password = getpass.getpass('password: ')
-
-    #
-    # Login via SSH
-    #
-    p = pxssh.pxssh()
-    p.login(hostname, username, password)
-    p.sendline('apachectl status')
-    p.expect(r'([0-9]+\.[0-9]+)\s*requests/sec')
-    requests_per_second = p.match.groups()[0]
-    p.logout()
-    print(requests_per_second)
-
-if __name__ == "__main__":
-    main()
diff --git a/lldb/third_party/Python/module/pexpect-4.6/examples/cgishell.cgi b/lldb/third_party/Python/module/pexpect-4.6/examples/cgishell.cgi
deleted file mode 100755 (executable)
index 57d8667..0000000
+++ /dev/null
@@ -1,766 +0,0 @@
-#!/usr/bin/python
-##!/usr/bin/env python
-"""CGI shell server
-
-This exposes a shell terminal on a web page.
-It uses AJAX to send keys and receive screen updates.
-The client web browser needs nothing but CSS and Javascript.
-
-    --hostname : sets the remote host name to open an ssh connection to.
-    --username : sets the user name to login with
-    --password : (optional) sets the password to login with
-    --port     : set the local port for the server to listen on
-    --watch    : show the virtual screen after each client request
-
-This project is probably not the most security conscious thing I've ever built.
-This should be considered an experimental tool -- at best.
-"""
-
-from __future__ import absolute_import
-from __future__ import print_function
-
-import sys,os
-sys.path.insert (0,os.getcwd()) # let local modules precede any installed modules
-import socket, random, string, traceback, cgi, time, getopt, getpass, threading, resource, signal
-import pxssh, pexpect, ANSI
-
-def exit_with_usage(exit_code=1):
-    print(globals()['__doc__'])
-    os._exit(exit_code)
-
-def client (command, host='localhost', port=-1):
-    """This sends a request to the server and returns the response.
-    If port <= 0 then host is assumed to be the filename of a Unix domain socket.
-    If port > 0 then host is an inet hostname.
-    """
-    if port <= 0:
-        s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
-        s.connect(host)
-    else:
-        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-        s.connect((host, port))
-    s.send(command)
-    data = s.recv (2500)
-    s.close()
-    return data
-
-def server (hostname, username, password, socket_filename='/tmp/server_sock', daemon_mode = True, verbose=False):
-    """This starts and services requests from a client.
-        If daemon_mode is True then this forks off a separate daemon process and returns the daemon's pid.
-        If daemon_mode is False then this does not return until the server is done.
-    """
-    if daemon_mode:
-        mypid_name = '/tmp/%d.pid' % os.getpid()
-        daemon_pid = daemonize(daemon_pid_filename=mypid_name)
-        time.sleep(1)
-        if daemon_pid != 0:
-            os.unlink(mypid_name)
-            return daemon_pid
-
-    virtual_screen = ANSI.ANSI (24,80) 
-    child = pxssh.pxssh()
-    try:
-        child.login (hostname, username, password, login_naked=True)
-    except:
-        return   
-    if verbose: print('login OK')
-    virtual_screen.write (child.before)
-    virtual_screen.write (child.after)
-
-    if os.path.exists(socket_filename): os.remove(socket_filename)
-    s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
-    s.bind(socket_filename)
-    os.chmod(socket_filename, 0o777)
-    if verbose: print('Listen')
-    s.listen(1)
-
-    r = roller (endless_poll, (child, child.PROMPT, virtual_screen))
-    r.start()
-    if verbose: print("started screen-poll-updater in background thread")
-    sys.stdout.flush()
-    try:
-        while True:
-            conn, addr = s.accept()
-            if verbose: print('Connected by', addr)
-            data = conn.recv(1024)
-            request = data.split(' ', 1)
-            if len(request)>1:
-                cmd = request[0].strip()
-                arg = request[1].strip()
-            else:
-                cmd = request[0].strip()
-                arg = ''
-
-            if cmd == 'exit':
-                r.cancel()
-                break
-            elif cmd == 'sendline':
-                child.sendline (arg)
-                time.sleep(0.1)
-                shell_window = str(virtual_screen)
-            elif cmd == 'send' or cmd=='xsend':
-                if cmd=='xsend':
-                    arg = arg.decode("hex")
-                child.send (arg)
-                time.sleep(0.1)
-                shell_window = str(virtual_screen)
-            elif cmd == 'cursor':
-                shell_window = '%x,%x' % (virtual_screen.cur_r, virtual_screen.cur_c)
-            elif cmd == 'refresh':
-                shell_window = str(virtual_screen)
-            elif cmd == 'hash':
-                shell_window = str(hash(str(virtual_screen)))
-
-            response = []
-            response.append (shell_window)
-            if verbose: print('\n'.join(response))
-            sent = conn.send('\n'.join(response))
-            if sent < len (response):
-                if verbose: print("Sent is too short. Some data was cut off.")
-            conn.close()
-    except e:
-        pass
-    r.cancel()
-    if verbose: print("cleaning up socket")
-    s.close()
-    if os.path.exists(socket_filename): os.remove(socket_filename)
-    if verbose: print("server done!")
-
-class roller (threading.Thread):
-    """This class continuously loops a function in a thread.
-        This is basically a thin layer around Thread with a
-        while loop and a cancel.
-    """
-    def __init__(self, function, args=[], kwargs={}):
-        threading.Thread.__init__(self)
-        self.function = function
-        self.args = args
-        self.kwargs = kwargs
-        self.finished = threading.Event()
-    def cancel(self):
-        """Stop the roller."""
-        self.finished.set()
-    def run(self):
-        while not self.finished.isSet():
-            self.function(*self.args, **self.kwargs)
-
-def endless_poll (child, prompt, screen, refresh_timeout=0.1):
-    """This keeps the screen updated with the output of the child.
-        This will be run in a separate thread. See roller class.
-    """
-    #child.logfile_read = screen
-    try:
-        s = child.read_nonblocking(4000, 0.1)
-        screen.write(s)
-    except:
-        pass
-
-def daemonize (stdin=None, stdout=None, stderr=None, daemon_pid_filename=None):
-    """This runs the current process in the background as a daemon.
-    The arguments stdin, stdout, stderr allow you to set the filename that the daemon reads and writes to.
-    If they are set to None then all stdio for the daemon will be directed to /dev/null.
-    If daemon_pid_filename is set then the pid of the daemon will be written to it as plain text
-    and the pid will be returned. If daemon_pid_filename is None then this will return None.
-    """
-    UMASK = 0
-    WORKINGDIR = "/"
-    MAXFD = 1024
-
-    # The stdio file descriptors are redirected to /dev/null by default.
-    if hasattr(os, "devnull"):
-        DEVNULL = os.devnull
-    else:
-        DEVNULL = "/dev/null"
-    if stdin is None: stdin = DEVNULL
-    if stdout is None: stdout = DEVNULL
-    if stderr is None: stderr = DEVNULL
-
-    try:
-        pid = os.fork() # fork first child
-    except OSError as e:
-        raise Exception("%s [%d]" % (e.strerror, e.errno))
-
-    if pid != 0: 
-        os.waitpid(pid,0)
-        if daemon_pid_filename is not None:
-            daemon_pid = int(file(daemon_pid_filename,'r').read())
-            return daemon_pid
-        else:
-            return None
-
-    # first child
-    os.setsid()
-    signal.signal(signal.SIGHUP, signal.SIG_IGN)
-
-    try:
-        pid = os.fork() # fork second child
-    except OSError as e:
-        raise Exception("%s [%d]" % (e.strerror, e.errno))
-
-    if pid != 0:
-        if daemon_pid_filename is not None:
-            file(daemon_pid_filename,'w').write(str(pid))
-        os._exit(0) # exit parent (the first child) of the second child.
-
-    # second child
-    os.chdir(WORKINGDIR)
-    os.umask(UMASK)
-
-    maxfd = resource.getrlimit(resource.RLIMIT_NOFILE)[1]
-    if maxfd == resource.RLIM_INFINITY:
-        maxfd = MAXFD
-  
-    # close all file descriptors
-    for fd in range(0, maxfd):
-        try:
-            os.close(fd)
-        except OSError:   # fd wasn't open to begin with (ignored)
-            pass
-
-    os.open (DEVNULL, os.O_RDWR)  # standard input
-
-    # redirect standard file descriptors
-    si = open(stdin, 'r')
-    so = open(stdout, 'a+')
-    se = open(stderr, 'a+', 0)
-    os.dup2(si.fileno(), sys.stdin.fileno())
-    os.dup2(so.fileno(), sys.stdout.fileno())
-    os.dup2(se.fileno(), sys.stderr.fileno())
-
-    return 0
-
-def client_cgi ():
-    """This handles the request if this script was called as a cgi.
-    """
-    sys.stderr = sys.stdout
-    ajax_mode = False
-    TITLE="Shell"
-    SHELL_OUTPUT=""
-    SID="NOT"
-    print("Content-type: text/html;charset=utf-8\r\n")
-    try:
-        form = cgi.FieldStorage()
-        if 'ajax' in form:
-            ajax_mode = True
-            ajax_cmd = form['ajax'].value
-            SID=form['sid'].value
-            if ajax_cmd == 'send':
-                command = 'xsend'
-                arg = form['arg'].value.encode('hex')
-                result = client (command + ' ' + arg, '/tmp/'+SID)
-                print(result)
-            elif ajax_cmd == 'refresh':
-                command = 'refresh'
-                result = client (command, '/tmp/'+SID)
-                print(result)
-            elif ajax_cmd == 'cursor':
-                command = 'cursor'
-                result = client (command, '/tmp/'+SID)
-                print(result)
-            elif ajax_cmd == 'exit':
-                command = 'exit'
-                result = client (command, '/tmp/'+SID)
-                print(result)
-            elif ajax_cmd == 'hash':
-                command = 'hash'
-                result = client (command, '/tmp/'+SID)
-                print(result)
-        elif 'sid' not in form:
-            SID=random_sid()
-            print(LOGIN_HTML % locals());
-        else:
-            SID=form['sid'].value
-            if 'start_server' in form:
-                USERNAME = form['username'].value
-                PASSWORD = form['password'].value
-                dpid = server ('127.0.0.1', USERNAME, PASSWORD, '/tmp/'+SID)
-                SHELL_OUTPUT="daemon pid: " + str(dpid)
-            else:
-                if 'cli' in form:
-                    command = 'sendline ' + form['cli'].value
-                else:
-                    command = 'sendline'
-                SHELL_OUTPUT = client (command, '/tmp/'+SID)
-            print(CGISH_HTML % locals())
-    except:
-        tb_dump = traceback.format_exc()
-        if ajax_mode:
-            print(str(tb_dump))
-        else:
-            SHELL_OUTPUT=str(tb_dump)
-            print(CGISH_HTML % locals())
-
-def server_cli():
-    """This is the command line interface to starting the server.
-    This handles things if the script was not called as a CGI
-    (if you run it from the command line).
-    """
-    try:
-        optlist, args = getopt.getopt(sys.argv[1:], 'h?d', ['help','h','?', 'hostname=', 'username=', 'password=', 'port=', 'watch'])
-    except Exception as e:
-        print(str(e))
-        exit_with_usage()
-
-    command_line_options = dict(optlist)
-    options = dict(optlist)
-    # There are a million ways to cry for help. These are but a few of them.
-    if [elem for elem in command_line_options if elem in ['-h','--h','-?','--?','--help']]:
-        exit_with_usage(0)
-  
-    hostname = "127.0.0.1"
-    #port = 1664
-    username = os.getenv('USER')
-    password = ""
-    daemon_mode = False
-    if '-d' in options:
-        daemon_mode = True
-    if '--watch' in options:
-        watch_mode = True
-    else:
-        watch_mode = False
-    if '--hostname' in options:
-        hostname = options['--hostname']
-    if '--port' in options:
-        port = int(options['--port'])
-    if '--username' in options:
-        username = options['--username']
-    if '--password' in options:
-        password = options['--password']
-    else:
-        password = getpass.getpass('password: ')
-   
-    server (hostname, username, password, '/tmp/mysock', daemon_mode)
-
-def random_sid ():
-    a=random.randint(0,65535)
-    b=random.randint(0,65535)
-    return '%04x%04x.sid' % (a,b)
-
-def parse_host_connect_string (hcs):
-    """This parses a host connection string in the form
-    username:password@hostname:port. All fields are options expcet hostname. A
-    dictionary is returned with all four keys. Keys that were not included are
-    set to empty strings ''. Note that if your password has the '@' character
-    then you must backslash escape it.
-    """
-    if '@' in hcs:
-        p = re.compile (r'(?P<username>[^@:]*)(:?)(?P<password>.*)(?!\\)@(?P<hostname>[^:]*):?(?P<port>[0-9]*)')
-    else:
-        p = re.compile (r'(?P<username>)(?P<password>)(?P<hostname>[^:]*):?(?P<port>[0-9]*)')
-    m = p.search (hcs)
-    d = m.groupdict()
-    d['password'] = d['password'].replace('\\@','@')
-    return d
-     
-def pretty_box (s, rows=24, cols=80):
-    """This puts an ASCII text box around the given string.
-    """
-    top_bot = '+' + '-'*cols + '+\n'
-    return top_bot + '\n'.join(['|'+line+'|' for line in s.split('\n')]) + '\n' + top_bot
-
-def main ():
-    if os.getenv('REQUEST_METHOD') is None:
-        server_cli()
-    else:
-        client_cgi()
-
-# It's mostly HTML and Javascript from here on out.
-CGISH_HTML="""<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<title>%(TITLE)s %(SID)s</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<style type=text/css>
-a {color: #9f9; text-decoration: none}
-a:hover {color: #0f0}
-hr {color: #0f0}
-html,body,textarea,input,form
-{
-font-family: "Courier New", Courier, mono; 
-font-size: 8pt; 
-color: #0c0;
-background-color: #020;
-margin:0;
-padding:0;
-border:0;
-}
-input { background-color: #010; }
-textarea {
-border-width:1;
-border-style:solid;
-border-color:#0c0;
-padding:3;
-margin:3;
-}
-</style>
-
-<script language="JavaScript">
-function focus_first()
-{if (document.forms.length > 0)
-{var TForm = document.forms[0];
-for (i=0;i<TForm.length;i++){
-if ((TForm.elements[i].type=="text")||
-(TForm.elements[i].type=="textarea")||
-(TForm.elements[i].type.toString().charAt(0)=="s"))
-{document.forms[0].elements[i].focus();break;}}}}
-
-// JavaScript Virtual Keyboard
-// If you like this code then buy me a sandwich.
-// Noah Spurrier <noah@noah.org>
-var flag_shift=0;
-var flag_shiftlock=0;
-var flag_ctrl=0;
-var ButtonOnColor="#ee0";
-
-function init ()
-{
-    // hack to set quote key to show both single quote and double quote
-    document.form['quote'].value = "'" + '  "';
-    //refresh_screen();
-    poll();
-    document.form["cli"].focus();
-}
-function get_password ()
-{
-    var username = prompt("username?","");
-    var password = prompt("password?","");
-    start_server (username, password);
-}
-function multibrowser_ajax ()
-{
-    var xmlHttp = false;
-/*@cc_on @*/
-/*@if (@_jscript_version >= 5)
-    try
-    {
-        xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
-    }
-    catch (e)
-    {
-        try
-        {
-            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
-        }
-        catch (e2)
-        {
-              xmlHttp = false;
-        }
-    }
-@end @*/
-
-    if (!xmlHttp && typeof XMLHttpRequest != 'undefined')
-    {
-        xmlHttp = new XMLHttpRequest();
-    }
-    return xmlHttp;
-}
-function load_url_to_screen(url)
-{ 
-    xmlhttp = multibrowser_ajax();
-    //window.XMLHttpRequest?new XMLHttpRequest(): new ActiveXObject("Microsoft.XMLHTTP");
-    xmlhttp.onreadystatechange = update_virtual_screen;
-    xmlhttp.open("GET", url);
-    xmlhttp.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
-    xmlhttp.send(null);
-}
-function update_virtual_screen()
-{
-    if ((xmlhttp.readyState == 4) && (xmlhttp.status == 200))
-    {
-        var screen_text = xmlhttp.responseText;
-        document.form["screen_text"].value = screen_text;
-        //var json_data = json_parse(xmlhttp.responseText);
-    }
-}
-function poll()
-{
-    refresh_screen();
-    timerID  = setTimeout("poll()", 2000);
-    // clearTimeout(timerID);
-}
-//function start_server (username, password)
-//{
-//    load_url_to_screen('cgishell.cgi?ajax=serverstart&username=' + escape(username) + '&password=' + escape(password);
-//}
-function refresh_screen()
-{
-    load_url_to_screen('cgishell.cgi?ajax=refresh&sid=%(SID)s');
-}
-function query_hash()
-{
-    load_url_to_screen('cgishell.cgi?ajax=hash&sid=%(SID)s');
-}
-function query_cursor()
-{
-    load_url_to_screen('cgishell.cgi?ajax=cursor&sid=%(SID)s');
-}
-function exit_server()
-{
-    load_url_to_screen('cgishell.cgi?ajax=exit&sid=%(SID)s');
-}
-function type_key (chars)
-{
-    var ch = '?';
-    if (flag_shiftlock || flag_shift)
-    {
-        ch = chars.substr(1,1);
-    }
-    else if (flag_ctrl)
-    {
-        ch = chars.substr(2,1);
-    }
-    else
-    {
-        ch = chars.substr(0,1);
-    }
-    load_url_to_screen('cgishell.cgi?ajax=send&sid=%(SID)s&arg=' + escape(ch));
-    if (flag_shift || flag_ctrl)
-    {
-        flag_shift = 0;
-        flag_ctrl = 0;
-    }
-    update_button_colors();
-}
-
-function key_shiftlock()
-{
-    flag_ctrl = 0;
-    flag_shift = 0;
-    if (flag_shiftlock)
-    {
-        flag_shiftlock = 0;
-    }
-    else
-    {
-        flag_shiftlock = 1;
-    }
-    update_button_colors();
-}
-
-function key_shift()
-{
-    if (flag_shift)
-    {
-        flag_shift = 0;
-    }
-    else
-    {
-        flag_ctrl = 0;
-        flag_shiftlock = 0;
-        flag_shift = 1;
-    }
-    update_button_colors(); 
-}
-function key_ctrl ()
-{
-    if (flag_ctrl)
-    {
-        flag_ctrl = 0;
-    }
-    else
-    {
-        flag_ctrl = 1;
-        flag_shiftlock = 0;
-        flag_shift = 0;
-    }
-    
-    update_button_colors();
-}
-function update_button_colors ()
-{
-    if (flag_ctrl)
-    {
-        document.form['Ctrl'].style.backgroundColor = ButtonOnColor;
-        document.form['Ctrl2'].style.backgroundColor = ButtonOnColor;
-    }
-    else
-    {
-        document.form['Ctrl'].style.backgroundColor = document.form.style.backgroundColor;
-        document.form['Ctrl2'].style.backgroundColor = document.form.style.backgroundColor;
-    }
-    if (flag_shift)
-    {
-        document.form['Shift'].style.backgroundColor = ButtonOnColor;
-        document.form['Shift2'].style.backgroundColor = ButtonOnColor;
-    }
-    else
-    {
-        document.form['Shift'].style.backgroundColor = document.form.style.backgroundColor;
-        document.form['Shift2'].style.backgroundColor = document.form.style.backgroundColor;
-    }
-    if (flag_shiftlock)
-    {
-        document.form['ShiftLock'].style.backgroundColor = ButtonOnColor;
-    }
-    else
-    {
-        document.form['ShiftLock'].style.backgroundColor = document.form.style.backgroundColor;
-    }
-    
-}
-function keyHandler(e)
-{
-    var pressedKey;
-    if (document.all)    { e = window.event; }
-    if (document.layers) { pressedKey = e.which; }
-    if (document.all)    { pressedKey = e.keyCode; }
-    pressedCharacter = String.fromCharCode(pressedKey);
-    type_key(pressedCharacter+pressedCharacter+pressedCharacter);
-    alert(pressedCharacter);
-//    alert(' Character = ' + pressedCharacter + ' [Decimal value = ' + pressedKey + ']');
-}
-//document.onkeypress = keyHandler;
-//if (document.layers)
-//    document.captureEvents(Event.KEYPRESS);
-//http://sniptools.com/jskeys
-//document.onkeyup = KeyCheck;       
-function KeyCheck(e)
-{
-    var KeyID = (window.event) ? event.keyCode : e.keyCode;
-    type_key(String.fromCharCode(KeyID));
-    e.cancelBubble = true;
-    window.event.cancelBubble = true;
-}
-</script>
-
-</head>
-
-<body onload="init()">
-<form id="form" name="form" action="/cgi-bin/cgishell.cgi" method="POST">
-<input name="sid" value="%(SID)s" type="hidden">
-<textarea name="screen_text" cols="81" rows="25">%(SHELL_OUTPUT)s</textarea>
-<hr noshade="1">
-&nbsp;<input name="cli" id="cli" type="text" size="80"><br>
-<table border="0" align="left">
-<tr>
-<td width="86%%" align="center">    
-    <input name="submit" type="submit" value="Submit">
-    <input name="refresh" type="button" value="REFRESH" onclick="refresh_screen()">
-    <input name="refresh" type="button" value="CURSOR" onclick="query_cursor()">
-    <input name="hash" type="button" value="HASH" onclick="query_hash()">
-    <input name="exit" type="button" value="EXIT" onclick="exit_server()">
-    <br>
-    <input type="button" value="Esc" onclick="type_key('\\x1b\\x1b')" />
-    <input type="button" value="` ~" onclick="type_key('`~')" />
-    <input type="button" value="1!" onclick="type_key('1!')" />
-    <input type="button" value="2@" onclick="type_key('2@\\x00')" />
-    <input type="button" value="3#" onclick="type_key('3#')" />
-    <input type="button" value="4$" onclick="type_key('4$')" />
-    <input type="button" value="5%%" onclick="type_key('5%%')" />
-    <input type="button" value="6^" onclick="type_key('6^\\x1E')" />
-    <input type="button" value="7&" onclick="type_key('7&')" />
-    <input type="button" value="8*" onclick="type_key('8*')" />
-    <input type="button" value="9(" onclick="type_key('9(')" />
-    <input type="button" value="0)" onclick="type_key('0)')" />
-    <input type="button" value="-_" onclick="type_key('-_\\x1F')" />
-    <input type="button" value="=+" onclick="type_key('=+')" />
-    <input type="button" value="BkSp" onclick="type_key('\\x08\\x08\\x08')" />
-    <br>
-    <input type="button" value="Tab" onclick="type_key('\\t\\t')" />
-    <input type="button" value="Q" onclick="type_key('qQ\\x11')" />
-    <input type="button" value="W" onclick="type_key('wW\\x17')" />
-    <input type="button" value="E" onclick="type_key('eE\\x05')" />
-    <input type="button" value="R" onclick="type_key('rR\\x12')" />
-    <input type="button" value="T" onclick="type_key('tT\\x14')" />
-    <input type="button" value="Y" onclick="type_key('yY\\x19')" />
-    <input type="button" value="U" onclick="type_key('uU\\x15')" />
-    <input type="button" value="I" onclick="type_key('iI\\x09')" />
-    <input type="button" value="O" onclick="type_key('oO\\x0F')" />
-    <input type="button" value="P" onclick="type_key('pP\\x10')" />
-    <input type="button" value="[ {" onclick="type_key('[{\\x1b')" />
-    <input type="button" value="] }" onclick="type_key(']}\\x1d')" />
-    <input type="button" value="\\ |" onclick="type_key('\\\\|\\x1c')" />
-    <br>
-    <input type="button" id="Ctrl" value="Ctrl" onclick="key_ctrl()" />
-    <input type="button" value="A" onclick="type_key('aA\\x01')" />
-    <input type="button" value="S" onclick="type_key('sS\\x13')" />
-    <input type="button" value="D" onclick="type_key('dD\\x04')" />
-    <input type="button" value="F" onclick="type_key('fF\\x06')" />
-    <input type="button" value="G" onclick="type_key('gG\\x07')" />
-    <input type="button" value="H" onclick="type_key('hH\\x08')" />
-    <input type="button" value="J" onclick="type_key('jJ\\x0A')" />
-    <input type="button" value="K" onclick="type_key('kK\\x0B')" />
-    <input type="button" value="L" onclick="type_key('lL\\x0C')" />
-    <input type="button" value="; :" onclick="type_key(';:')" />
-    <input type="button" id="quote" value="'" onclick="type_key('\\x27\\x22')" />
-    <input type="button" value="Enter" onclick="type_key('\\n\\n')" />
-    <br>
-    <input type="button" id="ShiftLock" value="Caps Lock" onclick="key_shiftlock()" />
-    <input type="button" id="Shift" value="Shift" onclick="key_shift()"  />
-    <input type="button" value="Z" onclick="type_key('zZ\\x1A')" />
-    <input type="button" value="X" onclick="type_key('xX\\x18')" />
-    <input type="button" value="C" onclick="type_key('cC\\x03')" />
-    <input type="button" value="V" onclick="type_key('vV\\x16')" />
-    <input type="button" value="B" onclick="type_key('bB\\x02')" />
-    <input type="button" value="N" onclick="type_key('nN\\x0E')" />
-    <input type="button" value="M" onclick="type_key('mM\\x0D')" />
-    <input type="button" value=", <" onclick="type_key(',<')" />
-    <input type="button" value=". >" onclick="type_key('.>')" />
-    <input type="button" value="/ ?" onclick="type_key('/?')" />
-    <input type="button" id="Shift2" value="Shift" onclick="key_shift()" />
-    <input type="button" id="Ctrl2" value="Ctrl" onclick="key_ctrl()" />
-    <br>
-    <input type="button" value="        FINAL FRONTIER        " onclick="type_key('  ')" />
-</td>
-</tr>
-</table>  
-</form>
-</body>
-</html>
-"""
-
-LOGIN_HTML="""<html>
-<head>
-<title>Shell Login</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<style type=text/css>
-a {color: #9f9; text-decoration: none}
-a:hover {color: #0f0}
-hr {color: #0f0}
-html,body,textarea,input,form
-{
-font-family: "Courier New", Courier, mono;
-font-size: 8pt;
-color: #0c0;
-background-color: #020;
-margin:3;
-padding:0;
-border:0;
-}
-input { background-color: #010; }
-input,textarea {
-border-width:1;
-border-style:solid;
-border-color:#0c0;
-padding:3;
-margin:3;
-}
-</style>
-<script language="JavaScript">
-function init ()
-{
-    document.login_form["username"].focus();
-}
-</script>
-</head>
-<body onload="init()">
-<form name="login_form" method="POST">
-<input name="start_server" value="1" type="hidden">
-<input name="sid" value="%(SID)s" type="hidden">
-username: <input name="username" type="text" size="30"><br>
-password: <input name="password" type="password" size="30"><br>
-<input name="submit" type="submit" value="enter">
-</form>
-<br>
-</body>
-</html>
-"""
-
-if __name__ == "__main__":
-    try:
-        main()
-    except Exception as e:
-        print(str(e))
-        tb_dump = traceback.format_exc()
-        print(str(tb_dump))
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/examples/chess.py b/lldb/third_party/Python/module/pexpect-4.6/examples/chess.py
deleted file mode 100755 (executable)
index f97a3a9..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-#!/usr/bin/env python
-
-'''This demonstrates controlling a screen oriented application (curses).
-It starts two instances of gnuchess and then pits them against each other.
-
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-
-from __future__ import print_function
-
-from __future__ import absolute_import
-
-import pexpect
-import ANSI
-
-REGEX_MOVE = r'(?:[a-z]|\x1b\[C)(?:[0-9]|\x1b\[C)(?:[a-z]|\x1b\[C)(?:[0-9]|\x1b\[C)'
-REGEX_MOVE_PART = r'(?:[0-9]|\x1b\[C)(?:[a-z]|\x1b\[C)(?:[0-9]|\x1b\[C)'
-
-class Chess:
-
-    def __init__(self, engine = "/usr/local/bin/gnuchess -a -h 1"):
-        self.child = pexpect.spawn (engine)
-        self.term = ANSI.ANSI ()
-
-        self.child.expect ('Chess')
-        if self.child.after != 'Chess':
-            raise IOError('incompatible chess program')
-        self.term.process_list (self.before)
-        self.term.process_list (self.after)
-        self.last_computer_move = ''
-
-    def read_until_cursor (self, r,c):
-        while 1:
-            self.child.read(1, 60)
-            self.term.process (c)
-            if self.term.cur_r == r and self.term.cur_c == c:
-                return 1
-
-    def do_first_move (self, move):
-        self.child.expect ('Your move is')
-        self.child.sendline (move)
-        self.term.process_list (self.before)
-        self.term.process_list (self.after)
-        return move
-
-    def do_move (self, move):
-        self.read_until_cursor (19,60)
-        self.child.sendline (move)
-        return move
-
-    def get_first_computer_move (self):
-        self.child.expect ('My move is')
-        self.child.expect (REGEX_MOVE)
-        return self.child.after
-
-    def get_computer_move (self):
-        print('Here')
-        i = self.child.expect ([r'\[17;59H', r'\[17;58H'])
-        print(i)
-        if i == 0:
-            self.child.expect (REGEX_MOVE)
-            if len(self.child.after) < 4:
-                self.child.after = self.child.after + self.last_computer_move[3]
-        if i == 1:
-            self.child.expect (REGEX_MOVE_PART)
-            self.child.after = self.last_computer_move[0] + self.child.after
-        print('', self.child.after)
-        self.last_computer_move = self.child.after
-        return self.child.after
-
-    def switch (self):
-        self.child.sendline ('switch')
-
-    def set_depth (self, depth):
-        self.child.sendline ('depth')
-        self.child.expect ('depth=')
-        self.child.sendline ('%d' % depth)
-
-    def quit(self):
-        self.child.sendline ('quit')
-import sys
-print('Starting...')
-white = Chess()
-white.child.echo = 1
-white.child.expect ('Your move is')
-white.set_depth(2)
-white.switch()
-
-move_white = white.get_first_computer_move()
-print('first move white:', move_white)
-
-white.do_move ('e7e5')
-move_white = white.get_computer_move()
-print('move white:', move_white)
-white.do_move ('f8c5')
-move_white = white.get_computer_move()
-print('move white:', move_white)
-white.do_move ('b8a6')
-move_white = white.get_computer_move()
-print('move white:', move_white)
-
-sys.exit(1)
-
-
-
-black = Chess()
-white = Chess()
-white.child.expect ('Your move is')
-white.switch()
-
-move_white = white.get_first_computer_move()
-print('first move white:', move_white)
-
-black.do_first_move (move_white)
-move_black = black.get_first_computer_move()
-print('first move black:', move_black)
-
-white.do_move (move_black)
-
-done = 0
-while not done:
-    move_white = white.get_computer_move()
-    print('move white:', move_white)
-
-    black.do_move (move_white)
-    move_black = black.get_computer_move()
-    print('move black:', move_black)
-
-    white.do_move (move_black)
-    print('tail of loop')
-
-g.quit()
diff --git a/lldb/third_party/Python/module/pexpect-4.6/examples/chess2.py b/lldb/third_party/Python/module/pexpect-4.6/examples/chess2.py
deleted file mode 100755 (executable)
index b92509e..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-#!/usr/bin/env python
-
-'''This demonstrates controlling a screen oriented application (curses).
-It starts two instances of gnuchess and then pits them against each other.
-
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-
-from __future__ import print_function
-
-from __future__ import absolute_import
-
-import pexpect
-import ANSI
-import sys
-import time
-
-class Chess:
-
-        def __init__(self, engine = "/usr/local/bin/gnuchess -a -h 1"):
-                self.child = pexpect.spawn (engine)
-                self.term = ANSI.ANSI ()
-
-                #self.child.expect ('Chess')
-                #if self.child.after != 'Chess':
-                #        raise IOError, 'incompatible chess program'
-                #self.term.process_list (self.child.before)
-                #self.term.process_list (self.child.after)
-
-                self.last_computer_move = ''
-
-        def read_until_cursor (self, r,c, e=0):
-            '''Eventually something like this should move into the screen class or
-            a subclass. Maybe a combination of pexpect and screen...
-            '''
-            fout = open ('log','a')
-            while self.term.cur_r != r or self.term.cur_c != c:
-                try:
-                    k = self.child.read(1, 10)
-                except Exception as e:
-                    print('EXCEPTION, (r,c):(%d,%d)\n' %(self.term.cur_r, self.term.cur_c))
-                    sys.stdout.flush()
-                self.term.process (k)
-                fout.write ('(r,c):(%d,%d)\n' %(self.term.cur_r, self.term.cur_c))
-                fout.flush()
-                if e:
-                    sys.stdout.write (k)
-                    sys.stdout.flush()
-                if self.term.cur_r == r and self.term.cur_c == c:
-                    fout.close()
-                    return 1
-            print('DIDNT EVEN HIT.')
-            fout.close()
-            return 1
-
-        def expect_region (self):
-            '''This is another method that would be moved into the
-            screen class.
-            '''
-            pass
-        def do_scan (self):
-            fout = open ('log','a')
-            while 1:
-                c = self.child.read(1,10)
-                self.term.process (c)
-                fout.write ('(r,c):(%d,%d)\n' %(self.term.cur_r, self.term.cur_c))
-                fout.flush()
-                sys.stdout.write (c)
-                sys.stdout.flush()
-
-        def do_move (self, move, e = 0):
-                time.sleep(1)
-                self.read_until_cursor (19,60, e)
-                self.child.sendline (move)
-
-        def wait (self, color):
-            while 1:
-                r = self.term.get_region (14,50,14,60)[0]
-                r = r.strip()
-                if r == color:
-                    return
-                time.sleep (1)
-
-        def parse_computer_move (self, s):
-                i = s.find ('is: ')
-                cm = s[i+3:i+9]
-                return cm
-        def get_computer_move (self, e = 0):
-                time.sleep(1)
-                self.read_until_cursor (19,60, e)
-                time.sleep(1)
-                r = self.term.get_region (17,50,17,62)[0]
-                cm = self.parse_computer_move (r)
-                return cm
-
-        def switch (self):
-                print('switching')
-                self.child.sendline ('switch')
-
-        def set_depth (self, depth):
-                self.child.sendline ('depth')
-                self.child.expect ('depth=')
-                self.child.sendline ('%d' % depth)
-
-        def quit(self):
-                self.child.sendline ('quit')
-
-def LOG (s):
-    print(s)
-    sys.stdout.flush ()
-    fout = open ('moves.log', 'a')
-    fout.write (s + '\n')
-    fout.close()
-
-print('Starting...')
-
-black = Chess()
-white = Chess()
-white.read_until_cursor (19,60,1)
-white.switch()
-
-done = 0
-while not done:
-    white.wait ('Black')
-    move_white = white.get_computer_move(1)
-    LOG ( 'move white:'+ move_white )
-
-    black.do_move (move_white)
-    black.wait ('White')
-    move_black = black.get_computer_move()
-    LOG ( 'move black:'+ move_black )
-
-    white.do_move (move_black, 1)
-
-g.quit()
-
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/examples/chess3.py b/lldb/third_party/Python/module/pexpect-4.6/examples/chess3.py
deleted file mode 100755 (executable)
index 2c087b0..0000000
+++ /dev/null
@@ -1,157 +0,0 @@
-#!/usr/bin/env python
-
-'''This demonstrates controlling a screen oriented application (curses).
-It starts two instances of gnuchess and then pits them against each other.
-
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-
-from __future__ import print_function
-
-from __future__ import absolute_import
-
-import pexpect
-import ANSI
-
-REGEX_MOVE = r'(?:[a-z]|\x1b\[C)(?:[0-9]|\x1b\[C)(?:[a-z]|\x1b\[C)(?:[0-9]|\x1b\[C)'
-REGEX_MOVE_PART = r'(?:[0-9]|\x1b\[C)(?:[a-z]|\x1b\[C)(?:[0-9]|\x1b\[C)'
-
-class Chess:
-
-    def __init__(self, engine = "/usr/local/bin/gnuchess -a -h 1"):
-        self.child = pexpect.spawn (engine)
-        self.term = ANSI.ANSI ()
-
-#              self.child.expect ('Chess')
-    #  if self.child.after != 'Chess':
-    #          raise IOError, 'incompatible chess program'
-    #        self.term.process_list (self.before)
-    #        self.term.process_list (self.after)
-        self.last_computer_move = ''
-    def read_until_cursor (self, r,c):
-        fout = open ('log','a')
-        while 1:
-            k = self.child.read(1, 10)
-            self.term.process (k)
-            fout.write ('(r,c):(%d,%d)\n' %(self.term.cur_r, self.term.cur_c))
-            fout.flush()
-            if self.term.cur_r == r and self.term.cur_c == c:
-                fout.close()
-                return 1
-            sys.stdout.write (k)
-            sys.stdout.flush()
-
-    def do_scan (self):
-        fout = open ('log','a')
-        while 1:
-            c = self.child.read(1,10)
-            self.term.process (c)
-            fout.write ('(r,c):(%d,%d)\n' %(self.term.cur_r, self.term.cur_c))
-            fout.flush()
-            sys.stdout.write (c)
-            sys.stdout.flush()
-
-    def do_move (self, move):
-        self.read_until_cursor (19,60)
-        self.child.sendline (move)
-        return move
-
-    def get_computer_move (self):
-        print('Here')
-        i = self.child.expect ([r'\[17;59H', r'\[17;58H'])
-        print(i)
-        if i == 0:
-            self.child.expect (REGEX_MOVE)
-            if len(self.child.after) < 4:
-                self.child.after = self.child.after + self.last_computer_move[3]
-        if i == 1:
-            self.child.expect (REGEX_MOVE_PART)
-            self.child.after = self.last_computer_move[0] + self.child.after
-        print('', self.child.after)
-        self.last_computer_move = self.child.after
-        return self.child.after
-
-    def switch (self):
-        self.child.sendline ('switch')
-
-    def set_depth (self, depth):
-        self.child.sendline ('depth')
-        self.child.expect ('depth=')
-        self.child.sendline ('%d' % depth)
-
-    def quit(self):
-        self.child.sendline ('quit')
-import sys
-print('Starting...')
-white = Chess()
-white.do_move('b2b4')
-white.read_until_cursor (19,60)
-c1 = white.term.get_abs(17,58)
-c2 = white.term.get_abs(17,59)
-c3 = white.term.get_abs(17,60)
-c4 = white.term.get_abs(17,61)
-fout = open ('log','a')
-fout.write ('Computer:%s%s%s%s\n' %(c1,c2,c3,c4))
-fout.close()
-white.do_move('c2c4')
-white.read_until_cursor (19,60)
-c1 = white.term.get_abs(17,58)
-c2 = white.term.get_abs(17,59)
-c3 = white.term.get_abs(17,60)
-c4 = white.term.get_abs(17,61)
-fout = open ('log','a')
-fout.write ('Computer:%s%s%s%s\n' %(c1,c2,c3,c4))
-fout.close()
-white.do_scan ()
-
-#white.do_move ('b8a6')
-#move_white = white.get_computer_move()
-#print 'move white:', move_white
-
-sys.exit(1)
-
-
-
-black = Chess()
-white = Chess()
-white.child.expect ('Your move is')
-white.switch()
-
-move_white = white.get_first_computer_move()
-print('first move white:', move_white)
-
-black.do_first_move (move_white)
-move_black = black.get_first_computer_move()
-print('first move black:', move_black)
-
-white.do_move (move_black)
-
-done = 0
-while not done:
-    move_white = white.get_computer_move()
-    print('move white:', move_white)
-
-    black.do_move (move_white)
-    move_black = black.get_computer_move()
-    print('move black:', move_black)
-
-    white.do_move (move_black)
-    print('tail of loop')
-
-g.quit()
diff --git a/lldb/third_party/Python/module/pexpect-4.6/examples/df.py b/lldb/third_party/Python/module/pexpect-4.6/examples/df.py
deleted file mode 100755 (executable)
index f8e3fc3..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/usr/bin/env python
-
-'''This collects filesystem capacity info using the 'df' command. Tuples of
-filesystem name and percentage are stored in a list. A simple report is
-printed. Filesystems over 95% capacity are highlighted. Note that this does not
-parse filesystem names after the first space, so names with spaces in them will
-be truncated. This will produce ambiguous results for automount filesystems on
-Apple OSX.
-
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-
-from __future__ import print_function
-
-from __future__ import absolute_import
-
-import pexpect
-
-child = pexpect.spawn ('df')
-
-# parse 'df' output into a list.
-pattern = r"\n(\S+).*?([0-9]+)%"
-filesystem_list = []
-for dummy in range (0, 1000):
-    i = child.expect ([pattern, pexpect.EOF])
-    if i == 0:
-        filesystem_list.append (child.match.groups())
-    else:
-        break
-
-# Print report
-print()
-for m in filesystem_list:
-    s = "Filesystem %s is at %s%%" % (m[0], m[1])
-    # highlight filesystems over 95% capacity
-    if int(m[1]) > 95:
-        s = '! ' + s
-    else:
-        s = '  ' + s
-    print(s)
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/examples/ftp.py b/lldb/third_party/Python/module/pexpect-4.6/examples/ftp.py
deleted file mode 100755 (executable)
index a1c1343..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/usr/bin/env python
-
-'''This demonstrates an FTP "bookmark". This connects to an ftp site; does a
-few ftp stuff; and then gives the user interactive control over the session. In
-this case the "bookmark" is to a directory on the OpenBSD ftp server. It puts
-you in the i386 packages directory. You can easily modify this for other sites.
-
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-
-from __future__ import absolute_import
-from __future__ import print_function
-from __future__ import unicode_literals
-
-import pexpect
-import sys
-
-# Note that, for Python 3 compatibility reasons, we are using spawnu and
-# importing unicode_literals (above). spawnu accepts Unicode input and
-# unicode_literals makes all string literals in this script Unicode by default.
-child = pexpect.spawnu('ftp ftp.openbsd.org')
-
-child.expect('(?i)name .*: ')
-child.sendline('anonymous')
-child.expect('(?i)password')
-child.sendline('pexpect@sourceforge.net')
-child.expect('ftp> ')
-child.sendline('cd /pub/OpenBSD/3.7/packages/i386')
-child.expect('ftp> ')
-child.sendline('bin')
-child.expect('ftp> ')
-child.sendline('prompt')
-child.expect('ftp> ')
-child.sendline('pwd')
-child.expect('ftp> ')
-print("Escape character is '^]'.\n")
-sys.stdout.write (child.after)
-sys.stdout.flush()
-child.interact() # Escape character defaults to ^]
-# At this point this script blocks until the user presses the escape character
-# or until the child exits. The human user and the child should be talking
-# to each other now.
-
-# At this point the script is running again.
-print('Left interactve mode.')
-
-# The rest is not strictly necessary. This just demonstrates a few functions.
-# This makes sure the child is dead; although it would be killed when Python exits.
-if child.isalive():
-    child.sendline('bye') # Try to ask ftp child to exit.
-    child.close()
-# Print the final state of the child. Normally isalive() should be FALSE.
-if child.isalive():
-    print('Child did not exit gracefully.')
-else:
-    print('Child exited gracefully.')
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/examples/hive.py b/lldb/third_party/Python/module/pexpect-4.6/examples/hive.py
deleted file mode 100755 (executable)
index 1b7bcbf..0000000
+++ /dev/null
@@ -1,466 +0,0 @@
-#!/usr/bin/env python
-
-'''hive -- Hive Shell
-
-This lets you ssh to a group of servers and control them as if they were one.
-Each command you enter is sent to each host in parallel. The response of each
-host is collected and printed. In normal synchronous mode Hive will wait for
-each host to return the shell command line prompt. The shell prompt is used to
-sync output.
-
-Example:
-
-    $ hive.py --sameuser --samepass host1.example.com host2.example.net
-    username: myusername
-    password:
-    connecting to host1.example.com - OK
-    connecting to host2.example.net - OK
-    targeting hosts: 192.168.1.104 192.168.1.107
-    CMD (? for help) > uptime
-    =======================================================================
-    host1.example.com
-    -----------------------------------------------------------------------
-    uptime
-    23:49:55 up 74 days,  5:14,  2 users,  load average: 0.15, 0.05, 0.01
-    =======================================================================
-    host2.example.net
-    -----------------------------------------------------------------------
-    uptime
-    23:53:02 up 1 day, 13:36,  2 users,  load average: 0.50, 0.40, 0.46
-    =======================================================================
-
-Other Usage Examples:
-
-1. You will be asked for your username and password for each host.
-
-    hive.py host1 host2 host3 ... hostN
-
-2. You will be asked once for your username and password.
-   This will be used for each host.
-
-    hive.py --sameuser --samepass host1 host2 host3 ... hostN
-
-3. Give a username and password on the command-line:
-
-    hive.py user1:pass2@host1 user2:pass2@host2 ... userN:passN@hostN
-
-You can use an extended host notation to specify username, password, and host
-instead of entering auth information interactively. Where you would enter a
-host name use this format:
-
-    username:password@host
-
-This assumes that ':' is not part of the password. If your password contains a
-':' then you can use '\\:' to indicate a ':' and '\\\\' to indicate a single
-'\\'. Remember that this information will appear in the process listing. Anyone
-on your machine can see this auth information. This is not secure.
-
-This is a crude script that begs to be multithreaded. But it serves its
-purpose.
-
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-
-from __future__ import print_function
-
-from __future__ import absolute_import
-
-# TODO add feature to support username:password@host combination
-# TODO add feature to log each host output in separate file
-
-import sys
-import os
-import re
-import optparse
-import time
-import getpass
-import readline
-import atexit
-try:
-    import pexpect
-    import pxssh
-except ImportError:
-    sys.stderr.write("You do not have 'pexpect' installed.\n")
-    sys.stderr.write("On Ubuntu you need the 'python-pexpect' package.\n")
-    sys.stderr.write("    aptitude -y install python-pexpect\n")
-    exit(1)
-
-
-try:
-    raw_input
-except NameError:
-    raw_input = input
-
-
-histfile = os.path.join(os.environ["HOME"], ".hive_history")
-try:
-    readline.read_history_file(histfile)
-except IOError:
-    pass
-atexit.register(readline.write_history_file, histfile)
-
-CMD_HELP='''Hive commands are preceded by a colon : (just think of vi).
-
-:target name1 name2 name3 ...
-
-    set list of hosts to target commands
-
-:target all
-
-    reset list of hosts to target all hosts in the hive.
-
-:to name command
-
-    send a command line to the named host. This is similar to :target, but
-    sends only one command and does not change the list of targets for future
-    commands.
-
-:sync
-
-    set mode to wait for shell prompts after commands are run. This is the
-    default. When Hive first logs into a host it sets a special shell prompt
-    pattern that it can later look for to synchronize output of the hosts. If
-    you 'su' to another user then it can upset the synchronization. If you need
-    to run something like 'su' then use the following pattern:
-
-    CMD (? for help) > :async
-    CMD (? for help) > sudo su - root
-    CMD (? for help) > :prompt
-    CMD (? for help) > :sync
-
-:async
-
-    set mode to not expect command line prompts (see :sync). Afterwards
-    commands are send to target hosts, but their responses are not read back
-    until :sync is run. This is useful to run before commands that will not
-    return with the special shell prompt pattern that Hive uses to synchronize.
-
-:refresh
-
-    refresh the display. This shows the last few lines of output from all hosts.
-    This is similar to resync, but does not expect the promt. This is useful
-    for seeing what hosts are doing during long running commands.
-
-:resync
-
-    This is similar to :sync, but it does not change the mode. It looks for the
-    prompt and thus consumes all input from all targeted hosts.
-
-:prompt
-
-    force each host to reset command line prompt to the special pattern used to
-    synchronize all the hosts. This is useful if you 'su' to a different user
-    where Hive would not know the prompt to match.
-
-:send my text
-
-    This will send the 'my text' wihtout a line feed to the targeted hosts.
-    This output of the hosts is not automatically synchronized.
-
-:control X
-
-    This will send the given control character to the targeted hosts.
-    For example, ":control c" will send ASCII 3.
-
-:exit
-
-    This will exit the hive shell.
-
-'''
-
-def login (args, cli_username=None, cli_password=None):
-
-    # I have to keep a separate list of host names because Python dicts are not ordered.
-    # I want to keep the same order as in the args list.
-    host_names = []
-    hive_connect_info = {}
-    hive = {}
-    # build up the list of connection information (hostname, username, password, port)
-    for host_connect_string in args:
-        hcd = parse_host_connect_string (host_connect_string)
-        hostname = hcd['hostname']
-        port     = hcd['port']
-        if port == '':
-            port = None
-        if len(hcd['username']) > 0:
-            username = hcd['username']
-        elif cli_username is not None:
-            username = cli_username
-        else:
-            username = raw_input('%s username: ' % hostname)
-        if len(hcd['password']) > 0:
-            password = hcd['password']
-        elif cli_password is not None:
-            password = cli_password
-        else:
-            password = getpass.getpass('%s password: ' % hostname)
-        host_names.append(hostname)
-        hive_connect_info[hostname] = (hostname, username, password, port)
-    # build up the list of hive connections using the connection information.
-    for hostname in host_names:
-        print('connecting to', hostname)
-        try:
-            fout = file("log_"+hostname, "w")
-            hive[hostname] = pxssh.pxssh()
-            # Disable host key checking.
-            hive[hostname].SSH_OPTS = (hive[hostname].SSH_OPTS
-                    + " -o 'StrictHostKeyChecking=no'"
-                    + " -o 'UserKnownHostsFile /dev/null' ")
-            hive[hostname].force_password = True
-            hive[hostname].login(*hive_connect_info[hostname])
-            print(hive[hostname].before)
-            hive[hostname].logfile = fout
-            print('- OK')
-        except Exception as e:
-            print('- ERROR', end=' ')
-            print(str(e))
-            print('Skipping', hostname)
-            hive[hostname] = None
-    return host_names, hive
-
-def main ():
-
-    global options, args, CMD_HELP
-
-    rows = 24
-    cols = 80
-
-    if options.sameuser:
-        cli_username = raw_input('username: ')
-    else:
-        cli_username = None
-
-    if options.samepass:
-        cli_password = getpass.getpass('password: ')
-    else:
-        cli_password = None
-
-    host_names, hive = login(args, cli_username, cli_password)
-
-    synchronous_mode = True
-    target_hostnames = host_names[:]
-    print('targeting hosts:', ' '.join(target_hostnames))
-    while True:
-        cmd = raw_input('CMD (? for help) > ')
-        cmd = cmd.strip()
-        if cmd=='?' or cmd==':help' or cmd==':h':
-            print(CMD_HELP)
-            continue
-        elif cmd==':refresh':
-            refresh (hive, target_hostnames, timeout=0.5)
-            for hostname in target_hostnames:
-                print('/' + '=' * (cols - 2))
-                print('| ' + hostname)
-                print('\\' + '-' * (cols - 2))
-                if hive[hostname] is None:
-                    print('# DEAD: %s' % hostname)
-                else:
-                    print(hive[hostname].before)
-            print('#' * 79)
-            continue
-        elif cmd==':resync':
-            resync (hive, target_hostnames, timeout=0.5)
-            for hostname in target_hostnames:
-                print('/' + '=' * (cols - 2))
-                print('| ' + hostname)
-                print('\\' + '-' * (cols - 2))
-                if hive[hostname] is None:
-                    print('# DEAD: %s' % hostname)
-                else:
-                    print(hive[hostname].before)
-            print('#' * 79)
-            continue
-        elif cmd==':sync':
-            synchronous_mode = True
-            resync (hive, target_hostnames, timeout=0.5)
-            continue
-        elif cmd==':async':
-            synchronous_mode = False
-            continue
-        elif cmd==':prompt':
-            for hostname in target_hostnames:
-                try:
-                    if hive[hostname] is not None:
-                        hive[hostname].set_unique_prompt()
-                except Exception as e:
-                    print("Had trouble communicating with %s, so removing it from the target list." % hostname)
-                    print(str(e))
-                    hive[hostname] = None
-            continue
-        elif cmd[:5] == ':send':
-            cmd, txt = cmd.split(None,1)
-            for hostname in target_hostnames:
-                try:
-                    if hive[hostname] is not None:
-                        hive[hostname].send(txt)
-                except Exception as e:
-                    print("Had trouble communicating with %s, so removing it from the target list." % hostname)
-                    print(str(e))
-                    hive[hostname] = None
-            continue
-        elif cmd[:3] == ':to':
-            cmd, hostname, txt = cmd.split(None,2)
-            print('/' + '=' * (cols - 2))
-            print('| ' + hostname)
-            print('\\' + '-' * (cols - 2))
-            if hive[hostname] is None:
-                print('# DEAD: %s' % hostname)
-                continue
-            try:
-                hive[hostname].sendline (txt)
-                hive[hostname].prompt(timeout=2)
-                print(hive[hostname].before)
-            except Exception as e:
-                print("Had trouble communicating with %s, so removing it from the target list." % hostname)
-                print(str(e))
-                hive[hostname] = None
-            continue
-        elif cmd[:7] == ':expect':
-            cmd, pattern = cmd.split(None,1)
-            print('looking for', pattern)
-            try:
-                for hostname in target_hostnames:
-                    if hive[hostname] is not None:
-                        hive[hostname].expect(pattern)
-                        print(hive[hostname].before)
-            except Exception as e:
-                print("Had trouble communicating with %s, so removing it from the target list." % hostname)
-                print(str(e))
-                hive[hostname] = None
-            continue
-        elif cmd[:7] == ':target':
-            target_hostnames = cmd.split()[1:]
-            if len(target_hostnames) == 0 or target_hostnames[0] == all:
-                target_hostnames = host_names[:]
-            print('targeting hosts:', ' '.join(target_hostnames))
-            continue
-        elif cmd == ':exit' or cmd == ':q' or cmd == ':quit':
-            break
-        elif cmd[:8] == ':control' or cmd[:5] == ':ctrl' :
-            cmd, c = cmd.split(None,1)
-            if ord(c)-96 < 0 or ord(c)-96 > 255:
-                print('/' + '=' * (cols - 2))
-                print('| Invalid character. Must be [a-zA-Z], @, [, ], \\, ^, _, or ?')
-                print('\\' + '-' * (cols - 2))
-                continue
-            for hostname in target_hostnames:
-                try:
-                    if hive[hostname] is not None:
-                        hive[hostname].sendcontrol(c)
-                except Exception as e:
-                    print("Had trouble communicating with %s, so removing it from the target list." % hostname)
-                    print(str(e))
-                    hive[hostname] = None
-            continue
-        elif cmd == ':esc':
-            for hostname in target_hostnames:
-                if hive[hostname] is not None:
-                    hive[hostname].send(chr(27))
-            continue
-        #
-        # Run the command on all targets in parallel
-        #
-        for hostname in target_hostnames:
-            try:
-                if hive[hostname] is not None:
-                    hive[hostname].sendline (cmd)
-            except Exception as e:
-                print("Had trouble communicating with %s, so removing it from the target list." % hostname)
-                print(str(e))
-                hive[hostname] = None
-
-        #
-        # print the response for each targeted host.
-        #
-        if synchronous_mode:
-            for hostname in target_hostnames:
-                try:
-                    print('/' + '=' * (cols - 2))
-                    print('| ' + hostname)
-                    print('\\' + '-' * (cols - 2))
-                    if hive[hostname] is None:
-                        print('# DEAD: %s' % hostname)
-                    else:
-                        hive[hostname].prompt(timeout=2)
-                        print(hive[hostname].before)
-                except Exception as e:
-                    print("Had trouble communicating with %s, so removing it from the target list." % hostname)
-                    print(str(e))
-                    hive[hostname] = None
-            print('#' * 79)
-
-def refresh (hive, hive_names, timeout=0.5):
-
-    '''This waits for the TIMEOUT on each host.
-    '''
-
-    # TODO This is ideal for threading.
-    for hostname in hive_names:
-        if hive[hostname] is not None:
-            hive[hostname].expect([pexpect.TIMEOUT,pexpect.EOF],timeout=timeout)
-
-def resync (hive, hive_names, timeout=2, max_attempts=5):
-
-    '''This waits for the shell prompt for each host in an effort to try to get
-    them all to the same state. The timeout is set low so that hosts that are
-    already at the prompt will not slow things down too much. If a prompt match
-    is made for a hosts then keep asking until it stops matching. This is a
-    best effort to consume all input if it printed more than one prompt. It's
-    kind of kludgy. Note that this will always introduce a delay equal to the
-    timeout for each machine. So for 10 machines with a 2 second delay you will
-    get AT LEAST a 20 second delay if not more. '''
-
-    # TODO This is ideal for threading.
-    for hostname in hive_names:
-        if hive[hostname] is not None:
-            for attempts in range(0, max_attempts):
-                if not hive[hostname].prompt(timeout=timeout):
-                    break
-
-def parse_host_connect_string (hcs):
-
-    '''This parses a host connection string in the form
-    username:password@hostname:port. All fields are options expcet hostname. A
-    dictionary is returned with all four keys. Keys that were not included are
-    set to empty strings ''. Note that if your password has the '@' character
-    then you must backslash escape it. '''
-
-    if '@' in hcs:
-        p = re.compile (r'(?P<username>[^@:]*)(:?)(?P<password>.*)(?!\\)@(?P<hostname>[^:]*):?(?P<port>[0-9]*)')
-    else:
-        p = re.compile (r'(?P<username>)(?P<password>)(?P<hostname>[^:]*):?(?P<port>[0-9]*)')
-    m = p.search (hcs)
-    d = m.groupdict()
-    d['password'] = d['password'].replace('\\@','@')
-    return d
-
-if __name__ == '__main__':
-    start_time = time.time()
-    parser = optparse.OptionParser(formatter=optparse.TitledHelpFormatter(), usage=globals()['__doc__'], version='$Id: hive.py 533 2012-10-20 02:19:33Z noah $',conflict_handler="resolve")
-    parser.add_option ('-v', '--verbose', action='store_true', default=False, help='verbose output')
-    parser.add_option ('--samepass', action='store_true', default=False, help='Use same password for each login.')
-    parser.add_option ('--sameuser', action='store_true', default=False, help='Use same username for each login.')
-    (options, args) = parser.parse_args()
-    if len(args) < 1:
-        parser.error ('missing argument')
-    if options.verbose: print(time.asctime())
-    main()
-    if options.verbose: print(time.asctime())
-    if options.verbose: print('TOTAL TIME IN MINUTES:', end=' ')
-    if options.verbose: print((time.time() - start_time) / 60.0)
diff --git a/lldb/third_party/Python/module/pexpect-4.6/examples/monitor.py b/lldb/third_party/Python/module/pexpect-4.6/examples/monitor.py
deleted file mode 100755 (executable)
index c030d3a..0000000
+++ /dev/null
@@ -1,229 +0,0 @@
-#!/usr/bin/env python
-
-''' This runs a sequence of commands on a remote host using SSH. It runs a
-simple system checks such as uptime and free to monitor the state of the remote
-host.
-
-./monitor.py [-s server_hostname] [-u username] [-p password]
-    -s : hostname of the remote server to login to.
-    -u : username to user for login.
-    -p : Password to user for login.
-
-Example:
-    This will print information about the given host:
-        ./monitor.py -s www.example.com -u mylogin -p mypassword
-
-It works like this:
-    Login via SSH (This is the hardest part).
-    Run and parse 'uptime'.
-    Run 'iostat'.
-    Run 'vmstat'.
-    Run 'netstat'
-    Run 'free'.
-    Exit the remote host.
-
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-
-from __future__ import print_function
-
-from __future__ import absolute_import
-
-import os, sys, re, getopt, getpass
-import pexpect
-
-
-try:
-    raw_input
-except NameError:
-    raw_input = input
-
-
-#
-# Some constants.
-#
-COMMAND_PROMPT = '[#$] ' ### This is way too simple for industrial use -- we will change is ASAP.
-TERMINAL_PROMPT = r'(?i)terminal type\?'
-TERMINAL_TYPE = 'vt100'
-# This is the prompt we get if SSH does not have the remote host's public key stored in the cache.
-SSH_NEWKEY = '(?i)are you sure you want to continue connecting'
-
-def exit_with_usage():
-
-    print(globals()['__doc__'])
-    os._exit(1)
-
-def main():
-
-    global COMMAND_PROMPT, TERMINAL_PROMPT, TERMINAL_TYPE, SSH_NEWKEY
-    ######################################################################
-    ## Parse the options, arguments, get ready, etc.
-    ######################################################################
-    try:
-        optlist, args = getopt.getopt(sys.argv[1:], 'h?s:u:p:', ['help','h','?'])
-    except Exception as e:
-        print(str(e))
-        exit_with_usage()
-    options = dict(optlist)
-    if len(args) > 1:
-        exit_with_usage()
-
-    if [elem for elem in options if elem in ['-h','--h','-?','--?','--help']]:
-        print("Help:")
-        exit_with_usage()
-
-    if '-s' in options:
-        host = options['-s']
-    else:
-        host = raw_input('hostname: ')
-    if '-u' in options:
-        user = options['-u']
-    else:
-        user = raw_input('username: ')
-    if '-p' in options:
-        password = options['-p']
-    else:
-        password = getpass.getpass('password: ')
-
-    #
-    # Login via SSH
-    #
-    child = pexpect.spawn('ssh -l %s %s'%(user, host))
-    i = child.expect([pexpect.TIMEOUT, SSH_NEWKEY, COMMAND_PROMPT, '(?i)password'])
-    if i == 0: # Timeout
-        print('ERROR! could not login with SSH. Here is what SSH said:')
-        print(child.before, child.after)
-        print(str(child))
-        sys.exit (1)
-    if i == 1: # In this case SSH does not have the public key cached.
-        child.sendline ('yes')
-        child.expect ('(?i)password')
-    if i == 2:
-        # This may happen if a public key was setup to automatically login.
-        # But beware, the COMMAND_PROMPT at this point is very trivial and
-        # could be fooled by some output in the MOTD or login message.
-        pass
-    if i == 3:
-        child.sendline(password)
-        # Now we are either at the command prompt or
-        # the login process is asking for our terminal type.
-        i = child.expect ([COMMAND_PROMPT, TERMINAL_PROMPT])
-        if i == 1:
-            child.sendline (TERMINAL_TYPE)
-            child.expect (COMMAND_PROMPT)
-    #
-    # Set command prompt to something more unique.
-    #
-    COMMAND_PROMPT = r"\[PEXPECT\]\$ "
-    child.sendline (r"PS1='[PEXPECT]\$ '") # In case of sh-style
-    i = child.expect ([pexpect.TIMEOUT, COMMAND_PROMPT], timeout=10)
-    if i == 0:
-        print("# Couldn't set sh-style prompt -- trying csh-style.")
-        child.sendline (r"set prompt='[PEXPECT]\$ '")
-        i = child.expect ([pexpect.TIMEOUT, COMMAND_PROMPT], timeout=10)
-        if i == 0:
-            print("Failed to set command prompt using sh or csh style.")
-            print("Response was:")
-            print(child.before)
-            sys.exit (1)
-
-    # Now we should be at the command prompt and ready to run some commands.
-    print('---------------------------------------')
-    print('Report of commands run on remote host.')
-    print('---------------------------------------')
-
-    # Run uname.
-    child.sendline ('uname -a')
-    child.expect (COMMAND_PROMPT)
-    print(child.before)
-    if 'linux' in child.before.lower():
-        LINUX_MODE = 1
-    else:
-        LINUX_MODE = 0
-
-    # Run and parse 'uptime'.
-    child.sendline ('uptime')
-    child.expect(r'up\s+(.*?),\s+([0-9]+) users?,\s+load averages?: ([0-9]+\.[0-9][0-9]),?\s+([0-9]+\.[0-9][0-9]),?\s+([0-9]+\.[0-9][0-9])')
-    duration, users, av1, av5, av15 = child.match.groups()
-    days = '0'
-    hours = '0'
-    mins = '0'
-    if 'day' in duration:
-        child.match = re.search(r'([0-9]+)\s+day',duration)
-        days = str(int(child.match.group(1)))
-    if ':' in duration:
-        child.match = re.search('([0-9]+):([0-9]+)',duration)
-        hours = str(int(child.match.group(1)))
-        mins = str(int(child.match.group(2)))
-    if 'min' in duration:
-        child.match = re.search(r'([0-9]+)\s+min',duration)
-        mins = str(int(child.match.group(1)))
-    print()
-    print('Uptime: %s days, %s users, %s (1 min), %s (5 min), %s (15 min)' % (
-        duration, users, av1, av5, av15))
-    child.expect (COMMAND_PROMPT)
-
-    # Run iostat.
-    child.sendline ('iostat')
-    child.expect (COMMAND_PROMPT)
-    print(child.before)
-
-    # Run vmstat.
-    child.sendline ('vmstat')
-    child.expect (COMMAND_PROMPT)
-    print(child.before)
-
-    # Run free.
-    if LINUX_MODE:
-        child.sendline ('free') # Linux systems only.
-        child.expect (COMMAND_PROMPT)
-        print(child.before)
-
-    # Run df.
-    child.sendline ('df')
-    child.expect (COMMAND_PROMPT)
-    print(child.before)
-
-    # Run lsof.
-    child.sendline ('lsof')
-    child.expect (COMMAND_PROMPT)
-    print(child.before)
-
-#    # Run netstat
-#    child.sendline ('netstat')
-#    child.expect (COMMAND_PROMPT)
-#    print child.before
-
-#    # Run MySQL show status.
-#    child.sendline ('mysql -p -e "SHOW STATUS;"')
-#    child.expect (PASSWORD_PROMPT_MYSQL)
-#    child.sendline (password_mysql)
-#    child.expect (COMMAND_PROMPT)
-#    print
-#    print child.before
-
-    # Now exit the remote host.
-    child.sendline ('exit')
-    index = child.expect([pexpect.EOF, "(?i)there are stopped jobs"])
-    if index==1:
-        child.sendline("exit")
-        child.expect(EOF)
-
-if __name__ == "__main__":
-    main()
diff --git a/lldb/third_party/Python/module/pexpect-4.6/examples/passmass.py b/lldb/third_party/Python/module/pexpect-4.6/examples/passmass.py
deleted file mode 100755 (executable)
index c1ec4d0..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-#!/usr/bin/env python
-
-'''Change passwords on the named machines. passmass host1 host2 host3 . . .
-Note that login shell prompt on remote machine must end in # or $.
-
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-
-from __future__ import print_function
-
-from __future__ import absolute_import
-
-import pexpect
-import sys, getpass
-
-
-try:
-    raw_input
-except NameError:
-    raw_input = input
-
-
-USAGE = '''passmass host1 host2 host3 . . .'''
-COMMAND_PROMPT = '[$#] '
-TERMINAL_PROMPT = r'Terminal type\?'
-TERMINAL_TYPE = 'vt100'
-SSH_NEWKEY = r'Are you sure you want to continue connecting \(yes/no\)\?'
-
-def login(host, user, password):
-
-    child = pexpect.spawn('ssh -l %s %s'%(user, host))
-    fout = file ("LOG.TXT","wb")
-    child.logfile_read = fout #use child.logfile to also log writes (passwords!)
-
-    i = child.expect([pexpect.TIMEOUT, SSH_NEWKEY, '[Pp]assword: '])
-    if i == 0: # Timeout
-        print('ERROR!')
-        print('SSH could not login. Here is what SSH said:')
-        print(child.before, child.after)
-        sys.exit (1)
-    if i == 1: # SSH does not have the public key. Just accept it.
-        child.sendline ('yes')
-        child.expect ('[Pp]assword: ')
-    child.sendline(password)
-    # Now we are either at the command prompt or
-    # the login process is asking for our terminal type.
-    i = child.expect (['Permission denied', TERMINAL_PROMPT, COMMAND_PROMPT])
-    if i == 0:
-        print('Permission denied on host:', host)
-        sys.exit (1)
-    if i == 1:
-        child.sendline (TERMINAL_TYPE)
-        child.expect (COMMAND_PROMPT)
-    return child
-
-# (current) UNIX password:
-def change_password(child, user, oldpassword, newpassword):
-
-    child.sendline('passwd')
-    i = child.expect(['[Oo]ld [Pp]assword', '.current.*password', '[Nn]ew [Pp]assword'])
-    # Root does not require old password, so it gets to bypass the next step.
-    if i == 0 or i == 1:
-        child.sendline(oldpassword)
-        child.expect('[Nn]ew [Pp]assword')
-    child.sendline(newpassword)
-    i = child.expect(['[Nn]ew [Pp]assword', '[Rr]etype', '[Rr]e-enter'])
-    if i == 0:
-        print('Host did not like new password. Here is what it said...')
-        print(child.before)
-        child.send (chr(3)) # Ctrl-C
-        child.sendline('') # This should tell remote passwd command to quit.
-        return
-    child.sendline(newpassword)
-
-def main():
-
-    if len(sys.argv) <= 1:
-        print(USAGE)
-        return 1
-
-    user = raw_input('Username: ')
-    password = getpass.getpass('Current Password: ')
-    newpassword = getpass.getpass('New Password: ')
-    newpasswordconfirm = getpass.getpass('Confirm New Password: ')
-    if newpassword != newpasswordconfirm:
-        print('New Passwords do not match.')
-        return 1
-
-    for host in sys.argv[1:]:
-        child = login(host, user, password)
-        if child == None:
-            print('Could not login to host:', host)
-            continue
-        print('Changing password on host:', host)
-        change_password(child, user, password, newpassword)
-        child.expect(COMMAND_PROMPT)
-        child.sendline('exit')
-
-if __name__ == '__main__':
-    main()
diff --git a/lldb/third_party/Python/module/pexpect-4.6/examples/python.py b/lldb/third_party/Python/module/pexpect-4.6/examples/python.py
deleted file mode 100755 (executable)
index 44c15e1..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/usr/bin/env python
-
-'''This starts the python interpreter; captures the startup message; then gives
-the user interactive control over the session. Why? For fun...
-
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-
-from __future__ import absolute_import
-from __future__ import print_function
-from __future__ import unicode_literals
-
-import pexpect
-
-# Don't do this unless you like being John Malkovich
-# c = pexpect.spawnu('/usr/bin/env python ./python.py')
-
-# Note that, for Python 3 compatibility reasons, we are using spawnu and
-# importing unicode_literals (above). spawnu accepts Unicode input and
-# unicode_literals makes all string literals in this script Unicode by default.
-c = pexpect.spawnu('/usr/bin/env python')
-
-c.expect('>>>')
-print('And now for something completely different...')
-print(''.join(reversed((c.before))))
-print('Yes, it\'s python, but it\'s backwards.')
-print()
-print('Escape character is \'^]\'.')
-print(c.after, end=' ')
-c.interact()
-c.kill(1)
-print('is alive:', c.isalive())
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/examples/script.py b/lldb/third_party/Python/module/pexpect-4.6/examples/script.py
deleted file mode 100755 (executable)
index c8b9496..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-#!/usr/bin/env python
-
-'''This spawns a sub-shell (bash) and gives the user interactive control. The
-entire shell session is logged to a file called script.log. This behaves much
-like the classic BSD command 'script'.
-
-./script.py [-a] [-c command] {logfilename}
-
-    logfilename : This is the name of the log file. Default is script.log.
-    -a : Append to log file. Default is to overwrite log file.
-    -c : spawn command. Default is to spawn the sh shell.
-
-Example:
-
-    This will start a bash shell and append to the log named my_session.log:
-
-        ./script.py -a -c bash my_session.log
-
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-
-from __future__ import print_function
-
-from __future__ import absolute_import
-
-import os, sys, time, getopt
-import signal, fcntl, termios, struct
-import pexpect
-
-global_pexpect_instance = None # Used by signal handler
-
-def exit_with_usage():
-
-    print(globals()['__doc__'])
-    os._exit(1)
-
-def main():
-
-    ######################################################################
-    # Parse the options, arguments, get ready, etc.
-    ######################################################################
-    try:
-        optlist, args = getopt.getopt(sys.argv[1:], 'h?ac:', ['help','h','?'])
-    except Exception as e:
-        print(str(e))
-        exit_with_usage()
-    options = dict(optlist)
-    if len(args) > 1:
-        exit_with_usage()
-
-    if [elem for elem in options if elem in ['-h','--h','-?','--?','--help']]:
-        print("Help:")
-        exit_with_usage()
-
-    if len(args) == 1:
-        script_filename = args[0]
-    else:
-        script_filename = "script.log"
-    if '-a' in options:
-        fout = open(script_filename, "ab")
-    else:
-        fout = open(script_filename, "wb")
-    if '-c' in options:
-        command = options['-c']
-    else:
-        command = "sh"
-
-    # Begin log with date/time in the form CCCCyymm.hhmmss
-    fout.write ('# %4d%02d%02d.%02d%02d%02d \n' % time.localtime()[:-3])
-
-    ######################################################################
-    # Start the interactive session
-    ######################################################################
-    p = pexpect.spawn(command)
-    p.logfile = fout
-    global global_pexpect_instance
-    global_pexpect_instance = p
-    signal.signal(signal.SIGWINCH, sigwinch_passthrough)
-
-    print("Script recording started. Type ^] (ASCII 29) to escape from the script shell.")
-    p.interact(chr(29))
-    fout.close()
-    return 0
-
-def sigwinch_passthrough (sig, data):
-
-    # Check for buggy platforms (see pexpect.setwinsize()).
-    if 'TIOCGWINSZ' in dir(termios):
-        TIOCGWINSZ = termios.TIOCGWINSZ
-    else:
-        TIOCGWINSZ = 1074295912 # assume
-    s = struct.pack ("HHHH", 0, 0, 0, 0)
-    a = struct.unpack ('HHHH', fcntl.ioctl(sys.stdout.fileno(), TIOCGWINSZ , s))
-    global global_pexpect_instance
-    global_pexpect_instance.setwinsize(a[0],a[1])
-
-if __name__ == "__main__":
-    main()
diff --git a/lldb/third_party/Python/module/pexpect-4.6/examples/ssh_tunnel.py b/lldb/third_party/Python/module/pexpect-4.6/examples/ssh_tunnel.py
deleted file mode 100755 (executable)
index d761911..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-#!/usr/bin/env python
-
-'''This starts an SSH tunnel to a given host. If the SSH process ever dies then
-this script will detect that and restart it. I use this under Cygwin to keep
-open encrypted tunnels to port 25 (SMTP), port 143 (IMAP4), and port 110
-(POP3). I set my mail client to talk to localhost and I keep this script
-running in the background.
-
-Note that this is a rather stupid script at the moment because it just looks to
-see if any ssh process is running. It should really make sure that our specific
-ssh process is running. The problem is that ssh is missing a very useful
-feature. It has no way to report the process id of the background daemon that
-it creates with the -f command. This would be a really useful script if I could
-figure a way around this problem.
-
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-
-from __future__ import print_function
-
-from __future__ import absolute_import
-
-import pexpect
-import getpass
-import time
-
-
-try:
-    raw_input
-except NameError:
-    raw_input = input
-
-
-# SMTP:25 IMAP4:143 POP3:110
-tunnel_command = 'ssh -C -N -f -L 25:127.0.0.1:25 -L 143:127.0.0.1:143 -L 110:127.0.0.1:110 %(user)@%(host)'
-host = raw_input('Hostname: ')
-user = raw_input('Username: ')
-X = getpass.getpass('Password: ')
-
-def get_process_info ():
-
-    # This seems to work on both Linux and BSD, but should otherwise be considered highly UNportable.
-
-    ps = pexpect.run ('ps ax -O ppid')
-    pass
-
-def start_tunnel ():
-
-    try:
-        ssh_tunnel = pexpect.spawn (tunnel_command % globals())
-        ssh_tunnel.expect ('password:')
-        time.sleep (0.1)
-        ssh_tunnel.sendline (X)
-        time.sleep (60) # Cygwin is slow to update process status.
-        ssh_tunnel.expect (pexpect.EOF)
-
-    except Exception as e:
-        print(str(e))
-
-def main ():
-
-    while True:
-        ps = pexpect.spawn ('ps')
-        time.sleep (1)
-        index = ps.expect (['/usr/bin/ssh', pexpect.EOF, pexpect.TIMEOUT])
-        if index == 2:
-            print('TIMEOUT in ps command...')
-            print(str(ps))
-            time.sleep (13)
-        if index == 1:
-            print(time.asctime(), end=' ')
-            print('restarting tunnel')
-            start_tunnel ()
-            time.sleep (11)
-            print('tunnel OK')
-        else:
-            # print 'tunnel OK'
-            time.sleep (7)
-
-if __name__ == '__main__':
-
-    main ()
-
-# This was for older SSH versions that didn't have -f option
-#tunnel_command = 'ssh -C -n -L 25:%(host)s:25 -L 110:%(host)s:110 %(user)s@%(host)s -f nothing.sh'
-#nothing_script = '''#!/bin/sh
-#while true; do sleep 53; done
-#'''
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/examples/table_test.html b/lldb/third_party/Python/module/pexpect-4.6/examples/table_test.html
deleted file mode 100644 (file)
index 5dba0ec..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-<title>TEST</title>
-</head>
-<style type="text/css">
-a {color: #9f9; text-decoration: none}
-a:hover {color: #0f0}
-hr {color: #0f0}
-html,table,body,textarea,input,form
-{
-font-family: "Courier New", Courier, mono; 
-font-size: 8pt; 
-color: #0c0;
-background-color: #020;
-margin:0;
-padding:0;
-border:0;
-}
-input { background-color: #010; }
-textarea {
-border-width:1;
-border-style:solid;
-border-color:#0c0;
-padding:3;
-margin:3;
-}
-</style>
-<script>
-var foo="" +
-" 123456789012345678901234567890123456789012345 789012345678901234567890123456789"+
-"0 2345678901234567890123456789012345678901234 6 89012345678901234567890123456789"+
-"01 34567890123456789012345678901234567890123 567 9012345678901234567890123456789"+
-"012 456789012345678901234567890123456789012 45678 012345678901234567890123456789"+
-"0123 5678901234567890123456789012345678901 3456789 12345678901234567890123456789"+
-"01234 67890123456789012345678901234567890 234567890 2345678901234567890123456789"+
-"012345 789012345678901234567890123456789 12345678901 345678901234567890123456789"+
-"0123456 8901234567890123456789012345678 0123456789012 45678901234567890123456789"+
-"01234567 90123456789012345678901234567 901234567890123 5678901234567890123456789"+
-"012345678 012345678901234567890123456 89012345678901234 678901234567890123456789"+
-"0123456789 1234567890123456789012345 7890123456789012345 78901234567890123456789"+
-"01234567890 23456789012345678901234 678901234567890123456 8901234567890123456789"+
-"012345678901 345678901234567890123 56789012345678901234567 901234567890123456789"+
-"0123456789012 4567890123456789012 4567890123456789012345678 0123456789012345678 "+
-"01234567890123 56789012345678901 345678901234567890123456789 12345678901234567 9"+
-"012345678901234 678901234567890 23456789012  567  01234567890 234567890123456 89"+
-"0123456789012345 7890123456789 123457789012  567  012345678901 3456789012345 789"+
-"01234567890123456 89012345678 012345678901234567890123456789012 45678901234 6789"+
-"012345678901234567 901234567 90123456789 12345678901 34567890123 567890123 56789"+
-"0123456789012345678 0123456 8901234567890  3456789  2345678901234 6789012 456789"+
-"01234567890123456789 12345 7890123456789012       0123456789012345 78901 3456789"+
-"012345678901234567890 234 67890123456789012345678901234567890123456 890 23456789"+
-"0123456789012345678901 3 5678901234567890123456789012345678901234567 9 123456789"+
-"01234567890123456789012 456789012345678901234567890123456789012345678 0123456789";
-function start2()
-{
-    // get the reference for the body
-    //var mybody = document.getElementsByTagName("body")[0];
-    var mybody = document.getElementById("replace_me");
-    var myroot = document.getElementById("a_parent");
-    mytable = document.createElement("table");
-    mytablebody = document.createElement("tbody");
-    mytable.setAttribute("border","0");
-    mytable.setAttribute("cellspacing","0");
-    mytable.setAttribute("cellpadding","0");
-    for(var j = 0; j < 24; j++)
-    {
-        mycurrent_row = document.createElement("tr");
-        for(var i = 0; i < 80; i++)
-        {
-            mycurrent_cell = document.createElement("td");
-            offset = (j*80)+i;
-            currenttext = document.createTextNode(foo.substring(offset,offset+1));
-            mycurrent_cell.appendChild(currenttext);
-            mycurrent_row.appendChild(mycurrent_cell);
-        }
-        mytablebody.appendChild(mycurrent_row);
-    }
-    mytable.appendChild(mytablebody);
-    myroot.replaceChild(mytable,mybody);
-    //mybody.appendChild(mytable);
-}
-</script>
-<body onload="start2();">
-<table align="LEFT" border="0" cellspacing="0" cellpadding="0">
-<div id="a_parent">
-<span id="replace_me">
-<tr align="left" valign="left">
-    <td>/</td>
-    <td>h</td>
-    <td>o</td>
-    <td>m</td>
-    <td>e</td>
-    <td>/</td>
-    <td>n</td>
-    <td>o</td>
-    <td>a</td>
-    <td>h</td>
-    <td>/</td>
-    <td>&nbsp;</td>
-</tr>
-</table>
-</span>
-</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/lldb/third_party/Python/module/pexpect-4.6/examples/topip.py b/lldb/third_party/Python/module/pexpect-4.6/examples/topip.py
deleted file mode 100755 (executable)
index 64dac30..0000000
+++ /dev/null
@@ -1,299 +0,0 @@
-#!/usr/bin/env python
-
-''' This runs netstat on a local or remote server. It calculates some simple
-statistical information on the number of external inet connections. It groups
-by IP address. This can be used to detect if one IP address is taking up an
-excessive number of connections. It can also send an email alert if a given IP
-address exceeds a threshold between runs of the script. This script can be used
-as a drop-in Munin plugin or it can be used stand-alone from cron. I used this
-on a busy web server that would sometimes get hit with denial of service
-attacks. This made it easy to see if a script was opening many multiple
-connections. A typical browser would open fewer than 10 connections at once.
-A script might open over 100 simultaneous connections.
-
-./topip.py [-s server_hostname] [-u username] [-p password]
-        {-a from_addr,to_addr} {-n N} {-v} {--ipv6}
-
-    -s : hostname of the remote server to login to.
-    -u : username to user for login.
-    -p : password to user for login.
-    -n : print stddev for the the number of the top 'N' ipaddresses.
-    -v : verbose - print stats and list of top ipaddresses.
-    -a : send alert if stddev goes over 20.
-    -l : to log message to /var/log/topip.log
-    --ipv6 : this parses netstat output that includes ipv6 format.
-        Note that this actually only works with ipv4 addresses, but for
-        versions of netstat that print in ipv6 format.
-    --stdev=N : Where N is an integer. This sets the trigger point
-        for alerts and logs. Default is to trigger if the
-        max value is over 5 standard deviations.
-
-Example:
-
-    This will print stats for the top IP addresses connected to the given host:
-
-        ./topip.py -s www.example.com -u mylogin -p mypassword -n 10 -v
-
-    This will send an alert email if the maxip goes over the stddev trigger
-    value and the the current top ip is the same as the last top ip
-    (/tmp/topip.last):
-
-        ./topip.py -s www.example.com -u mylogin -p mypassword \\
-                -n 10 -v -a alert@example.com,user@example.com
-
-    This will print the connection stats for the localhost in Munin format:
-
-        ./topip.py
-
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-
-from __future__ import absolute_import
-from __future__ import print_function
-from __future__ import unicode_literals
-
-# See http://pexpect.sourceforge.net/
-import pexpect
-import pxssh
-import os
-import sys
-import time
-import getopt
-import pickle
-import getpass
-import smtplib
-from pprint import pprint
-
-
-try:
-    raw_input
-except NameError:
-    raw_input = input
-
-
-TOPIP_LOG_FILE = '/var/log/topip.log'
-TOPIP_LAST_RUN_STATS = '/var/run/topip.last'
-
-def exit_with_usage():
-
-    print(globals()['__doc__'])
-    os._exit(1)
-
-def stats(r):
-
-    '''This returns a dict of the median, average, standard deviation,
-    min and max of the given sequence.
-
-    >>> from topip import stats
-    >>> print stats([5,6,8,9])
-    {'med': 8, 'max': 9, 'avg': 7.0, 'stddev': 1.5811388300841898, 'min': 5}
-    >>> print stats([1000,1006,1008,1014])
-    {'med': 1008, 'max': 1014, 'avg': 1007.0, 'stddev': 5.0, 'min': 1000}
-    >>> print stats([1,3,4,5,18,16,4,3,3,5,13])
-    {'med': 4, 'max': 18, 'avg': 6.8181818181818183, 'stddev': 5.6216817577237475, 'min': 1}
-    >>> print stats([1,3,4,5,18,16,4,3,3,5,13,14,5,6,7,8,7,6,6,7,5,6,4,14,7])
-    {'med': 6, 'max': 18, 'avg': 7.0800000000000001, 'stddev': 4.3259218670706474, 'min': 1}
-    '''
-
-    total = sum(r)
-    avg = float(total)/float(len(r))
-    sdsq = sum([(i-avg)**2 for i in r])
-    s = sorted(list(r))
-    return dict(list(zip(['med', 'avg', 'stddev', 'min', 'max'],
-        (s[len(s)//2], avg, (sdsq/len(r))**.5, min(r), max(r)))))
-
-def send_alert (message, subject, addr_from, addr_to, smtp_server='localhost'):
-
-    '''This sends an email alert.
-    '''
-
-    message = ( 'From: %s\r\nTo: %s\r\nSubject: %s\r\n\r\n'
-            % (addr_from, addr_to, subject) + message )
-    server = smtplib.SMTP(smtp_server)
-    server.sendmail(addr_from, addr_to, message)
-    server.quit()
-
-def main():
-
-    # Parse the options, arguments, etc.
-    try:
-        optlist, args = getopt.getopt(sys.argv[1:],
-                'h?valqs:u:p:n:', ['help','h','?','ipv6','stddev='])
-    except Exception as e:
-        print(str(e))
-        exit_with_usage()
-    options = dict(optlist)
-
-    munin_flag = False
-    if len(args) > 0:
-        if args[0] == 'config':
-            print('graph_title Netstat Connections per IP')
-            print('graph_vlabel Socket connections per IP')
-            print('connections_max.label max')
-            print('connections_max.info Maximum number of connections per IP')
-            print('connections_avg.label avg')
-            print('connections_avg.info Average number of connections per IP')
-            print('connections_stddev.label stddev')
-            print('connections_stddev.info Standard deviation')
-            return 0
-        elif args[0] != '':
-            print(args, len(args))
-            return 0
-            exit_with_usage()
-    if [elem for elem in options if elem in ['-h','--h','-?','--?','--help']]:
-        print('Help:')
-        exit_with_usage()
-    if '-s' in options:
-        hostname = options['-s']
-    else:
-        # if host was not specified then assume localhost munin plugin.
-        munin_flag = True
-        hostname = 'localhost'
-    # If localhost then don't ask for username/password.
-    if hostname != 'localhost' and hostname != '127.0.0.1':
-        if '-u' in options:
-            username = options['-u']
-        else:
-            username = raw_input('username: ')
-        if '-p' in options:
-            password = options['-p']
-        else:
-            password = getpass.getpass('password: ')
-        use_localhost = False
-    else:
-        use_localhost = True
-
-    if '-l' in options:
-        log_flag = True
-    else:
-        log_flag = False
-    if '-n' in options:
-        average_n = int(options['-n'])
-    else:
-        average_n = None
-    if '-v' in options:
-        verbose = True
-    else:
-        verbose = False
-    if '-a' in options:
-        alert_flag = True
-        (alert_addr_from, alert_addr_to) = tuple(options['-a'].split(','))
-    else:
-        alert_flag = False
-    if '--ipv6' in options:
-        ipv6_flag = True
-    else:
-        ipv6_flag = False
-    if '--stddev' in options:
-        stddev_trigger = float(options['--stddev'])
-    else:
-        stddev_trigger = 5
-
-    if ipv6_flag:
-        netstat_pattern = r'(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+::ffff:(\S+):(\S+)\s+.*?\r'
-    else:
-        netstat_pattern = r'(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(?:::ffff:)*(\S+):(\S+)\s+.*?\r'
-        #netstat_pattern = r'(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+):(\S+)\s+.*?\r'
-
-    # run netstat (either locally or via SSH).
-    if use_localhost:
-        p = pexpect.spawn('netstat -n -t')
-        PROMPT = pexpect.TIMEOUT
-    else:
-        p = pxssh.pxssh()
-        p.login(hostname, username, password)
-        p.sendline('netstat -n -t')
-        PROMPT = p.PROMPT
-
-    # For each matching netstat_pattern put the ip address in the list.
-    ip_list = {}
-    try:
-        while 1:
-            i = p.expect([PROMPT, netstat_pattern])
-            if i == 0:
-                break
-            k = p.match.groups()[4].decode('utf-8')
-            if k in ip_list:
-                ip_list[k] = ip_list[k] + 1
-            else:
-                ip_list[k] = 1
-    except:
-        pass
-
-    # remove a few common, uninteresting addresses from the dictionary.
-    ip_list = dict([ (key,value) for key,value in ip_list.items() if '192.168.' not in key])
-    ip_list = dict([ (key,value) for key,value in ip_list.items() if '127.0.0.1' not in key])
-
-    ip_list = list(ip_list.items())
-    if len(ip_list) < 1:
-        if verbose: print('Warning: no networks connections worth looking at.')
-        return 0
-    ip_list.sort(key=lambda x:x[1])
-
-    # generate some stats for the ip addresses found.
-    if average_n is not None and average_n <= 1:
-        average_n = None
-    # Reminder: the * unary operator treats the list elements as arguments.
-    zipped = zip(*ip_list[0:average_n])
-    s = stats(list(zipped)[1])
-    s['maxip'] = ip_list[0]
-
-    # print munin-style or verbose results for the stats.
-    if munin_flag:
-        print('connections_max.value', s['max'])
-        print('connections_avg.value', s['avg'])
-        print('connections_stddev.value', s['stddev'])
-        return 0
-    if verbose:
-        pprint (s)
-        print()
-        pprint (ip_list[0:average_n])
-
-    # load the stats from the last run.
-    try:
-        last_stats = pickle.load(file(TOPIP_LAST_RUN_STATS))
-    except:
-        last_stats = {'maxip':None}
-
-    if ( s['maxip'][1] > (s['stddev'] * stddev_trigger)
-            and s['maxip']==last_stats['maxip'] ):
-        if verbose: print('The maxip has been above trigger for two consecutive samples.')
-        if alert_flag:
-            if verbose: print('SENDING ALERT EMAIL')
-            send_alert(str(s), 'ALERT on %s'
-                    % hostname, alert_addr_from, alert_addr_to)
-        if log_flag:
-            if verbose: print('LOGGING THIS EVENT')
-            fout = file(TOPIP_LOG_FILE,'a')
-            #dts = time.strftime('%Y:%m:%d:%H:%M:%S', time.localtime())
-            dts = time.asctime()
-            fout.write ('%s - %d connections from %s\n'
-                    % (dts,s['maxip'][1],str(s['maxip'][0])))
-            fout.close()
-
-    # save state to TOPIP_LAST_RUN_STATS
-    try:
-        pickle.dump(s, file(TOPIP_LAST_RUN_STATS,'w'))
-        os.chmod (TOPIP_LAST_RUN_STATS, 0o664)
-    except:
-        pass
-    # p.logout()
-
-if __name__ == '__main__':
-    main()
diff --git a/lldb/third_party/Python/module/pexpect-4.6/examples/uptime.py b/lldb/third_party/Python/module/pexpect-4.6/examples/uptime.py
deleted file mode 100755 (executable)
index 86b8dff..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-#!/usr/bin/env python
-
-'''This displays uptime information using uptime. This is redundant,
-but it demonstrates expecting for a regular expression that uses subgroups.
-
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-
-from __future__ import absolute_import
-from __future__ import print_function
-from __future__ import unicode_literals
-
-import pexpect
-import re
-
-# There are many different styles of uptime results. I try to parse them all. Yeee!
-# Examples from different machines:
-# [x86] Linux 2.4 (Redhat 7.3)
-#  2:06pm  up 63 days, 18 min,  3 users,  load average: 0.32, 0.08, 0.02
-# [x86] Linux 2.4.18-14 (Redhat 8.0)
-#  3:07pm  up 29 min,  1 user,  load average: 2.44, 2.51, 1.57
-# [PPC - G4] MacOS X 10.1 SERVER Edition
-# 2:11PM  up 3 days, 13:50, 3 users, load averages: 0.01, 0.00, 0.00
-# [powerpc] Darwin v1-58.corefa.com 8.2.0 Darwin Kernel Version 8.2.0
-# 10:35  up 18:06, 4 users, load averages: 0.52 0.47 0.36
-# [Sparc - R220] Sun Solaris (8)
-#  2:13pm  up 22 min(s),  1 user,  load average: 0.02, 0.01, 0.01
-# [x86] Linux 2.4.18-14 (Redhat 8)
-# 11:36pm  up 4 days, 17:58,  1 user,  load average: 0.03, 0.01, 0.00
-# AIX jwdir 2 5 0001DBFA4C00
-#  09:43AM   up  23:27,  1 user,  load average: 0.49, 0.32, 0.23
-# OpenBSD box3 2.9 GENERIC#653 i386
-#  6:08PM  up 4 days, 22:26, 1 user, load averages: 0.13, 0.09, 0.08
-
-# Note that, for Python 3 compatibility reasons, we are using spawnu and
-# importing unicode_literals (above). spawnu accepts Unicode input and
-# unicode_literals makes all string literals in this script Unicode by default.
-p = pexpect.spawnu('uptime')
-
-# This parses uptime output into the major groups using regex group matching.
-p.expect(r'up\s+(.*?),\s+([0-9]+) users?,\s+load averages?: ([0-9]+\.[0-9][0-9]),?\s+([0-9]+\.[0-9][0-9]),?\s+([0-9]+\.[0-9][0-9])')
-duration, users, av1, av5, av15 = p.match.groups()
-
-# The duration is a little harder to parse because of all the different
-# styles of uptime. I'm sure there is a way to do this all at once with
-# one single regex, but I bet it would be hard to read and maintain.
-# If anyone wants to send me a version using a single regex I'd be happy to see it.
-days = '0'
-hours = '0'
-mins = '0'
-if 'day' in duration:
-    p.match = re.search(r'([0-9]+)\s+day',duration)
-    days = str(int(p.match.group(1)))
-if ':' in duration:
-    p.match = re.search('([0-9]+):([0-9]+)',duration)
-    hours = str(int(p.match.group(1)))
-    mins = str(int(p.match.group(2)))
-if 'min' in duration:
-    p.match = re.search(r'([0-9]+)\s+min',duration)
-    mins = str(int(p.match.group(1)))
-
-# Print the parsed fields in CSV format.
-print('days, hours, minutes, users, cpu avg 1 min, cpu avg 5 min, cpu avg 15 min')
-print('%s, %s, %s, %s, %s, %s, %s' % (days, hours, mins, users, av1, av5, av15))
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/notes/my_forkpty.py b/lldb/third_party/Python/module/pexpect-4.6/notes/my_forkpty.py
deleted file mode 100644 (file)
index f2bef23..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-import os, fcntl, termios
-import time
-
-def my_forkpty():
-
-    (master_fd, slave_fd) = os.openpty()
-
-    if (master_fd < 0  or  slave_fd < 0):
-        raise ExceptionPexpect("Forkpty failed")
-
-    # slave_name = ptsname(master_fd);
-
-    pid = os.fork();
-    if pid == -1:
-        raise ExceptionPexpect("Forkpty failed")
-    elif pid == 0: # Child
-        if hasattr(termios, 'TIOCNOTTY'):
-        #        Some platforms require an explicit detach of the
-        #        current controlling tty before closing stdin, stdout, stderr.
-        #        OpenBSD says that this is obsolete, but doesn't hurt.
-            try:
-                fd = os.open("/dev/tty", os.O_RDWR | os.O_NOCTTY)
-            except:
-                pass
-            else: #if fd >= 0:
-                fcntl.ioctl(fd, termios.TIOCNOTTY, 0)
-                os.close(fd)
-
-        # The setsid() system call will place the process into its own session
-        # which has the effect of disassociating it from the controlling terminal.
-        # This is known to be true for OpenBSD.
-        os.setsid()
-        # except:            return posix_error();
-
-        # Verify that we are disconnected from the controlling tty.
-        try:
-            fd = os.open("/dev/tty", os.O_RDWR | os.O_NOCTTY)
-            os.close(fd)
-            raise ExceptionPexpect("Forkpty failed")
-        except:
-            pass
-        if 'TIOCSCTTY' in dir(termios):
-            # Make the pseudo terminal the controlling terminal for this process
-            # (the process must not currently have a controlling terminal).
-            if fcntl.ioctl(slave_fd, termios.TIOCSCTTY, '') < 0:
-                raise ExceptionPexpect("Forkpty failed")
-
-#        # Verify that we can open to the slave pty file. */
-#        fd = os.open(slave_name, os.O_RDWR);
-#        if fd < 0:
-#            raise ExceptionPexpect("Forkpty failed")
-#        else:
-#            os.close(fd);
-
-        # Verify that we now have a controlling tty.
-        fd = os.open("/dev/tty", os.O_WRONLY)
-        if fd < 0:
-            raise ExceptionPexpect("This process could not get a controlling tty.")
-        else:
-            os.close(fd)
-
-        os.close(master_fd)
-        os.dup2(slave_fd, 0)
-        os.dup2(slave_fd, 1)
-        os.dup2(slave_fd, 2)
-        if slave_fd > 2:
-            os.close(slave_fd)
-        pid = 0
-
-    else:
-        # PARENT 
-        os.close(slave_fd);
-
-    if pid == -1:
-        raise ExceptionPexpect("This process could not get a controlling tty.")
-#    if (pid == 0)
-#        PyOS_AfterFork();
-
-    return (pid, master_fd)
-
-pid, fd = my_forkpty ()
-if pid == 0: # child
-    print 'I am not a robot!'
-else:
-    print '(pid, fd) = (%d, %d)' % (pid, fd)
-    time.sleep(1) # Give the child a chance to print.
-    print 'Robots always say:', os.read(fd,100)
-    os.close(fd)
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/notes/notes.txt b/lldb/third_party/Python/module/pexpect-4.6/notes/notes.txt
deleted file mode 100644 (file)
index 8ff6cfe..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-
-####################
-#
-#        NOTES
-#
-####################
-
-##    def send_human(self, text, delay_min = 0, delay_max = 1):
-##        pass
-##    def spawn2(self, command, args):
-##        """return pid, fd_stdio, fd_stderr
-##        """
-##        pass
-
-
-# Reason for double fork:
-# http://www.erlenstar.demon.co.uk/unix/faq_2.html#SEC15
-# Reason for ptys:
-# http://www.erlenstar.demon.co.uk/unix/faq_4.html#SEC52
-
-# Nonblocking on Win32?
-# Research this as a way to maybe make pipe work for Win32.
-# http://groups.google.com/groups?q=setraw+tty&hl=en&selm=uvgpvisvk.fsf%40roundpoint.com&rnum=7
-# 
-#    if istty:
-#        if os.name=='posix':
-#            import tty
-#            tty.setraw(sys.stdin.fileno())
-#        elif os.name=='nt':
-#            import win32file, win32con
-#            hstdin = win32file._get_osfhandle(sys.stdin.fileno())
-#            modes = (win32file.GetConsoleMode(hstdin)
-#                     & ~(win32con.ENABLE_LINE_INPUT
-#                         |win32con.ENABLE_ECHO_INPUT))
-#            win32file.SetConsoleMode(hstdin, modes)
-
-# Basic documentation:
-#       Explain use of lists of patterns and return index.
-#       Explain exceptions for non-handled special cases like EOF
-
-# Test bad fork
-# Test ENOENT. In other words, no more TTY devices.
-
-#GLOBAL_SIGCHLD_RECEIVED = 0
-#def childdied (signum, frame):
-#    print 'Signal handler called with signal', signum
-#    frame.f_globals['pexpect'].GLOBAL_SIGCHLD_RECEIVED = 1
-#    print str(frame.f_globals['pexpect'].GLOBAL_SIGCHLD_RECEIVED)
-#    GLOBAL_SIGCHLD_RECEIVED = 1
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/notes/posixmodule.c.diff b/lldb/third_party/Python/module/pexpect-4.6/notes/posixmodule.c.diff
deleted file mode 100644 (file)
index 3bea1f9..0000000
+++ /dev/null
@@ -1,233 +0,0 @@
-*** Python-2.2.1.orig/Modules/posixmodule.c    Tue Mar 12 16:38:31 2002
---- Python-2.2.1/Modules/posixmodule.c Tue May 21 01:16:29 2002
-***************
-*** 1904,1910 ****
-  }
-  #endif
-  
-! #if defined(HAVE_OPENPTY) || defined(HAVE_FORKPTY)
-  #ifdef HAVE_PTY_H
-  #include <pty.h>
-  #else
---- 1904,1913 ----
-  }
-  #endif
-  
-! #if defined(HAVE_OPENPTY) || defined(HAVE_FORKPTY) || defined(sun)
-! #ifdef sun
-! #include <sys/stropts.h>
-! #endif
-  #ifdef HAVE_PTY_H
-  #include <pty.h>
-  #else
-***************
-*** 1914,1920 ****
-  #endif /* HAVE_PTY_H */
-  #endif /* defined(HAVE_OPENPTY) || defined(HAVE_FORKPTY) */
-  
-! #if defined(HAVE_OPENPTY) || defined(HAVE__GETPTY)
-  static char posix_openpty__doc__[] =
-  "openpty() -> (master_fd, slave_fd)\n\
-  Open a pseudo-terminal, returning open fd's for both master and slave end.\n";
---- 1917,1923 ----
-  #endif /* HAVE_PTY_H */
-  #endif /* defined(HAVE_OPENPTY) || defined(HAVE_FORKPTY) */
-  
-! #if defined(HAVE_OPENPTY) || defined(HAVE__GETPTY) || defined(sun)
-  static char posix_openpty__doc__[] =
-  "openpty() -> (master_fd, slave_fd)\n\
-  Open a pseudo-terminal, returning open fd's for both master and slave end.\n";
-***************
-*** 1925,1932 ****
-       int master_fd, slave_fd;
-  #ifndef HAVE_OPENPTY
-       char * slave_name;
-  #endif
-! 
-       if (!PyArg_ParseTuple(args, ":openpty"))
-               return NULL;
-  
---- 1928,1941 ----
-       int master_fd, slave_fd;
-  #ifndef HAVE_OPENPTY
-       char * slave_name;
-+ #ifdef sun
-+         void *sig_saved;
-  #endif
-! #endif
-! #if !defined(HAVE_OPENPTY) && !defined(HAVE__GETPTY) && defined(sun)
-!         extern char *ptsname();
-! #endif
-!         
-       if (!PyArg_ParseTuple(args, ":openpty"))
-               return NULL;
-  
-***************
-*** 1933,1939 ****
-  #ifdef HAVE_OPENPTY
-       if (openpty(&master_fd, &slave_fd, NULL, NULL, NULL) != 0)
-               return posix_error();
-! #else
-       slave_name = _getpty(&master_fd, O_RDWR, 0666, 0);
-       if (slave_name == NULL)
-               return posix_error();
---- 1942,1948 ----
-  #ifdef HAVE_OPENPTY
-       if (openpty(&master_fd, &slave_fd, NULL, NULL, NULL) != 0)
-               return posix_error();
-! #elif HAVE__GETPTY
-       slave_name = _getpty(&master_fd, O_RDWR, 0666, 0);
-       if (slave_name == NULL)
-               return posix_error();
-***************
-*** 1941,1946 ****
---- 1950,1966 ----
-       slave_fd = open(slave_name, O_RDWR);
-       if (slave_fd < 0)
-               return posix_error();
-+ #else
-+         master_fd = open("/dev/ptmx", O_RDWR|O_NOCTTY);  /* open master */
-+         sig_saved = signal(SIGCHLD, SIG_DFL);
-+         grantpt(master_fd);                     /* change permission of   slave */
-+         unlockpt(master_fd);                    /* unlock slave */
-+         signal(SIGCHLD,sig_saved);
-+         slave_name = ptsname(master_fd);         /* get name of slave */
-+         slave_fd = open(slave_name, O_RDWR);    /* open slave */
-+         ioctl(slave_fd, I_PUSH, "ptem");       /* push ptem */
-+         ioctl(slave_fd, I_PUSH, "ldterm");     /* push ldterm*/
-+         ioctl(slave_fd, I_PUSH, "ttcompat");     /* push ttcompat*/
-  #endif /* HAVE_OPENPTY */
-  
-       return Py_BuildValue("(ii)", master_fd, slave_fd);
-***************
-*** 1948,1954 ****
-  }
-  #endif /* defined(HAVE_OPENPTY) || defined(HAVE__GETPTY) */
-  
-! #ifdef HAVE_FORKPTY
-  static char posix_forkpty__doc__[] =
-  "forkpty() -> (pid, master_fd)\n\
-  Fork a new process with a new pseudo-terminal as controlling tty.\n\n\
---- 1968,1974 ----
-  }
-  #endif /* defined(HAVE_OPENPTY) || defined(HAVE__GETPTY) */
-  
-! #if defined(HAVE_FORKPTY) || defined(sun)
-  static char posix_forkpty__doc__[] =
-  "forkpty() -> (pid, master_fd)\n\
-  Fork a new process with a new pseudo-terminal as controlling tty.\n\n\
-***************
-*** 1959,1968 ****
---- 1979,2067 ----
-  posix_forkpty(PyObject *self, PyObject *args)
-  {
-       int master_fd, pid;
-+ #if defined(sun)
-+         int slave;
-+      char * slave_name;
-+         void *sig_saved;
-+         int fd;
-+ #endif
-       
-       if (!PyArg_ParseTuple(args, ":forkpty"))
-               return NULL;
-+ #if defined(sun)
-+         master_fd = open("/dev/ptmx", O_RDWR|O_NOCTTY);  /* open master */
-+         sig_saved = signal(SIGCHLD, SIG_DFL);
-+         grantpt(master_fd);                     /* change permission of   slave */
-+         unlockpt(master_fd);                    /* unlock slave */
-+         signal(SIGCHLD,sig_saved);
-+         slave_name = ptsname(master_fd);         /* get name of slave */
-+         slave = open(slave_name, O_RDWR);    /* open slave */
-+         ioctl(slave, I_PUSH, "ptem");       /* push ptem */
-+         ioctl(slave, I_PUSH, "ldterm");     /* push ldterm*/
-+         ioctl(slave, I_PUSH, "ttcompat");     /* push ttcompat*/
-+         if (master_fd < 0 || slave < 0)
-+         {
-+             return posix_error();
-+         }
-+      switch (pid = fork()) {
-+      case -1:        
-+             return posix_error();
-+      case 0:
-+             /* First disconnect from the old controlling tty. */
-+ #ifdef TIOCNOTTY
-+             fd = open("/dev/tty", O_RDWR | O_NOCTTY);
-+             if (fd >= 0) {
-+              (void) ioctl(fd, TIOCNOTTY, NULL);
-+              close(fd);
-+             }
-+ #endif /* TIOCNOTTY */
-+             if (setsid() < 0)
-+              return posix_error();
-+             
-+             /*
-+              * Verify that we are successfully disconnected from the controlling
-+              * tty.
-+              */
-+             fd = open("/dev/tty", O_RDWR | O_NOCTTY);
-+             if (fd >= 0) {
-+              return posix_error();
-+              close(fd);
-+             }
-+             /* Make it our controlling tty. */
-+ #ifdef TIOCSCTTY
-+             if (ioctl(slave, TIOCSCTTY, NULL) < 0)
-+              return posix_error();
-+ #endif /* TIOCSCTTY */
-+             fd = open(slave_name, O_RDWR);
-+             if (fd < 0) {
-+              return posix_error();
-+             } else {
-+              close(fd);
-+             }
-+             /* Verify that we now have a controlling tty. */
-+             fd = open("/dev/tty", O_WRONLY);
-+             if (fd < 0)
-+              return posix_error();
-+             else {
-+              close(fd);
-+             }
-+             (void) close(master_fd);
-+             (void) dup2(slave, 0);
-+             (void) dup2(slave, 1);
-+             (void) dup2(slave, 2);
-+             if (slave > 2)
-+                 (void) close(slave);
-+             pid = 0;
-+             break;
-+           defautlt:
-+             /*
-+              * parent
-+              */
-+             (void) close(slave);
-+      }
-+ #else
-       pid = forkpty(&master_fd, NULL, NULL, NULL);
-+ #endif
-       if (pid == -1)
-               return posix_error();
-       if (pid == 0)
-***************
-*** 5607,5616 ****
-  #ifdef HAVE_FORK
-       {"fork",        posix_fork, METH_VARARGS, posix_fork__doc__},
-  #endif /* HAVE_FORK */
-! #if defined(HAVE_OPENPTY) || defined(HAVE__GETPTY)
-       {"openpty",     posix_openpty, METH_VARARGS, posix_openpty__doc__},
-  #endif /* HAVE_OPENPTY || HAVE__GETPTY */
-! #ifdef HAVE_FORKPTY
-       {"forkpty",     posix_forkpty, METH_VARARGS, posix_forkpty__doc__},
-  #endif /* HAVE_FORKPTY */
-  #ifdef HAVE_GETEGID
---- 5706,5715 ----
-  #ifdef HAVE_FORK
-       {"fork",        posix_fork, METH_VARARGS, posix_fork__doc__},
-  #endif /* HAVE_FORK */
-! #if defined(HAVE_OPENPTY) || defined(HAVE__GETPTY) || defined(sun)
-       {"openpty",     posix_openpty, METH_VARARGS, posix_openpty__doc__},
-  #endif /* HAVE_OPENPTY || HAVE__GETPTY */
-! #if defined(HAVE_FORKPTY) || defined(sun)
-       {"forkpty",     posix_forkpty, METH_VARARGS, posix_forkpty__doc__},
-  #endif /* HAVE_FORKPTY */
-  #ifdef HAVE_GETEGID
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/PexpectTestCase.py b/lldb/third_party/Python/module/pexpect-4.6/tests/PexpectTestCase.py
deleted file mode 100644 (file)
index 307437e..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-from __future__ import print_function
-
-import contextlib
-import unittest
-import signal
-import sys
-import os
-
-
-class PexpectTestCase(unittest.TestCase):
-    def setUp(self):
-        self.PYTHONBIN = sys.executable
-        self.original_path = os.getcwd()
-        tests_dir = os.path.dirname(__file__)
-        self.project_dir = project_dir = os.path.dirname(tests_dir)
-
-        # all tests are executed in this folder; there are many auxiliary
-        # programs in this folder executed by spawn().
-        os.chdir(tests_dir)
-
-        # If the pexpect raises an exception after fork(), but before
-        # exec(), our test runner *also* forks.  We prevent this by
-        # storing our pid and asserting equality on tearDown.
-        self.pid = os.getpid()
-
-        coverage_rc = os.path.join(project_dir, '.coveragerc')
-        os.environ['COVERAGE_PROCESS_START'] = coverage_rc
-        os.environ['COVERAGE_FILE'] = os.path.join(project_dir, '.coverage')
-        print('\n', self.id(), end=' ')
-        sys.stdout.flush()
-
-        # some build agents will ignore SIGHUP and SIGINT, which python
-        # inherits.  This causes some of the tests related to terminate()
-        # to fail.  We set them to the default handlers that they should
-        # be, and restore them back to their SIG_IGN value on tearDown.
-        #
-        # I'm not entirely convinced they need to be restored, only our
-        # test runner is affected.
-        self.restore_ignored_signals = [
-            value for value in (signal.SIGHUP, signal.SIGINT,)
-            if signal.getsignal(value) == signal.SIG_IGN]
-        if signal.SIGHUP in self.restore_ignored_signals:
-            # sighup should be set to default handler
-            signal.signal(signal.SIGHUP, signal.SIG_DFL)
-        if signal.SIGINT in self.restore_ignored_signals:
-            # SIGINT should be set to signal.default_int_handler
-            signal.signal(signal.SIGINT, signal.default_int_handler)
-        unittest.TestCase.setUp(self)
-
-    def tearDown(self):
-        # restore original working folder
-        os.chdir(self.original_path)
-
-        if self.pid != os.getpid():
-            # The build server pattern-matches phrase 'Test runner has forked!'
-            print("Test runner has forked! This means a child process raised "
-                  "an exception before exec() in a test case, the error is "
-                  "more than likely found above this line in stderr.",
-                  file=sys.stderr)
-            exit(1)
-
-        # restore signal handlers
-        for signal_value in self.restore_ignored_signals:
-            signal.signal(signal_value, signal.SIG_IGN)
-
-    if sys.version_info < (2, 7):
-        # We want to use these methods, which are new/improved in 2.7, but
-        # we are still supporting 2.6 for the moment. This section can be
-        # removed when we drop Python 2.6 support.
-        @contextlib.contextmanager
-        def assertRaises(self, excClass):
-            try:
-                yield
-            except Exception as e:
-                assert isinstance(e, excClass)
-            else:
-                raise AssertionError("%s was not raised" % excClass)
-
-        @contextlib.contextmanager
-        def assertRaisesRegexp(self, excClass, pattern):
-            import re
-            try:
-                yield
-            except Exception as e:
-                assert isinstance(e, excClass)
-                assert re.match(pattern, str(e))
-            else:
-                raise AssertionError("%s was not raised" % excClass)
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/README b/lldb/third_party/Python/module/pexpect-4.6/tests/README
deleted file mode 100644 (file)
index ef5b613..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-
-The best way to run these tests is from the directory above this one. Run:
-
-    py.test
-
-To run a specific test file:
-
-    py.test tests/test_constructor.py
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/TESTDATA.txt b/lldb/third_party/Python/module/pexpect-4.6/tests/TESTDATA.txt
deleted file mode 100644 (file)
index adb9c01..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-This is test data.
-    One
-    2
-    THREE
-    IV
-    .....
-    110
-This is the end of test data: END
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/__init__.py b/lldb/third_party/Python/module/pexpect-4.6/tests/__init__.py
deleted file mode 100755 (executable)
index f717d82..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-
-# __init__.py
-# The mere presence of this file makes the dir a package.
-pass
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/adhoc.py b/lldb/third_party/Python/module/pexpect-4.6/tests/adhoc.py
deleted file mode 100755 (executable)
index 0813d34..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-from  __future__ import print_function
-
-import pexpect
-import time
-
-p = pexpect.spawn ('./a.out')
-print(p.exitstatus)
-p.expect (pexpect.EOF)
-print(p.before)
-time.sleep(1)
-print('exitstatus:', p.exitstatus)
-print('isalive',p.isalive())
-print('exitstatus',p.exitstatus)
-print('isalive',p.isalive())
-print('exitstatus',p.exitstatus)
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/alarm_die.py b/lldb/third_party/Python/module/pexpect-4.6/tests/alarm_die.py
deleted file mode 100644 (file)
index a1519ab..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-import signal, time
-
-signal.alarm(1) # Schedule SIGALRM in 1s
-
-time.sleep(6)
\ No newline at end of file
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/bambi.vt b/lldb/third_party/Python/module/pexpect-4.6/tests/bambi.vt
deleted file mode 100644 (file)
index 853f099..0000000
+++ /dev/null
@@ -1,417 +0,0 @@
-\e[?25l
-\e[1;24r
-\e[2J
-\e[10;1H                         The
-\e[10;1H                         The Adventures
-\e[10;1H                         The Adventures of
-\e[10;1H                         The Adventures of BAMBI
-\e[16;1H                                                            
-\e[15;1H                     Number
-\e[15;1H                     Number One :
-\e[15;1H                     Number One : BAMBI
-\e[15;1H                     Number One : BAMBI versus
-\e[15;1H                     Number One : BAMBI versus GODZILLA
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[16;1H                                                            
-\e[2J
-\e[23;5H ,| *./\e[24;5H\|(/|/\e[1;1H
-\e[22;38H   /|\e[23;38H |/`|',\e[24;38H/| \|/\e[1;1H
-\e[23;65H \/_,| /| /,\e[24;65H /<|\\/\|/|\\e[1;1H
-\e[15;1H              _^_
-\e[16;1H o           /  .\
-\e[17;1H  \,--------;   __o
-\e[18;1H  /   .:::. .  /
-\e[19;1H  \___________/
-\e[20;1H    |\      |\
-\e[21;1H    | >     | \
-\e[22;1H   / /      |  \
-\e[15;2H              _^_
-\e[16;2H o           /  .\
-\e[17;2H  \,--------;   __o
-\e[18;2H  /   .:::. .  /
-\e[19;2H  \___________/
-\e[20;2H    \|      |\
-\e[21;2H     \      | \
-\e[22;2H    / \    /  |
-\e[15;3H              _^_
-\e[16;3H o           /  .\
-\e[17;3H  \,--------;   __o
-\e[18;3H  /   .:::. .  /
-\e[19;3H  \___________/
-\e[20;3H    \\      \|
-\e[21;3H     \\      \ 
-\e[22;3H     | \     |\
-\e[15;4H              _^_
-\e[16;4H o           /  .\
-\e[17;4H  \,--------;   __o
-\e[18;4H  /   .:::. .  /
-\e[19;4H  \___________/
-\e[20;4H    \\      \|
-\e[21;4H     >\      \
-\e[22;4H    / |     /|
-\e[15;5H              _^_
-\e[16;5H o           /  .\
-\e[17;5H  \,--------;   __o
-\e[18;5H  /  .:::.. .  /
-\e[19;5H  \___________/
-\e[20;5H    |\      |\
-\e[21;5H    | >     | \
-\e[22;5H   / /      |  \
-\e[15;6H              _^_
-\e[16;6H o           /  .\
-\e[17;6H  \,--------;   __o
-\e[18;6H  /  .:::.. .  /
-\e[19;6H  \___________/
-\e[20;6H    \|      |\
-\e[21;6H     \      | \
-\e[22;6H    / \    /  |
-\e[15;18H          
-\e[16;18H         
-\e[17;18H--,_^_   
-\e[18;18H.    .\  
-\e[19;18H__--___o
-\e[17;18H--_    
-\e[18;18H.  \    
-\e[19;18H__  \/|  
-\e[20;18H|\(  .|
-\e[21;18H| \\ /
-\e[22;18H  | "
-\e[17;18H--_    
-\e[18;18H.  \    
-\e[19;18H__  \/|  
-\e[20;18H|\(  .|
-\e[21;18H| \\ /
-\e[22;18H  | "
-\e[17;18H--_    
-\e[18;18H.  \    
-\e[19;18H__  \/|  
-\e[20;18H|\(  .|
-\e[21;18H| \\ /
-\e[22;18H  | "
-\e[17;18H--_    
-\e[18;18H.  \    
-\e[19;18H__  \/|  
-\e[20;18H|\(  .|
-\e[21;18H| \\ /
-\e[22;18H  | "
-\e[17;18H--,_^_  
-\e[18;18H.    .\  
-\e[19;18H__--___o
-\e[20;18H|\        
-\e[21;18H| \      
-\e[22;18H  |      
-\e[15;7H              _^_
-\e[16;7H o           /  .\
-\e[17;7H  \,--------;   __o
-\e[18;7H  /  .:::.. .  /     
-\e[19;7H  \___________/     
-\e[20;7H    \\      \|
-\e[21;7H     \\      \ 
-\e[22;7H     | \     |\
-\e[15;8H              _^_
-\e[16;8H o           /  .\
-\e[17;8H  \,--------;   __o
-\e[18;8H  /  .:::.. .  /
-\e[19;8H  \___________/
-\e[20;8H    \\      \|
-\e[21;8H     >\      \
-\e[22;8H    / |     /|
-\e[15;9H              _^_
-\e[16;9H o           /  .\
-\e[17;9H  \,--------;   __o
-\e[18;9H  /  .:::.. .  /
-\e[19;9H  \___________/
-\e[20;9H    |\      |\
-\e[21;9H    | >     | \
-\e[22;9H   / /      |  \
-\e[15;10H              _^_
-\e[16;10H o           /  .\
-\e[17;10H  \,--------;   __o
-\e[18;10H  /  .:::.. .  /
-\e[19;10H  \___________/
-\e[20;10H    \|      |\
-\e[21;10H     \      | \
-\e[22;10H    / \    /  |
-\e[15;11H              _^_
-\e[16;11H o           /  .\
-\e[17;11H  \,--------;   __o
-\e[18;11H  /  .:::.. .  /
-\e[19;11H  \___________/
-\e[20;11H    \\      \|
-\e[21;11H     \\      \ 
-\e[22;11H     | \     |\
-\e[15;12H              _^_
-\e[16;12H o           /  .\
-\e[17;12H  \,--------;   __o
-\e[18;12H  /  .:::.. .  /
-\e[19;12H  \___________/
-\e[20;12H    \\      \|
-\e[21;12H     >\      \
-\e[22;12H    / |     /|
-\e[15;13H              _^_
-\e[16;13H o           /  .\
-\e[17;13H  \,--------;   __o
-\e[18;13H  /  .:::.. .  /
-\e[19;13H  \___________/
-\e[20;13H    |\      |\
-\e[21;13H    | >     | \
-\e[22;13H   / /      |  \
-\e[15;14H              _^_
-\e[16;14H o           /  .\
-\e[17;14H  \,--------;   __o
-\e[18;14H  /  .:::.. .  /
-\e[19;14H  \___________/
-\e[20;14H    \|      |\
-\e[21;14H     \      | \
-\e[22;14H    / \    /  |
-\e[15;15H              _^_
-\e[16;15H o           /  .\
-\e[17;15H  \,--------;   __o
-\e[18;15H  /  .:::.. .  /
-\e[19;15H  \___________/
-\e[20;15H    \\      \|
-\e[21;15H     \\      \ 
-\e[22;15H     | \     |\
-\e[15;16H              _^_
-\e[16;16H o           /  .\
-\e[17;16H  \,--------;   __o
-\e[18;16H  /  .:::.. .  /
-\e[19;16H  \___________/
-\e[20;16H    \\      \|
-\e[21;16H     >\      \
-\e[22;16H    / |     /|
-\e[15;17H              _^_
-\e[16;17H o           /  .\
-\e[17;17H  \,--------;   __o
-\e[18;17H  /  .:::.. .  /
-\e[19;17H  \___________/
-\e[20;17H    |\      |\
-\e[21;17H    | >     | \
-\e[22;17H   / /      |  \
-\e[15;29H        
-\e[16;29H         
-\e[17;29H--,_^_   
-\e[18;29H.    .\  
-\e[19;29H__--___o
-\e[17;29H--_     
-\e[18;29H.  \     
-\e[19;29H__  \/|  
-\e[20;29H|\(  .| 
-\e[21;29H| \\ /
-\e[22;29H|  \"
-\e[17;29H--_      
-\e[18;29H.  \     
-\e[19;29H__  \/|   
-\e[20;29H|\(  .|
-\e[21;29H| \\ /
-\e[22;29H|  \"
-\e[17;29H--,_^_
-\e[18;29H.    .\ 
-\e[19;29H__--___o
-\e[20;29H|\       
-\e[21;29H| \      
-\e[22;29H|  \     
-\e[17;29H--,_^_
-\e[18;29H.    .\ 
-\e[19;29H__--___o
-\e[20;29H|\       
-\e[21;29H| \      
-\e[22;29H|  \     
-\e[17;29H--_      
-\e[18;29H.  \     
-\e[19;29H__  \/|   
-\e[20;29H|\(  .|
-\e[21;29H| \\ /
-\e[22;29H|  \"
-\e[17;29H--_      
-\e[18;29H.  \     
-\e[19;29H__  \/|   
-\e[20;29H|\(  .|
-\e[21;29H| \\ /
-\e[22;29H|  \"
-\e[17;29H--_      
-\e[18;29H.  \     
-\e[19;29H__  \/|   
-\e[20;29H|\(  .|
-\e[21;29H| \\ /
-\e[22;29H|  \"
-\e[17;29H--,_^_
-\e[18;29H.    .\ 
-\e[19;29H__--___o
-\e[20;29H|\      
-\e[21;29H| \     
-\e[22;29H|  \    
-\e[15;18H              _^_
-\e[16;18H o           /  .\
-\e[17;18H  \,--------;   __o
-\e[18;18H  /  .:::.. .  /    
-\e[19;18H  \___________/     
-\e[20;18H    \|      |\
-\e[21;18H     \      | \
-\e[22;18H    / \    /  |
-\e[15;19H              _^_
-\e[16;19H o           /  .\
-\e[17;19H  \,--------;   __o
-\e[18;19H  /  .:::.. .  /
-\e[19;19H  \___________/
-\e[20;19H    \\      \|
-\e[21;19H     \\      \ 
-\e[22;19H     | \     |\
-\e[15;20H              _^_
-\e[16;20H o           /  .\
-\e[17;20H  \,--------;   __o
-\e[18;20H  /  .:::.. .  /
-\e[19;20H  \___________/
-\e[20;20H    \\      \|
-\e[21;20H     >\      \
-\e[22;20H    / |     /|
-\e[15;21H              _^_
-\e[16;21H o           /  .\
-\e[17;21H  \,--------;   __o
-\e[18;21H  /  .:::.. .  /
-\e[19;21H  \___________/
-\e[20;21H    |\      |\
-\e[21;21H    | >     | \
-\e[22;21H   / /      |  \
-\e[15;22H              _^_
-\e[16;22H o           /  .\
-\e[17;22H  \,--------;   __o
-\e[18;22H  /  .:::.. .  /
-\e[19;22H  \___________/
-\e[20;22H    \|      |\
-\e[21;22H     \      | \
-\e[22;22H    / \    /  |
-\e[15;23H              _^_
-\e[16;23H o           /  .\
-\e[17;23H  \,--------;   __o
-\e[18;23H  /  .:::.. .  /
-\e[19;23H  \___________/
-\e[20;23H    \\      \|
-\e[21;23H     \\      \ 
-\e[22;23H     | \     |\
-\e[15;24H              _^_
-\e[16;24H o           /  .\
-\e[17;24H  \,--------;   __o
-\e[18;24H  /  .:::.. .  /
-\e[19;24H  \___________/
-\e[20;24H    \\      \|
-\e[21;24H     >\      \
-\e[22;24H    / |     /|
-\e[15;24H                     
-\e[16;24H o                  
-\e[17;24H  \,----------,_^_   
-\e[18;24H  /  .:::.. .    .\  
-\e[19;24H  \___________--___o
-\e[20;24H    \\      \|
-\e[21;24H     >\      \
-\e[22;24H    / |     /|
-\e[15;24H                     
-\e[16;24H o          
-\e[17;24H  \,----------_    
-\e[18;24H  /  .:::.. .  \    
-\e[19;24H  \___________  \/|  
-\e[20;24H    \\      \|(  .|
-\e[21;24H     >\      \ \ /
-\e[22;24H    / |     /|  "
-\e[1;15r
-\e[1;10H`'     `.__________________________________/\eM
-\e[1;10H( /   (\e[1;54H/\eM
-\e[1;10H(-.___\e[1;55H)\eM
-\e[1;11H/     \/\e[1;55H)\eM
-\e[1;12H_______.--'\e[1;54H\\eM
-\e[1;23H,____________/\e[1;53H\\eM
-\e[1;37H(           /   )\eM
-\e[1;37H(            )  /\eM
-\e[1;37H\           \    )\eM
-\e[1;36H(                 )\eM
-\e[1;36H(    (            /\eM
-\e[1;36H\    (             )\eM
-\e[1;35H(     \             )\eM
-\e[1;35H(    (              /\eM
-\e[1;16r
-\e[1;35H\    (        )      )\eM
-\e[1;17r
-\e[1;34H(     (        /      )\eM
-\e[1;18r
-\e[1;34H(     \         )     /\eM
-\e[1;19r
-\e[1;34H\    (          )      )\eM
-\e[1;20r
-\e[1;33H(                )      )\eM
-\e[1;21r
-\e[1;33H(                )      /\eM
-\e[1;22r
-\e[1;33H\                /       )\eM
-\e[1;24r
-\e[1;32H(                  )      )
-\e[23;25H  /  >      | \
-\e[1;1H                             
-\e[1;1H                             
-\e[10;1H          T\e[10;1H          T\e[10;1H          T
-\e[10;1H          T H\e[10;1H          T H\e[10;1H          T H
-\e[10;1H          T H E\e[10;1H          T H E\e[10;1H          T H E \e[10;1H          T H E 
-\e[10;1H          T H E   E\e[10;1H          T H E   E\e[10;1H          T H E   E
-\e[10;1H          T H E   E N\e[10;1H          T H E   E N\e[10;1H          T H E   E N
-\e[10;1H          T H E   E N D\e[10;1H          T H E   E N D
-\e[11;1H         ===============
-\e[22;1H 
-\e[?25h
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/depricated_test_filedescriptor.py b/lldb/third_party/Python/module/pexpect-4.6/tests/depricated_test_filedescriptor.py
deleted file mode 100755 (executable)
index 6b0ef3e..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-import pexpect
-import unittest
-import PexpectTestCase
-import os
-
-class ExpectTestCase(PexpectTestCase.PexpectTestCase):
-    def setUp(self):
-        print(self.id())
-        PexpectTestCase.PexpectTestCase.setUp(self)
-
-    def test_fd (self):
-        fd = os.open ('TESTDATA.txt', os.O_RDONLY)
-        s = pexpect.spawn (fd)
-        s.expect ('This is the end of test data:')
-        s.expect (pexpect.EOF)
-        assert s.before == ' END\n'
-
-    def test_maxread (self):
-        fd = os.open ('TESTDATA.txt', os.O_RDONLY)
-        s = pexpect.spawn (fd)
-        s.maxread = 100
-        s.expect('2')
-        s.expect ('This is the end of test data:')
-        s.expect (pexpect.EOF)
-        assert s.before == ' END\n'
-
-    def test_fd_isalive (self):
-        fd = os.open ('TESTDATA.txt', os.O_RDONLY)
-        s = pexpect.spawn (fd)
-        assert s.isalive()
-        os.close (fd)
-        assert not s.isalive()
-
-    def test_fd_isatty (self):
-        fd = os.open ('TESTDATA.txt', os.O_RDONLY)
-        s = pexpect.spawn (fd)
-        assert not s.isatty()
-        os.close(fd)
-
-###    def test_close_does_not_close_fd (self):
-###        '''Calling close() on a pexpect.spawn object should not
-###                close the underlying file descriptor.
-###        '''
-###        fd = os.open ('TESTDATA.txt', os.O_RDONLY)
-###        s = pexpect.spawn (fd)
-###        try:
-###            s.close()
-###            self.fail('Expected an Exception.')
-###        except pexpect.ExceptionPexpect, e:
-###            pass
-
-if __name__ == '__main__':
-    unittest.main()
-
-suite = unittest.makeSuite(ExpectTestCase, 'test')
-
-#fout = open('delete_me_1','wb')
-#fout.write(the_old_way)
-#fout.close
-#fout = open('delete_me_2', 'wb')
-#fout.write(the_new_way)
-#fout.close
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/echo_w_prompt.py b/lldb/third_party/Python/module/pexpect-4.6/tests/echo_w_prompt.py
deleted file mode 100644 (file)
index 3c80553..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-# -*- coding: utf-8 -*-
-from __future__ import print_function
-
-try:
-    raw_input
-except NameError:
-    raw_input = input
-
-while True:
-    try:
-        a = raw_input('<in >')
-    except EOFError:
-        print('<eof>')
-        break
-    print('<out>', a, sep='')
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/echo_wait.py b/lldb/third_party/Python/module/pexpect-4.6/tests/echo_wait.py
deleted file mode 100755 (executable)
index e152059..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-import time
-import termios
-import sys
-
-# a dumb PAM will print the password prompt first then set ECHO
-# False. What it should do it set ECHO False first then print the
-# prompt. Otherwise, if we see the password prompt and type out
-# password real fast before it turns off ECHO then some or all of
-# our password might be visibly echod back to us. Sounds unlikely?
-# It happens.
-
-print("fake password:")
-sys.stdout.flush()
-time.sleep(3)
-attr = termios.tcgetattr(sys.stdout)
-attr[3] = attr[3] & ~termios.ECHO
-termios.tcsetattr(sys.stdout, termios.TCSANOW, attr)
-time.sleep(12)
-attr[3] = attr[3] | termios.ECHO
-termios.tcsetattr(sys.stdout, termios.TCSANOW, attr)
-time.sleep(2)
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/exit1.py b/lldb/third_party/Python/module/pexpect-4.6/tests/exit1.py
deleted file mode 100755 (executable)
index 587b8ad..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-import os, sys
-
-print("Hello")
-sys.stdout.flush()
-os._exit(1)
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/exit667.c b/lldb/third_party/Python/module/pexpect-4.6/tests/exit667.c
deleted file mode 100644 (file)
index 962b9fd..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
-    PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-*/
-
-#include <stdio.h>
-int main ()
-{
-    printf ("Hello world!\n");
-    exit(7);
-}
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/fakessh/ssh b/lldb/third_party/Python/module/pexpect-4.6/tests/fakessh/ssh
deleted file mode 100755 (executable)
index d3259e4..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/usr/bin/env python
-from __future__ import print_function
-
-import getpass
-import sys
-PY3 = (sys.version_info[0] >= 3)
-if not PY3:
-    input = raw_input
-
-server = sys.argv[-1]
-if server == 'noserver':
-    print('No route to host')
-    sys.exit(1)
-
-print("Mock SSH client for tests. Do not enter real security info.")
-
-pw = getpass.getpass('password:')
-if pw != 's3cret':
-    print('Permission denied!')
-    sys.exit(1)
-
-prompt = "$"
-while True:
-    cmd = input(prompt)
-    if cmd.startswith('PS1='):
-        prompt = eval(cmd[4:]).replace('\$', '$')
-    elif cmd == 'ping':
-        print('pong')
-    elif cmd.startswith('ls'):
-        print('file1.py', 'file2.html', sep='\t')
-    elif cmd == 'echo $?':
-        print(0)
-    elif cmd in ('exit', 'logout'):
-        break
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/getch.py b/lldb/third_party/Python/module/pexpect-4.6/tests/getch.py
deleted file mode 100755 (executable)
index a362e52..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-from __future__ import print_function
-import sys, tty, termios
-
-if hasattr(sys.stdin, 'buffer'):
-    # Python 3: we want to read raw bytes
-    stdin = sys.stdin.buffer
-else:
-    stdin = sys.stdin
-
-def main():
-    print('READY', end='\r\n')
-    while True:
-        try:
-            val = ord(stdin.read(1))
-        except KeyboardInterrupt:
-            val = 3
-        print('%d<STOP>' % (val,), end='\r\n')
-        if val == 0:
-            # StopIteration equivalent is ctrl+' ' (\x00, NUL)
-            break
-
-if __name__ == '__main__':
-    fd = sys.stdin.fileno()
-    old_settings = termios.tcgetattr(fd)
-    try:
-        tty.setraw(sys.stdin.fileno())
-        main()
-    finally:
-        termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
-    sys.stdout.flush()
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/globe.vt b/lldb/third_party/Python/module/pexpect-4.6/tests/globe.vt
deleted file mode 100644 (file)
index 85dc78d..0000000
+++ /dev/null
@@ -1,690 +0,0 @@
-\e[H\e[J              _-o#&&*''''?d:>b\_
-          _o/"`''  '',, dMF9MMMMMHo_
-       .o&#'        `"MbHMMMMMMMMMMMHo.
-     .o"" '         vodM*$&&HMMMMMMMMMM?.
-    ,'              $M&ood,~'`(&##MMMMMMH\
-   /               ,MMMMMMM#b?#bobMMMMHMMML
-  &              ?MMMMMMMMMMMMMMMMM7MMM$R*Hk
- ?$.            :MMMMMMMMMMMMMMMMMMM/HMMM|`*L
-|               |MMMMMMMMMMMMMMMMMMMMbMH'   T,
-$H#:            `*MMMMMMMMMMMMMMMMMMMMb#}'  `?
-]MMH#             ""*""""*#MMMMMMMMMMMMM'    -
-MMMMMb_                   |MMMMMMMMMMMP'     :
-HMMMMMMMHo                 `MMMMMMMMMT       .
-?MMMMMMMMP                  9MMMMMMMM}       -
--?MMMMMMM                  |MMMMMMMMM?,d-    '
- :|MMMMMM-                 `MMMMMMMT .M|.   :
-  .9MMM[                    &MMMMM*' `'    .
-   :9MMk                    `MMM#"        -
-     &M}                     `          .-
-      `&.                             .
-        `~,   .                     ./
-            . _                  .-
-              '`--._,dd###pp=""'
-\e[H              _v->#H#P? "':o<>\_
-          .,dP` `''  "'-o.+H6&MMMHo_
-        oHMH9'         `?&bHMHMMMMMMHo.
-      oMP"' '           ooMP*#&HMMMMMMM?.
-    ,M*          -     `*MSdob//`^&##MMMH\
-   d*'                .,MMMMMMH#o>#ooMMMMMb
-  HM-                :HMMMMMMMMMMMMMMM&HM[R\
- d"Z\.               9MMMMMMMMMMMMMMMMM[HMM|:
--H    -              MMMMMMMMMMMMMMMMMMMbMP' :
-:??Mb#               `9MMMMMMMMMMMMMMMMMMH#! .
-: MMMMH#,              "*""""`#HMMMMMMMMMMH  -
-||MMMMMM6\.                    {MMMMMMMMMH'  :
-:|MMMMMMMMMMHo                 `9MMMMMMMM'   .
-. HMMMMMMMMMMP'                 !MMMMMMMM    `
-- `#MMMMMMMMM                   HMMMMMMM*,/  :
- :  ?MMMMMMMF                   HMMMMMM',P' :
-  .  HMMMMR'                    {MMMMP' ^' -
-   : `HMMMT                     iMMH'     .'
-    -.`HMH                               .
-      -:*H                            . '
-        -`\,,    .                  .-
-          ' .  _                 .-`
-              '`~\.__,obb#q==~'''
-\e[H              .ovr:HMM#?:`' >b\_
-          .,:&Hi' `'   "' \\|&bSMHo_
-        oHMMM#*}          `?&dMMMMMMHo.
-     .dMMMH"''''           ,oHH*&&9MMMM?.
-    ,MMM*'                 `*M\bd<|"*&#MH\
-   dHH?'                   :MMMMMM#bd#odMML
-  H' |\                  `dMMMMMMMMMMMMMM9Mk
- JL/"7+,.                `MMMMMMMMMMMMMMMH9ML
--`Hp     '               |MMMMMMMMMMMMMMMMHH|:
-:  \\#M#d?                `HMMMMMMMMMMMMMMMMH.
-.   JMMMMM##,              ``*""'"*#MMMMMMMMH
--. ,MMMMMMMM6o_                    |MMMMMMMM':
-:  |MMMMMMMMMMMMMb\                 TMMMMMMT :
-.   ?MMMMMMMMMMMMM'                 :MMMMMM|.`
--    ?HMMMMMMMMMM:                  HMMMMMM\|:
- :     9MMMMMMMMH'                 `MMMMMP.P.
-  .    `MMMMMMT''                   HMMM*''-
-   -    TMMMMM'                     MM*'  -
-    '.   HMM#                            -
-      -. `9M:                          .'
-        -. `b,,    .                . '
-          '-\   .,               .-`
-              '-:b~\\_,oddq==--"
-\e[H              _oo##'9MMHb':'-,o_
-          .oH":HH$' ""'  "' -\7*R&o_
-       .oHMMMHMH#9:          "\bMMMMHo.
-      dMMMMMM*""'`'           .oHM"H9MM?.
-    ,MMMMMM'                   "HLbd<|?&H\
-   JMMH#H'                     |MMMMM#b>bHb
-  :MH  ."\                   `|MMMMMMMMMMMM&
- .:M:d-"|:b..                 9MMMMMMMMMMMMM+
-:  "*H|      -                &MMMMMMMMMMMMMH:
-.    `LvdHH#d?                `?MMMMMMMMMMMMMb
-:      iMMMMMMH#b               `"*"'"#HMMMMMM
-.   . ,MMMMMMMMMMb\.                   {MMMMMH
--     |MMMMMMMMMMMMMMHb,               `MMMMM|
-:      |MMMMMMMMMMMMMMH'                &MMMM,
--       `#MMMMMMMMMMMM                 |MMMM6-
- :        `MMMMMMMMMM+                 ]MMMT/
-  .       `MMMMMMMP"                   HMM*`
-   -       |MMMMMH'                   ,M#'-
-    '.     :MMMH|                       .-
-      .     |MM                        -
-       ` .   `#?..    .             ..'
-           -.     _.             .-
-              '-|.#qo__,,ob=~~-''
-\e[H              _ooppH[`MMMD::--\_
-          _oHMR":&M&. ""'  "'  /&\\_
-        oHMMMMMHMMH#9,         `"<MMHo.
-      oHMMMMMMMM*""'``           .dMP#M?.
-    .dMMMMMMMM*                   `H\do?&\
-   -iMMMHH#H'                      &MMMHb#?
-  : ZMM'   7-.                   `{MMMMMMMMH
- .  .M6_d|"`$|v..                 9MMMMMMMMML
--    `'*H#       :                |MMMMMMMMMM:
-:        *\\dHM#dd.                ?MMMMMMMMMb
--          |MMMMMMM##\              `"*""?HMMM
-:      .  |MMMMMMMMMMMo\.                 {MMM
-.         {MMMMMMMMMMMMMMMHo.             `MMM
--          ?MMMMMMMMMMMMMMM*'             -MMP
-:           `#MMMMMMMMMMMMT               dMM'
- -            |MMMMMMMMMMH'              -MMT
-  :           `MMMMMMMM"'                JMP
-   -           MMMMMMH'                 ,H?
-    '.         HMMM#'                    :
-      .        ?MM-                   . '
-        -.      *M:..               .-
-           - .      _.           .-
-              '-.~-dHb__\ov+~~-`
-\e[H              .oo>#&H6?*MMH:-.._
-          .oHMMMR:"&MZ\ `"'  "  |$-_
-       ..dMMMMMMMMdMMM#9\        `'HHo.
-     . ,dMMMMMMMMMMM"`' `           ?MP?.
-    . |MMMMMMMMMMM'                 `"$b&\
-   -  |MMMMHH##M'                     HMMH?
-  -   TTMM|    >..                   \MMMMMH
- :     |MM\,#-""$~b\.                `MMMMMM+
-.       ``"H&#        -               &MMMMMM|
-:            *\v,#MHddc.              `9MMMMMb
-.               MMMMMMMM##\             `"":HM
--          .  .HMMMMMMMMMMRo_.              |M
-:             |MMMMMMMMMMMMMMMM#\           :M
--              `HMMMMMMMMMMMMMMM'           |T
-:               `*HMMMMMMMMMMMM'            H'
- :                 MMMMMMMMMMM|            |T
-  .                MMMMMMMM?'             ./
-  `.               MMMMMMH'              ./
-    -.            |MMMH#'                .
-      .           `MM*                . '
-        -.         #M: .    .       .-
-          ` .         .,         .-
-              '-.-~ooHH__,,v~--`
-\e[H              _ood>H&H&Z?#M#b-\.
-          .\HMMMMMR?`\M6b."`' ''``v.
-       .. .MMMMMMMMMMHMMM#&.      ``~o.
-     .   ,HMMMMMMMMMMMM*"'-`          &b.
-    .   .MMMMMMMMMMMMH'               `"&\
-   -     RMMMMM#H##R'                   4Mb
-  -      |7MMM'    ?::                 `|MMb
- /         HMM__#|`"\>?v..              `MMML
-.           `"'#Hd|       `              9MMM:
--                |\,\?HH#bbL             `9MMb
-:                   !MMMMMMMH#b,          `""T
-.              .   ,MMMMMMMMMMMbo.           |
-:                  4MMMMMMMMMMMMMMMHo        |
-:                   ?MMMMMMMMMMMMMMM?        :
--.                   `#MMMMMMMMMMMM:        .-
- :                     |MMMMMMMMMM?         .
-  -                    JMMMMMMMT'          :
-  `.                   MMMMMMH'           -
-    -.                |MMM#*`            -
-      .               HMH'            . '
-        -.            #H:.          .-
-          ` .           .\       .-
-              '-..-+oodHL_,--/-`
-\e[H              _,\?dZkMHF&$*q#b..
-          .//9MMMMMMM?:'HM\\"`-''`..
-       ..`  :MMMMMMMMMMHMMMMH?_    `-\
-     .     .dMMMMMMMMMMMMMM'"'"       `\.
-    .      |MMMMMMMMMMMMMR              \\
-   -        T9MMMMMHH##M"                `?
-  :          (9MMM'    !':.               &k
- .:            HMM\_?p "":-b\.            `ML
--                "'"H&#,       :           |M|
-:                     ?\,\dMH#b#.           9b
-:                        |MMMMMMM##,        `*
-:                   .   +MMMMMMMMMMMo_       -
-:                       HMMMMMMMMMMMMMM#,    :
-:                        9MMMMMMMMMMMMMH'    .
-: .                       *HMMMMMMMMMMP     .'
- :                          MMMMMMMMMH'     .
-  -                        :MMMMMMM'`      .
-  `.                       9MMMMM*'       -
-    -.                    {MMM#'         :
-      -                  |MM"          .'
-       `.                &M'..  .   ..'
-          ' .             ._     .-
-              '-. -voboo#&:,-.-`
-\e[H              _oo:\bk99M[<$$+b\.
-           .$*"MMMMMMMM[:"\Mb\?^" .
-       . '`    HMMMMMMMMMMHMMMM+?.  `.
-     .        .HMMMMMMMMMMMMMMP"''     .
-    .         `MMMMMMMMMMMMMM|         -`.
-   -           `&MMMMMMHH##H:             :
-  :             `(*MMM}    `|\             |
- : `-              ?MMb__#|""`|+v..         \
-.                    `''*H#b       -        :|
-:                         `*\v,#M#b#,        \
-.                             9MMMMMMHb.     :
-:                        .   #MMMMMMMMMb\    -
--                           .HMMMMMMMMMMMMb  :
-:                            `MMMMMMMMMMMMH  .
--:  .                         `#MMMMMMMMMP   '
- :                              ]MMMMMMMH'  :
-  -                            ,MMMMMM?'   .
-  `:                           HMMMMH"    -
-    -.                       .HMM#*     .-
-     `.                     .HH*'     .
-       `-.                  &R".    .-
-           -.               ._   .-
-              '-. .voodoodc?..-`
-\e[H              _\oo\?ddk9MRbS>v\_
-          ..:>*""MMMMMMMMM:?|H?$?-.
-       ..- -     "HMMMMMMMMMMHMMMH\_-.
-     .            dMMMMMMMMMMMMMMT"    .
-    .             TMMMMMMMMMMMMMM       `.
-   -               `&HMMMMMM#H#H:         .
-  -                 `\7HMMH     |\.        .
- :    `                 HMM\_?c`""+?\..     :
--                         "``#&#|      .     -
-:                              `?,\#MHdb.    .
-:                                 |MMMMMH#.  :
-:                            .   ,HMMMMMMMb, -
-: '                              4MMMMMMMMMMH`
-:   .                             9MMMMMMMMMT-
-:.`                               `#MMMMMMMH '
- :      '                           HMMMMMH':
-  -                                |MMMMH" -
-  `:                              |MMMH*' .'
-    '?                           dMM#'   .
-      \.                       .dH"    .'
-        -.                    ,M'-  ..'
-          ` .                .. ..-`
-              '-. .\ooooboo<^.-`
-\e[H              _o,:o?\?dM&MHcc~,.
-          ..^':&#""HMMMMMMMM$:?&&?.
-        .`  -`      'HMMMMMMMMMHMMMp\.
-     . '             |MMMMMMMMMMMMMM"' .
-    .                `9MMMMMMMMMMMMM    -.
-   -                   `*9MMMMMHH##[      .
-  -                     `\Z9MMM    `~\     .
- :       '|                 ?MMb_?p""-?v..  :
--                             `"'*&#,    -   .
-:                                  `?,oHH#?  .
---                                    |MMMMH,:
-:                                 .  |MMMMMM6,
-:   -                                |MMMMMMMM
-?                                     HMMMMMMP
--- . '                                |HMMMMM'
- :.`     .  '                          JMMMM+
-  \                                   ,MMMP:
-   :                                 |MMH?:
-    -:\.                            dM#" .
-       \                          ,H*' .'
-        -.                       d':..'
-          ` .                  .,.-
-              '-.. .\oooodov~^-`
-\e[H              _o\:,??\??MR9#cb\_
-          .v/''':&#""#HMMMMMMM$?*d\.
-       ..~' - -`      `"#MMMMMMMMMMMHv.
-     .-'                 HMMMMMMMMMMMR!.
-    :                    `9MMMMMMMMMMM| -.
-   .                       `*9MMMMMH##|   .
-  -                          `(#MMH   `:,  .
- :           '|                 `HMb_>/"|\,.:
-.'                                `"'#&b   - .
-:                                      ?\oHH?.
-:                                        !MMM&
-:  .                                  .  HMMMM
-/.      -                               -MMMMM
-\`.                                      9MMMP
-:. .  . -                                |MMM'
- \... '                                  .MMT
-  &.                                    .dMP
-   \,                                  .HM*
-    \. `\.                            ,H&'
-     `- `| -                        ,&':
-       `.                         ,/\ '
-          '-..                  _.-
-              "---.._\o,oov+--'"
-\e[H              _,d?,:?o?:?HM>#b\_
-          ..H*"''`'H#*"**MMMMMM6$$v_
-        v//"   - ``      `'#MMMMMMMMHo.
-      /"`                   |MMMMMMMMMM:.
-    ,>                       `HMMMMMMMMH:.
-   :                           `#HMMMMHH\ -
-  '                              `Z#MM,  `,:
- :               '\                 ?HH_>:`\,
-:                                     "'*&| `:
-.                                         <\Hb
-:                                           MM
-:                                        . iMM
-Mb\.                                       {MM
-::.`-       -                              !MP
-`&.   .  .  -                              :M'
- 9H,  \  '                                 |T
-  HM?                                     ,P
-   *ML                                   ??
-    :&.   `o                           .d'
-      ':  |T                          /"
-        -.                         .<''
-          `...                  ..-
-              "`-=.,_,,,oov-~.-`
-\e[H              _,oc>?_:b?o?HH#b\_
-          .v/99*""" '*H#""*HMMMMMZ,_
-        oH* /"   -   '      "`#MMMMM#o.
-     ./*>-                     `MMMMMMMb
-    ,b/'                        `#MMMMMMM\
-   :'                             ``HMMMMb:
-  /-                                `|&MH `\
- /                   `-.               |Hb??\
-,-  '                                    "`&,.
-1                                           \}
-!.                                           T
-$,.                                        . 1
-?`M??.                                       M
-?.::| '\        -                            ?
- M?&.    .   .  -                           ,'
- 9MMH\   ..  '           `                  .
-  HMMM#.                                   :'
-   9#MMb                                 ..
-    -:"#     `b.                        .-
-      . `    {!                        /
-        -                           ,-'
-          ' .                    .-
-             ```^==\_.,,,ov--\-`
-\e[H              _\o##??,:io??$#b\_
-          .oH#"H9*""" "`#H*"*#MMMHo_
-        oHMM- -'    -  ''     ``*HMMHo.
-      dM#S>-`                     ?MMMM?.
-    ,&&,/'                         "#MMMH\
-   d?-"                              `*HMMb
-  H?                                   "ZHb:
- /:                        \              H?L
-|:|   .                                    `*:
-:?:                                          \
->"                                           :
-M|\,_                                        |
-!|":HH?-'.                                   :
-:^'_:?"\ `--         -                       .
-- |ML?b      .   ..  -                       -
- :HMMMMH\    \               `              :
-  >MMMMMM#.                                .
-   ^M*HMMM|                               -
-    `. `"#+     `?v                     .`
-      .   `-    +?'                    -
-       ` .                          ..'
-           - .                   .-
-              "`\b=p?.._\\vv---`
-\e[H              _,o#bH\??::?o?cbo_
-          .o#MH#**SH""' "`*H#"*#MHo_
-        oHMMMH^  ^"    -  `      '*HHo.
-     .dMMM#">>-                     `HM?.
-    ,MH:R_o/                         `*MH\
-   dMM' '                               "ML
-  HMR! '                                 `#k
- d&'.                          -.          `L
-:M ::     `                                 `-
-/| !|                                        -
-k.$-"                                        :
-}9R:!,,_.                                    .
-\::\':`*M#\-'.                               -
-: "''..:"!`\  '-          -                  `
--   ,HMb.H|      .    _   -                 .'
- : ,MMMMMMMb.    ..                         .
-  .`HMMMMMMMM?                             .
-  `.`9M#*HMMMM                            :
-    -.'   "##*      `b,                  .
-      .      `     ,/'                 .'
-       ` .                          ..'
-           - .                  ..-
-              "`*#d##c.._\v----`
-\e[H              _,o#&oHb?\o::d?>\_
-          .oHHMMM#**$M""` "`*HH"#&o_
-        oHMMMMMMD' .''    -  '    ``bo.
-     .dMMMMMH*'/|-                   `\b.
-    ,MMMM?T|_o/                        `\\
-   dMMMMP  ''                            `|
-  HMMMH& -                                `\
- /MH7' :                          --        :
--:MM  {.      .                              .
-:i?' .!&                                     .
-:{, o| '                                     :
--T?9M\:-'o,_                                 .
-: \?::``"`?9MHo./..                          -
-.  '"`'^ _.`"!"^.  `-         -              `
--      ,bMM?.M\       .    .  -      .      .'
- :   .oMMMMMMMMb.    ..   `                 .
-  .  `HMMMMMMMMMMb                         -
-   -   9MH*#HMMMMH                        .'
-    '.  '   `"*##'      `b.              :
-      .         `     .d''             .'
-        -.                          . '
-           -.                    .-`
-              "`*##H###:._\--.-`
-\e[H              _oo#H&d#b?\b:_>>\_
-          .oHMMMMMMH*"*9R"'-``*#P\-_
-        oHMMMMMMMMM$  ."       '   `^-
-     .dMMMMMMMMH*",?-                 '\.
-    ,MMMMMMM:?}.,d'                     `.
-   dMMMMMMMH  /''                         :
-  HMMMMMMM&' -                             -
- dPTMMP>' :                           -.    :
-|? -MM}  .\                                  .
-J' ::*'  -$L                                 .
-:  ?b .,H- '                                 :
--  |6.&MP:: !.,_.                            -
-:   `\:: "' "`:"MM#,-^,            -         :
--     ````:' _.:"?``\   `-                   .
-:         .?bMML.]#        -   _  `      .  .'
- -      .o#MMMMMMMMH\     \.          .     .
-  -     `HMMMMMMMMMMMH                     :
-  `.     `HMM#*#MMMMMH'                   -
-    -.     '    ``##*'      i+           :
-      -            `'     v/'          .'
-       `-                           ..'
-          ' .                    .-
-              "`*##HMH##:__,-.-`
-\e[H              _oo##Mbb&bo??o_>\_
-          .oHMMMMMMMMM**#?M*' "?*&..
-        oHMMMMMMMMMMMM4  `"      -  `.
-     .dMMMMMMMMMMMM#"\?.-              .
-    ,MMMMMMMMMM}"9:_,d'                 -.
-   dMMMMMMMMMMM|  ^''                     .
-  &MMMMMMMMMMH\  -                         .
- :{M*"MMMPT"' :                         `-. :
-.'M'  'MMM.  -T,       .                     .
-- k   i:?''  -|&                             .
-: `  -o&  .,H- "                             :
--     `M:`HMP|:'!.o._.                       .
-:      "<:::'<^ '"``9MH#,-^ .                -
--         '''``''._.`"?`^|   ^        -      :
-:              ?#dMM_.M?       .   .  -    ..'
- :          ,ddMMMMMMMMMb.    ..   '        .
-  .         TMMMMMMMMMMMMM,                :
-   -         ?MMH**#MMMMMH'               :
-    '.        '     "`##*'      &.       :
-      -.               `'    ,~"       .'
-        -.                          ..'
-          ` .                    .-
-             ```*##HMMMH#<:,..-`
-\e[H              _,dd#HMb&dHo?\?:\_
-          .oHMMMMMMMMMMMH***9P'`"\v.
-        oHMMMMMMMMMMMMMMM>  `'      -.
-     .dMMMMMMMMMMMMMMMH*'|~-'          .
-    ,MMMMMMMMMMMMM6>`H._,&              -.
-   dMMMMMMMMMMMMMMM|  `"                  .
-  H*MMMMMMMMMMMMMH&. -                     .
- d' HMM""&MMMPT'' :.                      `.-
-,'  MP   `TMMM,   |:        .                -
-|   #:    ? *"   : &L                        :
-!   `'   /?H   ,#r `'                        :
-.         ?M: HMM^<~->,o._                   :
-:          `9:::'`*-``':`9MHb,|-,         '  :
-.             `"''':' :_ ""!"^.  `|          :
-`.                 _dbHM6_|H.      .   . '  .'
- \              _odHMMMMMMMMH,    ..  `     :
- `-             |MMMMMMMMMMMMM|            :
-  `.             9MMH**#MMMMMH'           :
-    -.            '     "?##"      d     :
-      .                    '    ,/"    .'
-       `..                          ..'
-          `  .                   .-
-              '`"#HHMMMMM#<>..-`
-\e[H              _oo##bHMb&d#bd,>\_
-          .oHMMMMMMMMMMMMMM***9R"-..
-        oHMMMMMMMMMMMMMMMMMH\  ?   `-.
-     .dMMMMMMMMMMMMMMMMMMM#".}-'       .
-    ,MMMMMMMMMMMMMMMMM6/`H _o}          -.
-   dMMMMMMMMMMMMMMMMMMML  `''             .
-  HbP*HMMMMMMMMMMMMMMM*: -                 ,
- dMH' `MMMP'"HMMMR'T"  :                    :
-|H'   -MR'   `?MMMb    P,       .            .
-1&     *|     |.`*"  .-`&|                   .
-M'      "    |\&|  .,#~ "'                   :
-T             :HL.|HMH\c~`|v,\_              :
-|              `"|:::':`-`` '"MM#\-'.       -:
-%                 ``'``'`' :_ '?'`| ``.      :
-||,                     ,#dMM?.M?      .  .` -
- ?\                 .,odMMMMMMMMM?    \  `  :
-  /                 |MMMMMMMMMMMMM:        .'
-  `.                 TMMH#*9MMMMM*        :
-    -.               `      "*#*'    ,:  .
-      .                       `   .v'' .'
-       `.                           ..'
-          '- .                   .-
-              "`\+HHMMMMMMHr~.-`
-\e[H              _,,>#b&HMHd&&bb>\_
-          _oHMMMMMMMMMMMMMMMMH**H:.
-        oHMMMMMMMMMMMMMMMMMMMM#v`?  `.
-     .dMMMMMMMMMMMMMMMMMMMMMMH*`+|     .
-    ,MMMMMMMMMMMMMMMMMMMMMb|?+.,H       -.
-   ddHMMMMMMMMMMMMMMMMMMMMMb  `'          .
-  HMMkZ**HMMMMMMMMMMMMMMMMH\  -   .        :
- dTMMM*  `9MMMP'"*MMMMPT"` ..               :
-|M6H''    4MP'   `"HMMM|   !|.      .        .
-1MHp'      #L      $ *"'  .-:&.              .
-MMM'        "     q:H.  .o#-``'              :
-MM'                ?H?.|MMH::::-o,_.         -
-M[                  `*?:::'|` `"`:9MH\~-.    `
-&M.                     ""'`'^'.:.`?'`. '|  -:
-`M|d,                       .dbHM[.1?     .. :
- 9||| .                  _obMMMMMMMMH,   .  :
-  H.^                    MMMMMMMMMMMM}     -
-   \                     |MMH#*HMMMMH'    .'
-    .                    `      `#*'   ,:-
-     `                           '' .-'.
-       `.                           .-
-          '- .                   .-`
-              '`\bqHMMMMMMHHb--`
-\e[H              .,:,#&6dHHHb&##o\_
-          .oHHMMMMMMMMMMMMMMMMMH*\,.
-        oHMMMMMMMMMMMMMMMMMMMMMMHb:'-.
-     .dMMMMMMMMMMMMMMMMMMMMMMMMMH|\/'  .
-    ,&HMMMMMMMMMMMMMMMMMMMMMMM/"&.,d.   -.
-   dboMMHMMMMMMMMMMMMMMMMMMMMMML `'       .
-  HMHMMM$Z***MMMMMMMMMMMMMMMMMM|.-         .
- dMM}MMMM#'  `9MMMH?"`MMMMR'T'  _           :
-|MMMbM#''     |MM"    ``MMMH.   <_           .
-dMMMM#&        *&.     .?`*"   .'&:          .
-MMMMMH-         `'    -v/H   .dD "'  '       :
-MMMM*                  `*M: 4MM*::-!v,_      :
-MMMM                     `*?::" "'``"?9Mb::. :
-&MMM,                       `"'"'|"._ "?`| - :
-`MMM}.H                          ,#dM[_H   ..:
- 9MMi`M: .                   .ooHMMMMMMM,  ..
-  9Mb `-                     1MMMMMMMMMM|  :
-   ?M                        |MM#*#MMMM*  .
-    -.                       `     |#"' ,'
-      .                            -" v`
-        -.                          .-
-           - .                   . `
-              '-*#d#HHMMMMHH#"-'
-\e[H              _,<_:&S6dHHHb&bb\_
-          .odHMMMMMMMMMMMMMMMMMMM}-_
-       .oHMMMMMMMMMMMMMMMMMMMMMMMM#d:.
-      ?9MMMMMMMMMMMMMMMMMMMMMMMMMMMH-$ .
-    ,::dHMMMMMMMMMMMMMMMMMMMMMMMMH:\.?? -.
-   dMdboHMMHMMMMMMMMMMMMMMMMMMMMMMH, '    .
-  HMMMM7MMMb$R***MMMMMMMMMMMMMMMMMH\ -     .
- dMMMMM/MMMMM*   `$MMMM*'"*MMMM?&'  .       :
-|MMMMMMb1H*'       HMP'    '9MMM|   &.    .  .
-dMMMMMMM##~`       `#\      |.`*"  .-9.      :
-9MMMMMMMM*           `     |v7?  .,H `' `    :
-SMMMMMMH'                   '9M_-MMH::-\v_   :
-:HMMMMM                       `\_:"'|'`':9Mv\.
--|MMMMM,                         ""`'`':.`?\ \
-`:MMMMM}.d}                         .?bM6,|  |
- :?MMM6  M|  .                   .,oHMMMMM| /
-  .?MMM- `'                      &MMMMMMMM|.
-   -`HM-                         HMH#*MMM?:
-    '.                           '   `#*:`
-      -                              -'/
-       ` .                          . '
-          ` .                    . `
-              '--##HH#HMMMHH#""`
-\e[H              _o,d_?dZdoHHHb#b\_
-          .vdMMMMMMMMMMMMMMMMMMMMH\.
-       .,HHMMMMMMMMMMMMMMMMMMMMMMMMH&,.
-      /?RMMMMMMMMMMMMMMMMMMMMMMMMMMMMH|..
-    ,\?>`T#RMMMMMMMMMMMMMMMMMMMMMMMM6`\|/
-   dMMbd#ooHMMMHMMMMMMMMMMMMMMMMMMMMMH,`' '
-  HMMMMMMMTMMMMb$ZP**HMMMMMMMMMMMMMMMM|.   :
- dMMMMMMMM}$MMMMMH'   `HMMMH?"`MMMM?T' .    :
-|MMMMMMMMMMoMH*''      `MM?    ``MMM|  +\    .
-1MMMMMMMMMMMb#/         ?#?      |`#"  -T:   :
-*'HMMMMMMMMMM*'           "     ~?&  .?} ' ' .
-- 4MMMMMMMMP"                    `M? HMTc:\\.:
-: `MMMMMMM[                       "#:::`>`"?M{
-.  |MMMMMMH.                        ``'``'_`:-
--  |MMMMMMM|.dD                         ,#Mb\'
- :  *MMMMM: iM|  .                   _oHMMMM:
-  .  ?MMMM'  "'                     ,MMMMMMP
-   :  `HMH                          JM#*MMT
-    -.  '                           `   #'
-      .                                /
-        -.            -              .'
-           -.                    . `
-              '--=&&MH##HMHH#"""
-\e[H              .-:?,Z?:&$dHH##b\_
-           ,:bqRMMMMMMMMMMMMMMMMMHo.
-        .?HHHMMMMMMMMMMMMMMMMMMMMMMMHo.
-      -o/*M9MMMMMMMMMMMMMMMMMMMMMMMMMMMv
-    .:H\b\'|?#HHMMMMMMMMMMMMMMMMMMMMMM6?Z\
-   .?MMMHbdbbodMMMMHMMMMMMMMMMMMMMMMMMMM\':
-  :MMMMMMMMMMM7MMMMb?6P**#MMMMMMMMMMMMMMM_ :
- \MMMMMMMMMMMMb^MMMMMM?   `*MMMM*"`MMMR<' . -
-.1MMMMMMMMMMMMMb]M#""       9MR'   `?MMb  \. :
--MMMMMMMMMMMMMMMH##|`        *&.     |`*' .\ .
--?""*MMMMMMMMMMMMM'            '    |?b  ,}" :
-:    MMMMMMMMMMH'                    `M_|M}r\?
-.    `MMMMMMMMM'                      `$_:`'"H
--     TMMMMMMMM,                        '"``::
-:     {MMMMMMMM| oH|                      .#M-
- :    `9MMMMMM' .MP   .                 ,oMMT
-  .     HMMMMP'  `'                    ,MMMP
-   -     `MMH'                         HH9*
-    '.    `                           ` .'
-      -                               . '
-       ` .               -          .-
-          ` .                    .-
-              ' -==pHMMH##HH#"""
-\e[H              _..-:b&::&?&&##bo_
-          ...?-#&9MMMMMMMMMMMMMMMHo_
-       .. .1&#MMHMMMMMMMMMMMMMMMMMMMHo.
-     .  .o/##R9MMMMMMMMMMMMMMMMMMMMMMMM?.
-    .- |MSd?|'`$?#HMMMMMMMMMMMMMMMMMMMMMH\
-   -  dMMMMHbd##oodMMMM#MMMMMMMMMMMMMMMMMH:
-  - JMMMMMMMMMMMMM7HMMMH$SR***MMMMMMMMMMMMb>
- : {MMMMMMMMMMMMMMM`9MMMMMH'  ``HMMM?"*MM[| :
-- |MMMMMMMMMMMMMMMMM<MH*''      `MM'   'HM? |.
-: `MMMMMMMMMMMMMMMMMM##H-'       `#,  ` |`? /|
-.  ?"""?HMMMMMMMMMMMMMH'           "    v& .}?
--       |MMMMMMMMMMMP'                  `H:&H&
-i       `9MMMMMMMMMT                     `|?"?
-:         MMMMMMMMMH                       "`\
-:         MMMMMMMMMH-.dH                    ,|
- :        ?MMMMMMM?  {M' .                .dT
-  .        ?MMMMMR'  `'                  ,MP
-   -        `HMM#'                      .&*
-    '.        '                         `.
-      -                               . '
-       `..                          .-
-           -.                    .-
-              '-.==p##HMMHp&#"""
-\e[H              _v---:?&?:?&?&#b\_
-          ..' i: #M$MMMMMMMMMMMMMHo_
-       ..   -]M#HMHMMMMMMMMMMMMMMMMMHo.
-     .     ooP*&6&MMMMMMMMMMMMMMMMMMMMM?.
-    . -   &Rbbd-/`?:##HMMMMMMMMMMMMMMMMMH?
-   -    ,HMMMMM#od#boodMMMMHMMMMMMMMMMMMMMb
-  -   iMMMMMMMMMMMMMMM[*MMMH&$R***MMMMMMMMMb
- :   |MMMMMMMMMMMMMMMMML"MMMMMM'  ``MMMP"HMM:
-.    HMMMMMMMMMMMMMMMMMMb/MH""      `MR   *M,|
-:    TMMMMMMMMMMMMMMMMMMMMd#&`       `D.   ?|\
-.     `*"'"*HMMMMMMMMMMMMMMP'          '  -d,J
-:           |MMMMMMMMMMMMP'                ||M
-M,           ?MMMMMMMMMM|                  `\?
-&|            HMMMMMMMMM}                   ``
-`L           .MMMMMMMMMMP ,d|                :
- *.           ?MMMMMMMF' .MP                /
-  |            TMMMMMM'  `"'               /
-  `.            `MMMP'                   ./
-    -.           `                       .
-      .                               . '
-        - .                         .-
-           -\                   ..-
-              '-..=p####HMH&="""
-\e[H              _vo~^'':&b::d,#b\_
-          ..`" `:v +9P]MMMMMMMMMMHo_
-        ,-     ?Mb#MMMMMMMMMMMMMMMMMHo.
-     . "     ,ooM*&&&HMMMMMMMMMMMMMMMMHb.
-    .   -    99Soo?|'`*?##HMMMMMMMMMMMMMH\
-   -       .HMMMMMM#od#boodMMMMHMMMMMMMMMMb
-  -      :MMMMMMMMMMMMMMMM67HMMH&$R**HMMMMMb
- :      .MMMMMMMMMMMMMMMMMMM/HMMMMM|  `9MM'HL
-:       {MMMMMMMMMMMMMMMMMMMM\MM*''    `H[ `9|
-|       `HMMMMMMMMMMMMMMMMMMMMb##|      `F. :?
-H        `"*"'"`#MMMMMMMMMMMMMMM?         '  k
-M.               MMMMMMMMMMMMM"'             H
-MMH.             `HMMMMMMMMMM:               |
-&MM|              `MMMMMMMMMM,               -
-`MM|              dMMMMMMMMMM|.oH            :
- 9ML              `HMMMMMMM?  dH'           -
-  Hi               |MMMMMMP   "'           .'
-   T.               `MMM#'                -
-    `.               `                  .`
-     `                                 -
-       `.. .                        ..'
-           ...                   .-
-              '-. //######M#b~""
-\e[H              _ooq=""''$b$_&?b\_
-          .-`^"  "'o |&M:MMMMMMMMHo_
-        o/'      -$Mb#MMMMMMMMMMMMMMHo.
-      /'        .ooHP*&R&MMMMMMMMMMMMMM?.
-    .'          `MRbod?|'`+?##9MMMMMMMMMH\
-  .`          .,MMMMMMH#od##obdMMMMHMMMMMMb
-  -          ?MMMMMMMMMMMMMMMMM$HMMH$ZP*HMMb
- ?          |MMMMMMMMMMMMMMMMMMM|9MMMMP  "M6\
-.-          dMMMMMMMMMMMMMMMMMMMMb]M*'    |R |
-1|          `HMMMMMMMMMMMMMMMMMMMMMd#|     ?,:
-MH,          ``*""'"*#MMMMMMMMMMMMMM*       '`
-MM6_                 |MMMMMMMMMMMMH"         :
-MMMMMb.               "MMMMMMMMMMT           -
-&MMMMM'                |MMMMMMMMMH           `
-!MMMMb                .HMMMMMMMMM+.?&        :
- TMMMM                 *MMMMMMMP  dH' .     :
-  9MM'                 `MMMMMMP'  "'       .
-   9ML                  `MMM#'            -
-    `H                   `               :
-     `\.                               .'
-       `-\  .                       .-
-          ' ._                   .-`
-              '-\. ,b#####p&**^`
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/interact.py b/lldb/third_party/Python/module/pexpect-4.6/tests/interact.py
deleted file mode 100755 (executable)
index a839e95..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-try:
-    # This allows coverage to measure code run in this process
-    import coverage
-    coverage.process_startup()
-except ImportError:
-    pass
-
-from utils import no_coverage_env
-import pexpect
-import sys
-
-
-def main():
-    p = pexpect.spawn('{sys.executable} getch.py'.format(sys=sys),
-                      env=no_coverage_env())
-
-    # defaults matches api
-    escape_character = chr(29)
-    encoding = None
-
-    if len(sys.argv) > 1 and '--no-escape' in sys.argv:
-        escape_character = None
-
-    if len(sys.argv) > 1 and '--utf8' in sys.argv:
-        encoding = 'utf8'
-
-    p.interact(escape_character=escape_character)
-
-    print("Escaped interact")
-
-if __name__ == '__main__':
-    main()
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/list100.py b/lldb/third_party/Python/module/pexpect-4.6/tests/list100.py
deleted file mode 100644 (file)
index 3b2b6ec..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-# -*- coding: utf-8 -*-
-print(list(range(100)))
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/needs_kill.py b/lldb/third_party/Python/module/pexpect-4.6/tests/needs_kill.py
deleted file mode 100755 (executable)
index 810236b..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/usr/bin/env python
-"""This script can only be killed by SIGKILL."""
-import signal, time
-
-# Ignore interrupt, hangup and continue signals - only SIGKILL will work
-signal.signal(signal.SIGINT, signal.SIG_IGN)
-signal.signal(signal.SIGHUP, signal.SIG_IGN)
-signal.signal(signal.SIGCONT, signal.SIG_IGN)
-
-print('READY')
-while True:
-    time.sleep(10)
-    
\ No newline at end of file
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/pexpectTest.py b/lldb/third_party/Python/module/pexpect-4.6/tests/pexpectTest.py
deleted file mode 100755 (executable)
index 6839a2f..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-
-import time
-import pexpect
-import sys
-
-def getProcessResults(cmd, timeLimit=20):
-  '''
-  executes 'cmd' as a child process and returns the child's output,
-  the duration of execution, and the process exit status. Aborts if
-  child process does not generate output for 'timeLimit' seconds.
-  '''
-  output = ""
-  startTime = time.time()
-  child = pexpect.spawn(cmd, timeout=10)
-  child.logfile = sys.stdout
-
-  while 1:
-    try:
-      # read_nonblocking will add to 'outout' one byte at a time
-      # newlines can show up as '\r\n' so we kill any '\r's which
-      # will mess up the formatting for the viewer
-      output += child.read_nonblocking(timeout=timeLimit).replace("\r","")
-    except pexpect.EOF as e:
-      print(str(e))
-      # process terminated normally
-      break
-    except pexpect.TIMEOUT as e:
-      print(str(e))
-      output += "\nProcess aborted by FlashTest after %s seconds.\n" % timeLimit
-      print(child.isalive())
-      child.kill(9)
-      break
-
-  endTime = time.time()
-  child.close(force=True)
-
-  duration = endTime - startTime
-  exitStatus = child.exitstatus
-
-  return (output, duration, exitStatus)
-
-cmd = "./ticker.py"
-
-result, duration, exitStatus = getProcessResults(cmd)
-
-print("result: %s" % result)
-print("duration: %s" % duration)
-print("exit-status: %s" % exitStatus)
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/platform_checks/CSIGNALTEST/test.c b/lldb/third_party/Python/module/pexpect-4.6/tests/platform_checks/CSIGNALTEST/test.c
deleted file mode 100644 (file)
index 86bcc17..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-/* I built this with "gcc -lutil test.c -otest" */
-#include <sys/types.h>  /* include this before any other sys headers */
-#include <sys/wait.h>   /* header for waitpid() and various macros */
-#include <signal.h>     /* header for signal functions */
-#include <stdio.h>      /* header for fprintf() */
-#include <unistd.h>     /* header for fork() */
-#ifdef LINUX
-#include <pty.h>
-#else
-#include <util.h>      /* header for forkpty, compile with -lutil */
-#endif
-
-void sig_chld(int);  /* prototype for our SIGCHLD handler */
-
-int main() 
-{
-    struct sigaction act;
-    int pid;
-    int fdm;
-    char slave_name [20];
-
-
-    /* Assign sig_chld as our SIGCHLD handler.
-       We don't want to block any other signals in this example 
-       We're only interested in children that have terminated, not ones
-       which have been stopped (eg user pressing control-Z at terminal).
-       Finally, make these values effective. If we were writing a real 
-       application, we would save the old value instead of passing NULL.
-     */
-    act.sa_handler = sig_chld;
-    sigemptyset(&act.sa_mask);
-    act.sa_flags = SA_NOCLDSTOP;
-    if (sigaction(SIGCHLD, &act, NULL) < 0) 
-    {
-        fprintf(stderr, "sigaction failed\n");
-        return 1;
-    }
-
-    /* Do the Fork thing. 
-    */
-    pid = forkpty (&fdm, slave_name, NULL, NULL);
-    /* pid = fork(); */
-
-    switch (pid)
-    {
-           case -1:
-               fprintf(stderr, "fork failed\n");
-               return 1;
-           break;
-
-           case 0: /* Child process. */     
-               printf ("This child output will cause trouble.\n");
-               _exit(7);
-           break;
-
-           default: /* Parent process. */
-               sleep(1);
-               printf ("Child pid: %d\n", pid); 
-               sleep(10);  /* let child finish -- crappy way to avoid race. */
-           break;
-    }
-
-    return 0;
-}
-void sig_chld(int signo) 
-{
-    int status, wpid, child_val;
-
-    printf ("In sig_chld signal handler.\n");
-
-    /* Wait for any child without blocking */
-    wpid = waitpid (-1, & status, WNOHANG);
-    printf ("\tWaitpid found status for pid: %d\n", wpid);
-    if (wpid < 0)
-    {
-        fprintf(stderr, "\twaitpid failed\n");
-        return;
-    }
-    printf("\tWaitpid status: %d\n", status);
-
-    if (WIFEXITED(status)) /* did child exit normally? */
-    {
-        child_val = WEXITSTATUS(status); 
-        printf("\tchild exited normally with status %d\n", child_val);
-    }
-    printf ("End of sig_chld.\n");
-}
-
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/platform_checks/README b/lldb/third_party/Python/module/pexpect-4.6/tests/platform_checks/README
deleted file mode 100644 (file)
index d50f94c..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-These scripts are for checking how the underlying system behaves, not for
-testing Pexpect itself.
\ No newline at end of file
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/platform_checks/check.py b/lldb/third_party/Python/module/pexpect-4.6/tests/platform_checks/check.py
deleted file mode 100755 (executable)
index b41755a..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/usr/bin/env python
-import signal
-import os
-import time
-import pty
-
-def signal_handler (signum, frame):
-    print 'Signal handler called with signal:', signum
-    print 'signal.SIGCHLD=', signal.SIGKILL
-
-# First thing we do is set up a handler for SIGCHLD.
-signal.signal (signal.SIGCHLD, signal.SIG_IGN)
-
-print 'PART 1 -- Test signal handling with empty pipe.'
-# Create a child process for us to kill.
-try:
-    pid, fd = pty.fork()
-except Exception as e:
-    print str(e)
-
-if pid == 0:
-#    os.write (sys.stdout.fileno(), 'This is a test.\n This is a test.')
-    time.sleep(10000)
-
-print 'Sending SIGKILL to child pid:', pid
-os.kill (pid, signal.SIGKILL)
-
-# SIGCHLD should interrupt sleep.
-# Note that this is a race.
-# It is possible that the signal handler will get called
-# before we try to sleep, but this has not happened yet.
-# But in that case we can only tell by order of printed output.
-print 'Entering sleep...'
-try:
-    time.sleep(10)
-except:
-    print 'sleep was interrupted by signal.'
-
-# Just for fun let's see if the process is alive.
-try:
-    os.kill(pid, 0)
-    print 'Child is alive. This is ambiguous because it may be a Zombie.'
-except OSError as e:
-    print 'Child appears to be dead.'
-
-print 'PART 2 -- Test signal handling with full pipe.'
-# Create a child process for us to kill.
-try:
-    pid, fd = pty.fork()
-except Exception as e:
-    print str(e)
-
-if pid == 0:
-    os.write (sys.stdout.fileno(), 'This is a test.\n This is a test.')
-    time.sleep(10000)
-
-print 'Sending SIGKILL to child pid:', pid
-os.kill (pid, signal.SIGKILL)
-
-# SIGCHLD should interrupt sleep.
-# Note that this is a race.
-# It is possible that the signal handler will get called
-# before we try to sleep, but this has not happened yet.
-# But in that case we can only tell by order of printed output.
-print 'Entering sleep...'
-try:
-    time.sleep(10)
-except:
-    print 'sleep was interrupted by signal.'
-
-# Just for fun let's see if the process is alive.
-try:
-    os.kill(pid, 0)
-    print 'Child is alive. This is ambiguous because it may be a Zombie.'
-except OSError as e:
-    print 'Child appears to be dead.'
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/platform_checks/check2.py b/lldb/third_party/Python/module/pexpect-4.6/tests/platform_checks/check2.py
deleted file mode 100755 (executable)
index 0a7d5f8..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/usr/bin/env python
-import signal
-import os
-import time
-
-def signal_handler (signum, frame):
-       print 'Signal handler called with signal:', signum
-       print 'signal.SIGCHLD=', signal.SIGKILL
-
-# Create a child process for us to kill.
-pid = os.fork()
-if pid == 0:
-       time.sleep(10000)
-
-#signal.signal (signal.SIGCHLD, signal.SIG_IGN)
-signal.signal (signal.SIGCHLD, signal_handler)
-
-print 'Sending SIGKILL to child pid:', pid
-os.kill (pid, signal.SIGKILL)
-
-# SIGCHLD should interrupt sleep.
-# Note that this is a race.
-# It is possible that the signal handler will get called
-# before we try to sleep, but this has not happened yet.
-# But in that case we can only tell by order of printed output.
-interrupted = 0
-try:
-       time.sleep(10)
-except:
-       print 'sleep was interrupted by signal.'
-       interrupted = 1
-
-if not interrupted:
-       print 'ERROR. Signal did not interrupt sleep.'
-else:
-       print 'Signal interrupted sleep. This is good.'
-
-# Let's see if the process is alive.
-try:
-       os.kill(pid, 0)
-       print 'Child is alive. This is ambiguous because it may be a Zombie.'
-except OSError as e:
-       print 'Child appears to be dead.'
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/platform_checks/check_control_terminal.py b/lldb/third_party/Python/module/pexpect-4.6/tests/platform_checks/check_control_terminal.py
deleted file mode 100755 (executable)
index 9598fd7..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/usr/bin/env python
-
-import termios, fcntl, struct, os, sys
-
-def getwinsize():      
-       s = struct.pack("HHHH", 0, 0, 0, 0)
-       x = fcntl.ioctl(sys.stdout.fileno(), termios.TIOCGWINSZ, s)
-       rows, cols = struct.unpack("HHHH", x)[:2]
-       return rows, cols
-
-def setwinsize(r,c):
-       # Assume ws_xpixel and ws_ypixel are zero.
-       s = struct.pack("HHHH", r,c,0,0)
-       x = fcntl.ioctl(sys.stdout.fileno(), termios.TIOCSWINSZ, s)
-print 'stdin tty:', os.ttyname(0)
-print 'stdout tty:', os.ttyname(1)
-print 'controlling terminal:', os.ctermid() 
-print 'winsize %d,%d' % getwinsize()
-print 'ENDTEST'
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/platform_checks/check_handler.py b/lldb/third_party/Python/module/pexpect-4.6/tests/platform_checks/check_handler.py
deleted file mode 100755 (executable)
index c0633eb..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/usr/bin/env python
-import signal
-import os
-import time
-import pty
-import sys
-import fcntl
-import tty
-GLOBAL_SIGCHLD_RECEIVED = 0
-                                                                                 
-def nonblock (fd):                                                           
-       # if O_NDELAY is set read() returns 0 (ambiguous with EOF).
-       # if O_NONBLOCK is set read() returns -1 and sets errno to EAGAIN
-       original_flags = fcntl.fcntl (fd, fcntl.F_GETFL, 0)
-       flags = original_flags | os.O_NONBLOCK
-       fcntl.fcntl(fd, fcntl.F_SETFL, flags)
-       return original_flags
-
-def signal_handler (signum, frame):
-       print '<HANDLER>'
-       global GLOBAL_SIGCHLD_RECEIVED
-       status = os.waitpid (-1, os.WNOHANG)
-       if status[0] == 0:
-               print 'No process for waitpid:', status
-       else:
-               print 'Status:', status
-       print 'WIFEXITED(status):', os.WIFEXITED(status[1])
-       print 'WEXITSTATUS(status):', os.WEXITSTATUS(status[1]) 
-       GLOBAL_SIGCHLD_RECEIVED = 1
-
-def main ():
-       signal.signal (signal.SIGCHLD, signal_handler)
-       pid, fd = pty.fork()
-       if pid == 0:
-               os.write (sys.stdout.fileno(), 'This is a test.\nThis is a test.')
-               time.sleep(10000)
-       nonblock (fd)
-       tty.setraw(fd) #STDIN_FILENO)
-       print 'Sending SIGKILL to child pid:', pid
-       time.sleep(2)
-       os.kill (pid, signal.SIGKILL)
-
-       print 'Entering to sleep...'
-       try:
-               time.sleep(2)
-       except:
-               print 'Sleep interrupted'
-       try:
-               os.kill(pid, 0)
-               print '\tChild is alive. This is ambiguous because it may be a Zombie.'
-       except OSError as e:
-               print '\tChild appears to be dead.'
-#              print str(e)
-       print
-       print 'Reading from master fd:', os.read (fd, 1000)
-
-
-
-if __name__ == '__main__':
-       main ()
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/platform_checks/check_read.py b/lldb/third_party/Python/module/pexpect-4.6/tests/platform_checks/check_read.py
deleted file mode 100755 (executable)
index 9598aa7..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-import os
-
-filename = os.tmpnam()
-print 'filename:', filename
-
-fd_out = os.open(filename, os.O_CREAT | os.O_WRONLY)
-print 'fd_out:', fd_out
-os.write (fd_out, 'This is a test.\n')
-os.close(fd_out)
-print
-print 'testing read on good fd...'
-fd_in = os.open (filename, os.O_RDONLY)
-print 'fd_in:', fd_in
-while 1:
-       data_in = os.read(fd_in, 1)
-       print 'data_in:', data_in
-       if data_in == '':
-               print 'data_in was empty'
-               break #sys.exit(1)
-os.close(fd_in)
-print
-print
-print 'testing read on closed fd...'
-fd_in = os.open ('test_read.py', os.O_RDONLY)
-print 'fd_in:', fd_in
-while 1:
-       data_in = os.read(fd_in, 1)
-       print 'data_in:', data_in
-       if data_in == '':
-               print 'data_in was empty'
-               break
-os.close(fd_in)
-d = os.read(fd_in, 1) # fd_in should be closed now...
-if s == '':
-       print 'd is empty. good.'
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/platform_checks/check_signals.py b/lldb/third_party/Python/module/pexpect-4.6/tests/platform_checks/check_signals.py
deleted file mode 100755 (executable)
index d45bc8a..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/usr/bin/env python
-import signal
-import os
-import time
-import pty
-import sys
-GLOBAL_SIGCHLD_RECEIVED = 0
-
-def signal_handler (signum, frame):
-    print '<HANDLER>'
-    global GLOBAL_SIGCHLD_RECEIVED
-    status = os.waitpid (-1, os.WNOHANG)
-    print 'WIFEXITED(status):', os.WIFEXITED(status)
-    print 'WEXITSTATUS(status):', os.WEXITSTATUS(status) 
-    GLOBAL_SIGCHLD_RECEIVED = 1
-
-def main ():
-#      sig_test ('SIG_IGN', 'ptyfork', 'yes')
-       sig_test ('handler', 'ptyfork', 'yes')
-#      sig_test ('SIG_IGN', 'ptyfork', 'no')
-#      sig_test ('handler', 'ptyfork', 'no')
-#      sig_test ('SIG_IGN', 'osfork', 'yes')
-#      sig_test ('handler', 'osfork', 'yes')
-#      sig_test ('SIG_IGN', 'osfork', 'no')
-#      sig_test ('handler', 'osfork', 'no')
-
-def sig_test (sig_handler_type, fork_type, child_output):
-       print 'Testing with:'
-       print '\tsig_handler_type:', sig_handler_type
-       print '\tfork_type:', fork_type
-       print '\tchild_output:', child_output
-
-       if sig_handler_type == 'SIG_IGN':
-               signal.signal (signal.SIGCHLD, signal.SIG_IGN)
-       else:
-               signal.signal (signal.SIGCHLD, signal_handler)
-       pid = -1
-       fd = -1
-       if fork_type == 'ptyfork':
-               pid, fd = pty.fork()
-       else:
-               pid = os.fork()
-
-       if pid == 0:
-               if child_output == 'yes':
-                       os.write (sys.stdout.fileno(), 'This is a test.\nThis is a test.')
-               time.sleep(10000)
-
-       #print 'Sending SIGKILL to child pid:', pid
-       time.sleep(2)
-       os.kill (pid, signal.SIGKILL)
-
-       #print 'Entering to sleep...'
-       try:
-               time.sleep(2)
-       except:
-               pass
-       try:
-               os.kill(pid, 0)
-               print '\tChild is alive. This is ambiguous because it may be a Zombie.'
-       except OSError as e:
-               print '\tChild appears to be dead.'
-#              print str(e)
-       print
-
-if __name__ == '__main__':
-       main ()
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/qa.py b/lldb/third_party/Python/module/pexpect-4.6/tests/qa.py
deleted file mode 100755 (executable)
index f50e3ed..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-import commands
-import signal
-
-signal.signal(signal.SIGCHLD, signal.SIG_IGN)
-print(commands.getoutput('/bin/ls -l'))
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/sigwinch_report.py b/lldb/third_party/Python/module/pexpect-4.6/tests/sigwinch_report.py
deleted file mode 100755 (executable)
index f10956a..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-from  __future__ import print_function
-
-import signal, time, struct, fcntl, termios, sys
-
-def getwinsize():
-    '''This returns the window size of the child tty.
-    The return value is a tuple of (rows, cols).
-    '''
-    if 'TIOCGWINSZ' in dir(termios):
-        TIOCGWINSZ = termios.TIOCGWINSZ
-    else:
-        TIOCGWINSZ = 1074295912 # Assume
-    s = struct.pack('HHHH', 0, 0, 0, 0)
-    x = fcntl.ioctl(sys.stdout.fileno(), TIOCGWINSZ, s)
-    return struct.unpack('HHHH', x)[0:2]
-
-def handler(signum, frame):
-    print('signal')
-    sys.stdout.flush()
-    print('SIGWINCH:', getwinsize ())
-    sys.stdout.flush()
-
-print("Initial Size:", getwinsize())
-print("setting handler for SIGWINCH")
-signal.signal(signal.SIGWINCH, handler)
-print("READY")
-
-while 1:
-    sys.stdout.flush()
-    time.sleep(1)
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/sleep_for.py b/lldb/third_party/Python/module/pexpect-4.6/tests/sleep_for.py
deleted file mode 100755 (executable)
index 9027105..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-
-from  __future__ import print_function
-
-import time
-import sys
-
-def main():
-    """
-        This script sleeps for the number of seconds (float) specified by the
-        command line argument.
-    """
-    if len(sys.argv) < 2:
-        print("Usage: %s seconds_to_sleep" % (sys.argv[0],))
-        sys.exit(1)
-    timeout = float(sys.argv[1])
-    print("READY")
-    time.sleep(timeout)
-    print("END")
-
-if __name__ == '__main__':
-    main()
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/swapcase_echo.py b/lldb/third_party/Python/module/pexpect-4.6/tests/swapcase_echo.py
deleted file mode 100755 (executable)
index aaac442..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-import sys, time
-while True:
-    x = raw_input ()
-    time.sleep(1) # without this delay the test would fail about 75% of the time. Why?
-    print(x.swapcase())
-    sys.stdout.flush()
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/test_FSM.py b/lldb/third_party/Python/module/pexpect-4.6/tests/test_FSM.py
deleted file mode 100644 (file)
index 3425fd2..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-import io
-import sys
-import unittest
-try:
-    import builtins
-except ImportError:
-    import __builtin__ as builtins
-
-PY3 = (sys.version_info[0] >= 3)
-input_name = 'input' if PY3 else 'raw_input'
-
-from pexpect import FSM
-
-class FSMTestCase(unittest.TestCase):
-    def test_run_fsm(self):
-        def _input(prompt):
-            return "167 3 2 2 * * * 1 - ="
-        orig_input = getattr(builtins, input_name)
-        orig_stdout = sys.stdout
-        setattr(builtins, input_name, _input)
-        sys.stdout = sio = (io.StringIO if PY3 else io.BytesIO)()
-        
-        try:
-            FSM.main()
-        finally:
-            setattr(builtins, input_name, orig_input)
-            sys.stdout = orig_stdout
-        
-        printed = sio.getvalue()
-        assert '2003' in printed, printed
-        
-        
-if __name__ == '__main__':
-    unittest.main()
\ No newline at end of file
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/test_ansi.py b/lldb/third_party/Python/module/pexpect-4.6/tests/test_ansi.py
deleted file mode 100755 (executable)
index a9d445e..0000000
+++ /dev/null
@@ -1,228 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-from pexpect import ANSI
-import unittest
-from . import PexpectTestCase
-import sys
-
-PY3 = (sys.version_info[0] >= 3)
-
-write_target = 'I\'ve got a ferret sticking up my nose.                           \n' +\
-'(He\'s got a ferret sticking up his nose.)                        \n' +\
-'How it got there I can\'t tell                                    \n' +\
-'But now it\'s there it hurts like hell                            \n' +\
-'And what is more it radically affects my sense of smell.         \n' +\
-'(His sense of smell.)                                            '
-
-write_text = 'I\'ve got a ferret sticking up my nose.\n' + \
-'(He\'s got a ferret sticking up his nose.)\n' + \
-'How it got there I can\'t tell\n' + \
-'But now it\'s there it hurts like hell\n' + \
-'And what is more it radically affects my sense of smell.\n' + \
-'(His sense of smell.)\n' + \
-'I can see a bare-bottomed mandril.\n' + \
-'(Slyly eyeing his other nostril.)\n' + \
-'If it jumps inside there too I really don\'t know what to do\n' + \
-'I\'ll be the proud posessor of a kind of nasal zoo.\n' + \
-'(A nasal zoo.)\n' + \
-'I\'ve got a ferret sticking up my nose.\n' + \
-'(And what is worst of all it constantly explodes.)\n' + \
-'"Ferrets don\'t explode," you say\n' + \
-'But it happened nine times yesterday\n' + \
-'And I should know for each time I was standing in the way.\n' + \
-'I\'ve got a ferret sticking up my nose.\n' + \
-'(He\'s got a ferret sticking up his nose.)\n' + \
-'How it got there I can\'t tell\n' + \
-'But now it\'s there it hurts like hell\n' + \
-'And what is more it radically affects my sense of smell.\n' + \
-'(His sense of smell.)'
-
-tetris_target='                           XX            XXXX    XX                             \n' +\
-'                           XXXXXX    XXXXXXXX    XX                             \n' +\
-'                           XXXXXX    XXXXXXXX    XX                             \n' +\
-'                           XX  XX    XX  XXXX    XX                             \n' +\
-'                           XXXXXX  XXXX  XXXX    XX                             \n' +\
-'                           XXXXXXXXXX    XXXX    XX                             \n' +\
-'                           XX  XXXXXX      XX    XX                             \n' +\
-'                           XXXXXX          XX    XX                             \n' +\
-'                           XXXX    XXXXXX  XX    XX                             \n' +\
-'                           XXXXXX    XXXX  XX    XX                             \n' +\
-'                           XX  XX    XXXX  XX    XX                             \n' +\
-'                           XX  XX      XX  XX    XX                             \n' +\
-'                           XX  XX    XXXX  XXXX  XX                             \n' +\
-'                           XXXXXXXX  XXXX  XXXX  XX                             \n' +\
-'                           XXXXXXXXXXXXXX  XXXXXXXX                             \n' +\
-'                           XX    XXXXXXXX  XX    XX                             \n' +\
-'                           XXXXXXXXXXXXXX  XX    XX                             \n' +\
-'                           XX  XXXX    XXXXXX    XX                             \n' +\
-'                           XXXXXX          XXXXXXXX                             \n' +\
-'                           XXXXXXXXXX      XX    XX                             \n' +\
-'                           XXXXXXXXXXXXXXXXXXXXXXXX                             \n' +\
-'                                                                                \n' +\
-'  J->LEFT  K->ROTATE  L->RIGHT  SPACE->DROP  P->PAUSE  Q->QUIT                  \n' +\
-'                                                                                '
-
-torture_target='+--------------------------------------------------------------------------------+\n' +\
-'|a`opqrs`      This is the       `srqpo`a                                        |\n' +\
-'|VT100 series Torture Test Demonstration.                                        |\n' +\
-'|VT100 series Torture Test Demonstration.                                        |\n' +\
-'|This is a normal line __________________________________________________y_      |\n' +\
-'|This is a bold line (normal unless the Advanced Video Option is installed)      |\n' +\
-'|This line is underlined _ "       "       "       "       "       "    _y_      |\n' +\
-'|This is a blinking line _ "       "       "       "       "       "    _y_      |\n' +\
-'|This is inverse video _ (underlined if no AVO and cursor is underline) _y_      |\n' +\
-'|Normal gjpqy Underline   Blink   Underline+Blink gjpqy                          |\n' +\
-'|Bold   gjpqy Underline   Blink   Underline+Blink gjpqy                          |\n' +\
-'|Inverse      Underline   Blink   Underline+Blink                                |\n' +\
-'|Bold+Inverse Underline   Blink   Underline+Blink                                |\n' +\
-'|This is double width                                                            |\n' +\
-'|This is double height                                                           |\n' +\
-'|This is double height                                                           |\n' +\
-'|_ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ioy                                        |\n' +\
-'|_ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ioy                                        |\n' +\
-'|_ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ioy                                        |\n' +\
-'|`abcdefghijklmnopqrstuvwxyz{|}~ lqwqk                                           |\n' +\
-'|`abcdefghijklmnopqrstuvwxyz{|}~ tqnqu                                           |\n' +\
-'|`abcdefghijklmnopqrstuvwxyz{|}~ tqnqu                                           |\n' +\
-'|`abcdefghijklmnopqrstuvwxyz{|}~ mqvqj                                           |\n' +\
-'|   This test created by Joe Smith, 8-May-85                                     |\n' +\
-'|                                                                                |\n' +\
-'+--------------------------------------------------------------------------------+\n'
-
-class ansiTestCase (PexpectTestCase.PexpectTestCase):
-    def test_write (self):
-        s = ANSI.ANSI (6,65)
-        s.fill('.')
-        s.cursor_home()
-        for c in write_text:
-            s.write (c)
-        assert str(s) == write_target
-
-    def test_torturet (self):
-        s = ANSI.ANSI (24,80)
-        with open('torturet.vt') as f:
-            sample_text = f.read()
-        for c in sample_text:
-            s.process (c)
-        assert s.pretty() == torture_target, 'processed: \n' + s.pretty() + '\nexpected:\n' + torture_target
-
-    def test_tetris (self):
-        s = ANSI.ANSI (24,80)
-        with open('tetris.data') as f:
-            tetris_text = f.read()
-        for c in tetris_text:
-            s.process (c)
-        assert str(s) == tetris_target
-
-    def test_lines(self):
-        s = ANSI.ANSI(5, 5)
-        s.write('a'*6 + '\n')
-        s.write('ab\bcd\n')
-        s.write('ab\rcd\n')
-        assert str(s) == ('aaaaa\n'
-                          'a    \n'
-                          'acd  \n'
-                          'cd   \n'
-                          '     ')
-
-    def test_number_x(self):
-        """Test the FSM state used to handle more than 2 numeric parameters."""
-        class TestANSI(ANSI.ANSI):
-            captured_memory = None
-            def do_sgr(self, fsm):
-                assert self.captured_memory is None
-                self.captured_memory = fsm.memory
-
-        s = TestANSI(1, 20)
-        s.write('\x1b[0;1;32;45mtest')
-        assert str(s) == ('test                ')
-        assert s.captured_memory is not None
-        assert s.captured_memory == [s, '0', '1', '32', '45']
-
-    def test_fsm_memory(self):
-        """Test the FSM stack/memory does not have numbers left on it
-        after some sequences with numbers are passed in."""
-        s = ANSI.ANSI(1, 20)
-        s.write('\x1b[0;1;2;3m\x1b[4;5;6;7q\x1b[?8h\x1b[?9ltest')
-        assert str(s) == ('test                ')
-        assert s.state.memory == [s]
-
-    def test_utf8_bytes(self):
-        """Test that when bytes are passed in containing UTF-8 encoded
-        characters, where the encoding of each character consists of
-        multiple bytes, the characters are correctly decoded.
-        Incremental decoding is also tested."""
-        s = ANSI.ANSI(2, 10, encoding='utf-8')
-        # This is the UTF-8 encoding of the UCS character "HOURGLASS"
-        # followed by the UTF-8 encoding of the UCS character
-        # "KEYBOARD".  These characters can't be encoded in cp437 or
-        # latin-1.  The "KEYBOARD" character is split into two
-        # separate writes.
-        s.write(b'\xe2\x8c\x9b')
-        s.write(b'\xe2\x8c')
-        s.write(b'\xa8')
-        if PY3:
-            assert str(s) == u'\u231b\u2328        \n          '
-        else:
-            assert unicode(s) == u'\u231b\u2328        \n          '
-            assert str(s) == b'\xe2\x8c\x9b\xe2\x8c\xa8        \n          '
-        assert s.dump() == u'\u231b\u2328                  '
-        assert s.pretty() == u'+----------+\n|\u231b\u2328        |\n|          |\n+----------+\n'
-        assert s.get_abs(1, 1) == u'\u231b'
-        assert s.get_region(1, 1, 1, 5) == [u'\u231b\u2328   ']
-
-    def test_unicode(self):
-        """Test passing in of a unicode string."""
-        s = ANSI.ANSI(2, 10, encoding="utf-8")
-        s.write(u'\u231b\u2328')
-        if PY3:
-            assert str(s) == u'\u231b\u2328        \n          '
-        else:
-            assert unicode(s) == u'\u231b\u2328        \n          '
-            assert str(s) == b'\xe2\x8c\x9b\xe2\x8c\xa8        \n          '
-        assert s.dump() == u'\u231b\u2328                  '
-        assert s.pretty() == u'+----------+\n|\u231b\u2328        |\n|          |\n+----------+\n'
-        assert s.get_abs(1, 1) == u'\u231b'
-        assert s.get_region(1, 1, 1, 5) == [u'\u231b\u2328   ']
-
-    def test_decode_error(self):
-        """Test that default handling of decode errors replaces the
-        invalid characters."""
-        s = ANSI.ANSI(2, 10, encoding="ascii")
-        s.write(b'\xff') # a non-ASCII character
-        # In unicode, the non-ASCII character is replaced with
-        # REPLACEMENT CHARACTER.
-        if PY3:
-            assert str(s) == u'\ufffd         \n          '
-        else:
-            assert unicode(s) == u'\ufffd         \n          '
-            assert str(s) == b'?         \n          '
-        assert s.dump() == u'\ufffd                   '
-        assert s.pretty() == u'+----------+\n|\ufffd         |\n|          |\n+----------+\n'
-        assert s.get_abs(1, 1) == u'\ufffd'
-        assert s.get_region(1, 1, 1, 5) == [u'\ufffd    ']
-
-
-if __name__ == '__main__':
-    unittest.main()
-
-suite = unittest.makeSuite(ansiTestCase,'test')
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/test_async.py b/lldb/third_party/Python/module/pexpect-4.6/tests/test_async.py
deleted file mode 100644 (file)
index 1cc3236..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-try:
-    import asyncio
-except ImportError:
-    asyncio = None
-
-import gc
-import sys
-import unittest
-
-import pexpect
-from .PexpectTestCase import PexpectTestCase
-
-def run(coro):
-    return asyncio.get_event_loop().run_until_complete(coro)
-
-@unittest.skipIf(asyncio is None, "Requires asyncio")
-class AsyncTests(PexpectTestCase):
-    def test_simple_expect(self):
-        p = pexpect.spawn('cat')
-        p.sendline('Hello asyncio')
-        coro = p.expect(['Hello', pexpect.EOF] , async_=True)
-        assert run(coro) == 0
-        print('Done')
-
-    def test_timeout(self):
-        p = pexpect.spawn('cat')
-        coro = p.expect('foo', timeout=1, async_=True)
-        with self.assertRaises(pexpect.TIMEOUT):
-            run(coro)
-        
-        p = pexpect.spawn('cat')
-        coro = p.expect(['foo', pexpect.TIMEOUT], timeout=1, async_=True)
-        assert run(coro) == 1
-
-    def test_eof(self):
-        p = pexpect.spawn('cat')
-        p.sendline('Hi')
-        coro = p.expect(pexpect.EOF, async_=True)
-        p.sendeof()
-        assert run(coro) == 0
-
-        p = pexpect.spawn('cat')
-        p.sendeof()
-        coro = p.expect('Blah', async_=True)
-        with self.assertRaises(pexpect.EOF):
-            run(coro)
-
-    def test_expect_exact(self):
-        p = pexpect.spawn('%s list100.py' % sys.executable)
-        assert run(p.expect_exact(b'5', async_=True)) == 0
-        assert run(p.expect_exact(['wpeok', b'11'], async_=True)) == 1
-        assert run(p.expect_exact([b'foo', pexpect.EOF], async_=True)) == 1
-
-    def test_async_utf8(self):
-        p = pexpect.spawn('%s list100.py' % sys.executable, encoding='utf8')
-        assert run(p.expect_exact(u'5', async_=True)) == 0
-        assert run(p.expect_exact([u'wpeok', u'11'], async_=True)) == 1
-        assert run(p.expect_exact([u'foo', pexpect.EOF], async_=True)) == 1
-
-    def test_async_and_gc(self):
-        p = pexpect.spawn('%s sleep_for.py 1' % sys.executable, encoding='utf8')
-        assert run(p.expect_exact(u'READY', async_=True)) == 0
-        gc.collect()
-        assert run(p.expect_exact(u'END', async_=True)) == 0
-
-    def test_async_and_sync(self):
-        p = pexpect.spawn('echo 1234', encoding='utf8', maxread=1)
-        assert run(p.expect_exact(u'1', async_=True)) == 0
-        assert p.expect_exact(u'2') == 0
-        assert run(p.expect_exact(u'3', async_=True)) == 0
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/test_command_list_split.py b/lldb/third_party/Python/module/pexpect-4.6/tests/test_command_list_split.py
deleted file mode 100755 (executable)
index 370f46e..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-import pexpect
-import unittest
-from . import PexpectTestCase
-
-class SplitCommandLineTestCase(PexpectTestCase.PexpectTestCase):
-    def testSplitSizes(self):
-        assert len(pexpect.split_command_line(r'')) == 0
-        assert len(pexpect.split_command_line(r'one')) == 1
-        assert len(pexpect.split_command_line(r'one two')) == 2
-        assert len(pexpect.split_command_line(r'one  two')) == 2
-        assert len(pexpect.split_command_line(r'one   two')) == 2
-        assert len(pexpect.split_command_line(r'one\ one')) == 1
-        assert len(pexpect.split_command_line('\'one one\'')) == 1
-        assert len(pexpect.split_command_line(r'one\"one')) == 1
-        assert len(pexpect.split_command_line(r'This\' is a\'\ test')) == 3
-
-if __name__ == '__main__':
-    unittest.main()
-
-suite = unittest.makeSuite(SplitCommandLineTestCase,'test')
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/test_constructor.py b/lldb/third_party/Python/module/pexpect-4.6/tests/test_constructor.py
deleted file mode 100755 (executable)
index 98c473a..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-import pexpect
-import unittest
-from . import PexpectTestCase
-
-class TestCaseConstructor(PexpectTestCase.PexpectTestCase):
-    def test_constructor (self):
-        '''This tests that the constructor will work and give
-        the same results for different styles of invoking __init__().
-        This assumes that the root directory / is static during the test.
-        '''
-        p1 = pexpect.spawn('uname -m -n -p -r -s -v')
-        p2 = pexpect.spawn('uname', ['-m', '-n', '-p', '-r', '-s', '-v'])
-        p1.expect(pexpect.EOF)
-        p2.expect(pexpect.EOF)
-        assert p1.before == p2.before
-
-    def test_named_parameters (self):
-        '''This tests that named parameters work.
-        '''
-        p = pexpect.spawn ('/bin/ls',timeout=10)
-        p = pexpect.spawn (timeout=10, command='/bin/ls')
-        p = pexpect.spawn (args=[], command='/bin/ls')
-
-if __name__ == '__main__':
-    unittest.main()
-
-suite = unittest.makeSuite(TestCaseConstructor,'test')
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/test_ctrl_chars.py b/lldb/third_party/Python/module/pexpect-4.6/tests/test_ctrl_chars.py
deleted file mode 100755 (executable)
index 10d03db..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-from __future__ import print_function
-
-import pexpect
-import unittest
-from . import PexpectTestCase
-import time
-import sys
-
-from ptyprocess import ptyprocess
-ptyprocess._make_eof_intr()
-
-if sys.version_info[0] >= 3:
-    def byte(i):
-        return bytes([i])
-else:
-    byte = chr
-
-class TestCtrlChars(PexpectTestCase.PexpectTestCase):
-
-    def test_control_chars(self):
-        '''This tests that we can send all 256 8-bit characters to a child
-        process.'''
-        child = pexpect.spawn('python getch.py', echo=False, timeout=5)
-        child.expect('READY')
-        for i in range(1, 256):
-            child.send(byte(i))
-            child.expect ('%d<STOP>' % (i,))
-
-        # This needs to be last, as getch.py exits on \x00
-        child.send(byte(0))
-        child.expect('0<STOP>')
-        child.expect(pexpect.EOF)
-        assert not child.isalive()
-        assert child.exitstatus == 0
-
-    def test_sendintr (self):
-        child = pexpect.spawn('python getch.py', echo=False, timeout=5)
-        child.expect('READY')
-        child.sendintr()
-        child.expect(str(ord(ptyprocess._INTR)) + '<STOP>')
-
-        child.send(byte(0))
-        child.expect('0<STOP>')
-        child.expect(pexpect.EOF)
-        assert not child.isalive()
-        assert child.exitstatus == 0
-
-    def test_sendeof(self):
-        child = pexpect.spawn('python getch.py', echo=False, timeout=5)
-        child.expect('READY')
-        child.sendeof()
-        child.expect(str(ord(ptyprocess._EOF)) + '<STOP>')
-
-        child.send(byte(0))
-        child.expect('0<STOP>')
-        child.expect(pexpect.EOF)
-        assert not child.isalive()
-        assert child.exitstatus == 0
-
-    def test_bad_sendcontrol_chars (self):
-        '''This tests that sendcontrol will return 0 for an unknown char. '''
-
-        child = pexpect.spawn('python getch.py', echo=False, timeout=5)
-        child.expect('READY')
-        assert 0 == child.sendcontrol('1')
-
-    def test_sendcontrol(self):
-        '''This tests that we can send all special control codes by name.
-        '''
-        child = pexpect.spawn('python getch.py', echo=False, timeout=5)
-        child.expect('READY')
-        for ctrl in 'abcdefghijklmnopqrstuvwxyz':
-            assert child.sendcontrol(ctrl) == 1
-            val = ord(ctrl) - ord('a') + 1
-            child.expect_exact(str(val)+'<STOP>')
-
-        # escape character
-        assert child.sendcontrol('[') == 1
-        child.expect('27<STOP>')
-        assert child.sendcontrol('\\') == 1
-        child.expect('28<STOP>')
-        # telnet escape character
-        assert child.sendcontrol(']') == 1
-        child.expect('29<STOP>')
-        assert child.sendcontrol('^') == 1
-        child.expect('30<STOP>')
-        # irc protocol uses this to underline ...
-        assert child.sendcontrol('_') == 1
-        child.expect('31<STOP>')
-        # the real "backspace is delete"
-        assert child.sendcontrol('?') == 1
-        child.expect('127<STOP>')
-
-        # NUL, same as ctrl + ' '
-        assert child.sendcontrol('@') == 1
-        child.expect('0<STOP>')
-        child.expect(pexpect.EOF)
-        assert not child.isalive()
-        assert child.exitstatus == 0
-
-if __name__ == '__main__':
-    unittest.main()
-
-suite = unittest.makeSuite(TestCtrlChars,'test')
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/test_delay.py b/lldb/third_party/Python/module/pexpect-4.6/tests/test_delay.py
deleted file mode 100644 (file)
index 1e4dba6..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-# -*- coding: utf-8 -*-
-
-from . import PexpectTestCase
-import pexpect
-
-
-class TestCaseDelay(PexpectTestCase.PexpectTestCase):
-    """
-    Tests for various delay attributes.
-    """
-    def test_delaybeforesend(self):
-        """
-        Test various values for delaybeforesend.
-        """
-        p = pexpect.spawn("cat")
-
-        p.delaybeforesend = 1
-        p.sendline("line 1")
-        p.expect("line 1")
-
-        p.delaybeforesend = 0.0
-        p.sendline("line 2")
-        p.expect("line 2")
-
-        p.delaybeforesend = None
-        p.sendline("line 3")
-        p.expect("line 3")
-
-    def test_delayafterread(self):
-        """
-        Test various values for delayafterread.
-        """
-        p = pexpect.spawn("cat")
-
-        p.delayafterread = 1
-        p.sendline("line 1")
-        p.expect("line 1")
-
-        p.delayafterread = 0.0
-        p.sendline("line 2")
-        p.expect("line 2")
-
-        p.delayafterread = None
-        p.sendline("line 3")
-        p.expect("line 3")
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/test_destructor.py b/lldb/third_party/Python/module/pexpect-4.6/tests/test_destructor.py
deleted file mode 100755 (executable)
index d27b6f6..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-import pexpect
-import unittest
-from . import PexpectTestCase
-import gc
-import platform
-import time
-
-class TestCaseDestructor(PexpectTestCase.PexpectTestCase):
-    def test_destructor (self):
-        if platform.python_implementation() != 'CPython':
-            # Details of garbage collection are different on other implementations
-            return 'SKIP'
-        gc.collect()
-        time.sleep(3)
-        p1 = pexpect.spawn('%s hello_world.py' % self.PYTHONBIN)
-        p2 = pexpect.spawn('%s hello_world.py' % self.PYTHONBIN)
-        p3 = pexpect.spawn('%s hello_world.py' % self.PYTHONBIN)
-        p4 = pexpect.spawn('%s hello_world.py' % self.PYTHONBIN)
-        fd_t1 = (p1.child_fd,p2.child_fd,p3.child_fd,p4.child_fd)
-        p1.expect(pexpect.EOF)
-        p2.expect(pexpect.EOF)
-        p3.expect(pexpect.EOF)
-        p4.expect(pexpect.EOF)
-        p1.kill(9)
-        p2.kill(9)
-        p3.kill(9)
-        p4.kill(9)
-        p1 = None
-        p2 = None
-        p3 = None
-        p4 = None
-        gc.collect()
-        time.sleep(3) # Some platforms are slow at gc... Solaris!
-
-        p1 = pexpect.spawn('%s hello_world.py' % self.PYTHONBIN)
-        p2 = pexpect.spawn('%s hello_world.py' % self.PYTHONBIN)
-        p3 = pexpect.spawn('%s hello_world.py' % self.PYTHONBIN)
-        p4 = pexpect.spawn('%s hello_world.py' % self.PYTHONBIN)
-        fd_t2 = (p1.child_fd,p2.child_fd,p3.child_fd,p4.child_fd)
-        p1.kill(9)
-        p2.kill(9)
-        p3.kill(9)
-        p4.kill(9)
-        del (p1)
-        del (p2)
-        del (p3)
-        del (p4)
-        gc.collect()
-        time.sleep(3)
-
-        p1 = pexpect.spawn('%s hello_world.py' % self.PYTHONBIN)
-        p2 = pexpect.spawn('%s hello_world.py' % self.PYTHONBIN)
-        p3 = pexpect.spawn('%s hello_world.py' % self.PYTHONBIN)
-        p4 = pexpect.spawn('%s hello_world.py' % self.PYTHONBIN)
-        fd_t3 = (p1.child_fd,p2.child_fd,p3.child_fd,p4.child_fd)
-
-        assert (fd_t1 == fd_t2 == fd_t3), "pty file descriptors not properly garbage collected (fd_t1,fd_t2,fd_t3)=(%s,%s,%s)" % (str(fd_t1),str(fd_t2),str(fd_t3))
-
-
-if __name__ == '__main__':
-    unittest.main()
-
-suite = unittest.makeSuite(TestCaseDestructor,'test')
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/test_dotall.py b/lldb/third_party/Python/module/pexpect-4.6/tests/test_dotall.py
deleted file mode 100755 (executable)
index 68aef3f..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-import pexpect
-import unittest
-import re
-from . import PexpectTestCase
-
-testdata = 'BEGIN\nHello world\nEND'
-class TestCaseDotall(PexpectTestCase.PexpectTestCase):
-    def test_dotall (self):
-        p = pexpect.spawn('echo "%s"' % testdata)
-        i = p.expect ([b'BEGIN(.*)END', pexpect.EOF])
-        assert i==0, 'DOTALL does not seem to be working.'
-
-    def test_precompiled (self):
-        p = pexpect.spawn('echo "%s"' % testdata)
-        pat = re.compile(b'BEGIN(.*)END') # This overrides the default DOTALL.
-        i = p.expect ([pat, pexpect.EOF])
-        assert i==1, 'Precompiled pattern to override DOTALL does not seem to be working.'
-
-if __name__ == '__main__':
-    unittest.main()
-
-suite = unittest.makeSuite(TestCaseDotall,'test')
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/test_env.py b/lldb/third_party/Python/module/pexpect-4.6/tests/test_env.py
deleted file mode 100755 (executable)
index ecaaa4b..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2016, Martin Packman <martin.packman@canonical.com>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-import contextlib
-import os
-import tempfile
-import unittest
-
-import pexpect
-from . import PexpectTestCase
-
-
-@contextlib.contextmanager
-def example_script(name, output='success'):
-    " helper to create a temporary shell script that tests can run "
-    tempdir = tempfile.mkdtemp(prefix='tmp-pexpect-test')
-    try:
-        script_path = os.path.join(tempdir, name)
-        with open(script_path, 'w') as f:
-            f.write('#!/bin/sh\necho "%s"' % (output,))
-        try:
-            os.chmod(script_path, 0o755)
-            yield tempdir
-        finally:
-            os.remove(script_path)
-    finally:
-        os.rmdir(tempdir)
-
-
-class TestCaseEnv(PexpectTestCase.PexpectTestCase):
-    " tests for the env argument to pexpect.spawn and pexpect.run "
-
-    def test_run_uses_env(self):
-        " pexpect.run uses env argument when running child process "
-        script_name = 'run_uses_env.sh'
-        environ = {'PEXPECT_TEST_KEY': 'pexpect test value'}
-        with example_script(script_name, '$PEXPECT_TEST_KEY') as script_dir:
-            script = os.path.join(script_dir, script_name)
-            out = pexpect.run(script, env=environ)
-        self.assertEqual(out.rstrip(), b'pexpect test value')
-
-    def test_spawn_uses_env(self):
-        " pexpect.spawn uses env argument when running child process "
-        script_name = 'spawn_uses_env.sh'
-        environ = {'PEXPECT_TEST_KEY': 'pexpect test value'}
-        with example_script(script_name, '$PEXPECT_TEST_KEY') as script_dir:
-            script = os.path.join(script_dir, script_name)
-            child = pexpect.spawn(script, env=environ)
-            out = child.readline()
-            child.expect(pexpect.EOF)
-        self.assertEqual(child.exitstatus, 0)
-        self.assertEqual(out.rstrip(), b'pexpect test value')
-
-    def test_run_uses_env_path(self):
-        " pexpect.run uses binary from PATH when given in env argument "
-        script_name = 'run_uses_env_path.sh'
-        with example_script(script_name) as script_dir:
-            out = pexpect.run(script_name, env={'PATH': script_dir})
-        self.assertEqual(out.rstrip(), b'success')
-
-    def test_run_uses_env_path_over_path(self):
-        " pexpect.run uses PATH from env over os.environ "
-        script_name = 'run_uses_env_path_over_path.sh'
-        with example_script(script_name, output='failure') as wrong_dir:
-            with example_script(script_name) as right_dir:
-                orig_path = os.environ['PATH']
-                os.environ['PATH'] = wrong_dir
-                try:
-                    out = pexpect.run(script_name, env={'PATH': right_dir})
-                finally:
-                    os.environ['PATH'] = orig_path
-        self.assertEqual(out.rstrip(), b'success')
-
-
-if __name__ == '__main__':
-    unittest.main()
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/test_expect.py b/lldb/third_party/Python/module/pexpect-4.6/tests/test_expect.py
deleted file mode 100755 (executable)
index 795518a..0000000
+++ /dev/null
@@ -1,602 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-import multiprocessing
-import unittest
-import subprocess
-import time
-import signal
-import sys
-import os
-
-import pexpect
-from . import PexpectTestCase
-from .utils import no_coverage_env
-
-# Many of these test cases blindly assume that sequential directory
-# listings of the /bin directory will yield the same results.
-# This may not be true, but seems adequate for testing now.
-# I should fix this at some point.
-
-FILTER=''.join([(len(repr(chr(x)))==3) and chr(x) or '.' for x in range(256)])
-def hex_dump(src, length=16):
-    result=[]
-    for i in xrange(0, len(src), length):
-       s = src[i:i+length]
-       hexa = ' '.join(["%02X"%ord(x) for x in s])
-       printable = s.translate(FILTER)
-       result.append("%04X   %-*s   %s\n" % (i, length*3, hexa, printable))
-    return ''.join(result)
-
-def hex_diff(left, right):
-        diff = ['< %s\n> %s' % (_left, _right,) for _left, _right in zip(
-            hex_dump(left).splitlines(), hex_dump(right).splitlines())
-            if _left != _right]
-        return '\n' + '\n'.join(diff,)
-
-
-class ExpectTestCase (PexpectTestCase.PexpectTestCase):
-
-    def test_expect_basic (self):
-        p = pexpect.spawn('cat', echo=False, timeout=5)
-        p.sendline (b'Hello')
-        p.sendline (b'there')
-        p.sendline (b'Mr. Python')
-        p.expect (b'Hello')
-        p.expect (b'there')
-        p.expect (b'Mr. Python')
-        p.sendeof ()
-        p.expect (pexpect.EOF)
-
-    def test_expect_exact_basic (self):
-        p = pexpect.spawn('cat', echo=False, timeout=5)
-        p.sendline (b'Hello')
-        p.sendline (b'there')
-        p.sendline (b'Mr. Python')
-        p.expect_exact (b'Hello')
-        p.expect_exact (b'there')
-        p.expect_exact (b'Mr. Python')
-        p.sendeof ()
-        p.expect_exact (pexpect.EOF)
-
-    def test_expect_ignore_case(self):
-        '''This test that the ignorecase flag will match patterns
-        even if case is different using the regex (?i) directive.
-        '''
-        p = pexpect.spawn('cat', echo=False, timeout=5)
-        p.sendline (b'HELLO')
-        p.sendline (b'there')
-        p.expect (b'(?i)hello')
-        p.expect (b'(?i)THERE')
-        p.sendeof ()
-        p.expect (pexpect.EOF)
-
-    def test_expect_ignore_case_flag(self):
-        '''This test that the ignorecase flag will match patterns
-        even if case is different using the ignorecase flag.
-        '''
-        p = pexpect.spawn('cat', echo=False, timeout=5)
-        p.ignorecase = True
-        p.sendline (b'HELLO')
-        p.sendline (b'there')
-        p.expect (b'hello')
-        p.expect (b'THERE')
-        p.sendeof ()
-        p.expect (pexpect.EOF)
-
-    def test_expect_order (self):
-        '''This tests that patterns are matched in the same order as given in the pattern_list.
-
-        (Or does it?  Doesn't it also pass if expect() always chooses
-        (one of the) the leftmost matches in the input? -- grahn)
-        ... agreed! -jquast, the buffer ptr isn't forwarded on match, see first two test cases
-        '''
-        p = pexpect.spawn('cat', echo=False, timeout=5)
-        self._expect_order(p)
-
-    def test_expect_order_exact (self):
-        '''Like test_expect_order(), but using expect_exact().
-        '''
-        p = pexpect.spawn('cat', echo=False, timeout=5)
-        p.expect = p.expect_exact
-        self._expect_order(p)
-
-    def _expect_order (self, p):
-        p.sendline (b'1234')
-        p.sendline (b'abcd')
-        p.sendline (b'wxyz')
-        p.sendline (b'7890')
-        p.sendeof ()
-        index = p.expect ([
-            b'1234',
-            b'abcd',
-            b'wxyz',
-            pexpect.EOF,
-            b'7890' ])
-        assert index == 0, (index, p.before, p.after)
-        index = p.expect ([
-            b'54321',
-            pexpect.TIMEOUT,
-            b'1234',
-            b'abcd',
-            b'wxyz',
-            pexpect.EOF], timeout=5)
-        assert index == 3, (index, p.before, p.after)
-        index = p.expect ([
-            b'54321',
-            pexpect.TIMEOUT,
-            b'1234',
-            b'abcd',
-            b'wxyz',
-            pexpect.EOF], timeout=5)
-        assert index == 4, (index, p.before, p.after)
-        index = p.expect ([
-            pexpect.EOF,
-            b'abcd',
-            b'wxyz',
-            b'7890' ])
-        assert index == 3, (index, p.before, p.after)
-
-        index = p.expect ([
-            b'abcd',
-            b'wxyz',
-            b'7890',
-            pexpect.EOF])
-        assert index == 3, (index, p.before, p.after)
-
-    def test_expect_setecho_off(self):
-        '''This tests that echo may be toggled off.
-        '''
-        p = pexpect.spawn('cat', echo=True, timeout=5)
-        try:
-            self._expect_echo_toggle(p)
-        except IOError:
-            if sys.platform.lower().startswith('sunos'):
-                if hasattr(unittest, 'SkipTest'):
-                    raise unittest.SkipTest("Not supported on this platform.")
-                return 'skip'
-            raise
-
-    def test_expect_setecho_off_exact(self):
-        p = pexpect.spawn('cat', echo=True, timeout=5)
-        p.expect = p.expect_exact
-        try:
-            self._expect_echo_toggle(p)
-        except IOError:
-            if sys.platform.lower().startswith('sunos'):
-                if hasattr(unittest, 'SkipTest'):
-                    raise unittest.SkipTest("Not supported on this platform.")
-                return 'skip'
-            raise
-
-    def test_waitnoecho(self):
-        " Tests setecho(False) followed by waitnoecho() "
-        p = pexpect.spawn('cat', echo=False, timeout=5)
-        try:
-            p.setecho(False)
-            p.waitnoecho()
-        except IOError:
-            if sys.platform.lower().startswith('sunos'):
-                if hasattr(unittest, 'SkipTest'):
-                    raise unittest.SkipTest("Not supported on this platform.")
-                return 'skip'
-            raise
-
-    def test_waitnoecho_order(self):
-
-        ''' This tests that we can wait on a child process to set echo mode.
-        For example, this tests that we could wait for SSH to set ECHO False
-        when asking of a password. This makes use of an external script
-        echo_wait.py. '''
-
-        p1 = pexpect.spawn('%s echo_wait.py' % self.PYTHONBIN)
-        start = time.time()
-        try:
-            p1.waitnoecho(timeout=10)
-        except IOError:
-            if sys.platform.lower().startswith('sunos'):
-                if hasattr(unittest, 'SkipTest'):
-                    raise unittest.SkipTest("Not supported on this platform.")
-                return 'skip'
-            raise
-
-
-        end_time = time.time() - start
-        assert end_time < 10 and end_time > 2, "waitnoecho did not set ECHO off in the expected window of time."
-
-        # test that we actually timeout and return False if ECHO is never set off.
-        p1 = pexpect.spawn('cat')
-        start = time.time()
-        retval = p1.waitnoecho(timeout=4)
-        end_time = time.time() - start
-        assert end_time > 3, "waitnoecho should have waited longer than 2 seconds. retval should be False, retval=%d"%retval
-        assert retval==False, "retval should be False, retval=%d"%retval
-
-        # This one is mainly here to test default timeout for code coverage.
-        p1 = pexpect.spawn('%s echo_wait.py' % self.PYTHONBIN)
-        start = time.time()
-        p1.waitnoecho()
-        end_time = time.time() - start
-        assert end_time < 10, "waitnoecho did not set ECHO off in the expected window of time."
-
-    def test_expect_echo (self):
-        '''This tests that echo is on by default.
-        '''
-        p = pexpect.spawn('cat', echo=True, timeout=5)
-        self._expect_echo(p)
-
-    def test_expect_echo_exact (self):
-        '''Like test_expect_echo(), but using expect_exact().
-        '''
-        p = pexpect.spawn('cat', echo=True, timeout=5)
-        p.expect = p.expect_exact
-        self._expect_echo(p)
-
-    def _expect_echo (self, p):
-        p.sendline (b'1234') # Should see this twice (once from tty echo and again from cat).
-        index = p.expect ([
-            b'1234',
-            b'abcd',
-            b'wxyz',
-            pexpect.EOF,
-            pexpect.TIMEOUT])
-        assert index == 0, "index="+str(index)+"\n"+p.before
-        index = p.expect ([
-            b'1234',
-            b'abcd',
-            b'wxyz',
-            pexpect.EOF])
-        assert index == 0, "index="+str(index)
-
-    def _expect_echo_toggle(self, p):
-        p.sendline (b'1234') # Should see this twice (once from tty echo and again from cat).
-        index = p.expect ([
-            b'1234',
-            b'abcd',
-            b'wxyz',
-            pexpect.EOF,
-            pexpect.TIMEOUT])
-        assert index == 0, "index="+str(index)+"\n"+p.before
-        index = p.expect ([
-            b'1234',
-            b'abcd',
-            b'wxyz',
-            pexpect.EOF])
-        assert index == 0, "index="+str(index)
-        p.setecho(0) # Turn off tty echo
-        p.waitnoecho()
-        p.sendline (b'abcd') # Now, should only see this once.
-        p.sendline (b'wxyz') # Should also be only once.
-        index = p.expect ([
-            pexpect.EOF,
-            pexpect.TIMEOUT,
-            b'abcd',
-            b'wxyz',
-            b'1234'])
-        assert index == 2, "index="+str(index)
-        index = p.expect ([
-            pexpect.EOF,
-            b'abcd',
-            b'wxyz',
-            b'7890'])
-        assert index == 2, "index="+str(index)
-        p.setecho(1) # Turn on tty echo
-        p.sendline (b'7890') # Should see this twice.
-        index = p.expect ([pexpect.EOF,b'abcd',b'wxyz',b'7890'])
-        assert index == 3, "index="+str(index)
-        index = p.expect ([pexpect.EOF,b'abcd',b'wxyz',b'7890'])
-        assert index == 3, "index="+str(index)
-        p.sendeof()
-
-    def test_expect_index (self):
-        '''This tests that mixed list of regex strings, TIMEOUT, and EOF all
-        return the correct index when matched.
-        '''
-        p = pexpect.spawn('cat', echo=False, timeout=5)
-        self._expect_index(p)
-
-    def test_expect_index_exact (self):
-        '''Like test_expect_index(), but using expect_exact().
-        '''
-        p = pexpect.spawn('cat', echo=False, timeout=5)
-        p.expect = p.expect_exact
-        self._expect_index(p)
-
-    def _expect_index (self, p):
-        p.sendline (b'1234')
-        index = p.expect ([b'abcd',b'wxyz',b'1234',pexpect.EOF])
-        assert index == 2, "index="+str(index)
-        p.sendline (b'abcd')
-        index = p.expect ([pexpect.TIMEOUT,b'abcd',b'wxyz',b'1234',pexpect.EOF])
-        assert index == 1, "index="+str(index)+str(p)
-        p.sendline (b'wxyz')
-        index = p.expect ([b'54321',pexpect.TIMEOUT,b'abcd',b'wxyz',b'1234',pexpect.EOF])
-        assert index == 3, "index="+str(index) # Expect 'wxyz'
-        p.sendline (b'$*!@?')
-        index = p.expect ([b'54321',pexpect.TIMEOUT,b'abcd',b'wxyz',b'1234',pexpect.EOF],
-                          timeout=1)
-        assert index == 1, "index="+str(index) # Expect TIMEOUT
-        p.sendeof ()
-        index = p.expect ([b'54321',pexpect.TIMEOUT,b'abcd',b'wxyz',b'1234',pexpect.EOF])
-        assert index == 5, "index="+str(index) # Expect EOF
-
-    def test_expect (self):
-        the_old_way = subprocess.Popen(args=['ls', '-l', '/bin'],
-                stdout=subprocess.PIPE).communicate()[0].rstrip()
-        p = pexpect.spawn('ls -l /bin')
-        the_new_way = b''
-        while 1:
-            i = p.expect ([b'\n', pexpect.EOF])
-            the_new_way = the_new_way + p.before
-            if i == 1:
-                break
-        the_new_way = the_new_way.rstrip()
-        the_new_way = the_new_way.replace(b'\r\n', b'\n'
-                ).replace(b'\r', b'\n').replace(b'\n\n', b'\n').rstrip()
-        the_old_way = the_old_way.replace(b'\r\n', b'\n'
-                ).replace(b'\r', b'\n').replace(b'\n\n', b'\n').rstrip()
-        assert the_old_way == the_new_way, hex_diff(the_old_way, the_new_way)
-
-    def test_expect_exact (self):
-        the_old_way = subprocess.Popen(args=['ls', '-l', '/bin'],
-                stdout=subprocess.PIPE).communicate()[0].rstrip()
-        p = pexpect.spawn('ls -l /bin')
-        the_new_way = b''
-        while 1:
-            i = p.expect_exact ([b'\n', pexpect.EOF])
-            the_new_way = the_new_way + p.before
-            if i == 1:
-                break
-        the_new_way = the_new_way.replace(b'\r\n', b'\n'
-                ).replace(b'\r', b'\n').replace(b'\n\n', b'\n').rstrip()
-        the_old_way = the_old_way.replace(b'\r\n', b'\n'
-                ).replace(b'\r', b'\n').replace(b'\n\n', b'\n').rstrip()
-        assert the_old_way == the_new_way, hex_diff(the_old_way, the_new_way)
-        p = pexpect.spawn('echo hello.?world')
-        i = p.expect_exact(b'.?')
-        self.assertEqual(p.before, b'hello')
-        self.assertEqual(p.after, b'.?')
-
-    def test_expect_eof (self):
-        the_old_way = subprocess.Popen(args=['/bin/ls', '-l', '/bin'],
-                stdout=subprocess.PIPE).communicate()[0].rstrip()
-        p = pexpect.spawn('/bin/ls -l /bin')
-        p.expect(pexpect.EOF) # This basically tells it to read everything. Same as pexpect.run() function.
-        the_new_way = p.before
-        the_new_way = the_new_way.replace(b'\r\n', b'\n'
-                ).replace(b'\r', b'\n').replace(b'\n\n', b'\n').rstrip()
-        the_old_way = the_old_way.replace(b'\r\n', b'\n'
-                ).replace(b'\r', b'\n').replace(b'\n\n', b'\n').rstrip()
-        assert the_old_way == the_new_way, hex_diff(the_old_way, the_new_way)
-
-    def test_expect_timeout (self):
-        p = pexpect.spawn('cat', timeout=5)
-        p.expect(pexpect.TIMEOUT) # This tells it to wait for timeout.
-        self.assertEqual(p.after, pexpect.TIMEOUT)
-
-    def test_unexpected_eof (self):
-        p = pexpect.spawn('ls -l /bin')
-        try:
-            p.expect('_Z_XY_XZ') # Probably never see this in ls output.
-        except pexpect.EOF:
-            pass
-        else:
-            self.fail ('Expected an EOF exception.')
-
-    def test_buffer_interface(self):
-        p = pexpect.spawn('cat', timeout=5)
-        p.sendline (b'Hello')
-        p.expect (b'Hello')
-        assert len(p.buffer)
-        p.buffer = b'Testing'
-        p.sendeof ()
-
-    def test_before_across_chunks(self):
-        # https://github.com/pexpect/pexpect/issues/478
-        child = pexpect.spawn(
-            '''/bin/bash -c "openssl rand -base64 {} | head -500 | nl --number-format=rz --number-width=5 2>&1 ; echo 'PATTERN!!!'"'''.format(1024 * 1024 * 2),
-            searchwindowsize=128
-        )
-        child.expect(['PATTERN'])
-        assert len(child.before.splitlines()) == 500
-        assert child.after == b'PATTERN'
-        assert child.buffer == b'!!!\r\n'
-
-    def _before_after(self, p):
-        p.timeout = 5
-
-        p.expect(b'5')
-        self.assertEqual(p.after, b'5')
-        assert p.before.startswith(b'[0, 1, 2'), p.before
-
-        p.expect(b'50')
-        self.assertEqual(p.after, b'50')
-        assert p.before.startswith(b', 6, 7, 8'), p.before[:20]
-        assert p.before.endswith(b'48, 49, '), p.before[-20:]
-
-        p.expect(pexpect.EOF)
-        self.assertEqual(p.after, pexpect.EOF)
-        assert p.before.startswith(b', 51, 52'), p.before[:20]
-        assert p.before.endswith(b', 99]\r\n'), p.before[-20:]
-
-    def test_before_after(self):
-        '''This tests expect() for some simple before/after things.
-        '''
-        p = pexpect.spawn('%s -Wi list100.py' % self.PYTHONBIN, env=no_coverage_env())
-        self._before_after(p)
-
-    def test_before_after_exact(self):
-        '''This tests some simple before/after things, for
-        expect_exact(). (Grahn broke it at one point.)
-        '''
-        p = pexpect.spawn('%s -Wi list100.py' % self.PYTHONBIN, env=no_coverage_env())
-        # mangle the spawn so we test expect_exact() instead
-        p.expect = p.expect_exact
-        self._before_after(p)
-
-    def _ordering(self, p):
-        p.timeout = 20
-        p.expect(b'>>> ')
-
-        p.sendline('list(range(4*3))')
-        self.assertEqual(p.expect([b'5,', b'5,']), 0)
-        p.expect(b'>>> ')
-
-        p.sendline(b'list(range(4*3))')
-        self.assertEqual(p.expect([b'7,', b'5,']), 1)
-        p.expect(b'>>> ')
-
-        p.sendline(b'list(range(4*3))')
-        self.assertEqual(p.expect([b'5,', b'7,']), 0)
-        p.expect(b'>>> ')
-
-        p.sendline(b'list(range(4*5))')
-        self.assertEqual(p.expect([b'2,', b'12,']), 0)
-        p.expect(b'>>> ')
-
-        p.sendline(b'list(range(4*5))')
-        self.assertEqual(p.expect([b'12,', b'2,']), 1)
-
-    def test_ordering(self):
-        '''This tests expect() for which pattern is returned
-        when many may eventually match. I (Grahn) am a bit
-        confused about what should happen, but this test passes
-        with pexpect 2.1.
-        '''
-        p = pexpect.spawn(self.PYTHONBIN)
-        self._ordering(p)
-
-    def test_ordering_exact(self):
-        '''This tests expect_exact() for which pattern is returned
-        when many may eventually match. I (Grahn) am a bit
-        confused about what should happen, but this test passes
-        for the expect() method with pexpect 2.1.
-        '''
-        p = pexpect.spawn(self.PYTHONBIN)
-        # mangle the spawn so we test expect_exact() instead
-        p.expect = p.expect_exact
-        self._ordering(p)
-
-    def _greed(self, expect):
-        # End at the same point: the one with the earliest start should win
-        self.assertEqual(expect([b'3, 4', b'2, 3, 4']), 1)
-
-        # Start at the same point: first pattern passed wins
-        self.assertEqual(expect([b'5,', b'5, 6']), 0)
-
-        # Same pattern passed twice: first instance wins
-        self.assertEqual(expect([b'7, 8', b'7, 8, 9', b'7, 8']), 0)
-
-    def _greed_read1(self, expect):
-        # Here, one has an earlier start and a later end. When processing
-        # one character at a time, the one that finishes first should win,
-        # because we don't know about the other match when it wins.
-        # If maxread > 1, this behaviour is currently undefined, although in
-        # most cases the one that starts first will win.
-        self.assertEqual(expect([b'1, 2, 3', b'2,']), 1)
-
-    def test_greed(self):
-        p = pexpect.spawn(self.PYTHONBIN + ' list100.py')
-        self._greed(p.expect)
-
-        p = pexpect.spawn(self.PYTHONBIN + ' list100.py', maxread=1)
-        self._greed_read1(p.expect)
-
-    def test_greed_exact(self):
-        p = pexpect.spawn(self.PYTHONBIN + ' list100.py')
-        self._greed(p.expect_exact)
-
-        p = pexpect.spawn(self.PYTHONBIN + ' list100.py', maxread=1)
-        self._greed_read1(p.expect_exact)
-
-    def test_bad_arg(self):
-        p = pexpect.spawn('cat')
-        with self.assertRaisesRegexp(TypeError, '.*must be one of'):
-            p.expect(1)
-        with self.assertRaisesRegexp(TypeError, '.*must be one of'):
-            p.expect([1, b'2'])
-        with self.assertRaisesRegexp(TypeError, '.*must be one of'):
-            p.expect_exact(1)
-        with self.assertRaisesRegexp(TypeError, '.*must be one of'):
-            p.expect_exact([1, b'2'])
-
-    def test_timeout_none(self):
-        p = pexpect.spawn('echo abcdef', timeout=None)
-        p.expect('abc')
-        p.expect_exact('def')
-        p.expect(pexpect.EOF)
-
-    def test_signal_handling(self):
-        '''
-            This tests the error handling of a signal interrupt (usually a
-            SIGWINCH generated when a window is resized), but in this test, we
-            are substituting an ALARM signal as this is much easier for testing
-            and is treated the same as a SIGWINCH.
-
-            To ensure that the alarm fires during the expect call, we are
-            setting the signal to alarm after 1 second while the spawned process
-            sleeps for 2 seconds prior to sending the expected output.
-        '''
-        def noop(x, y):
-            pass
-        signal.signal(signal.SIGALRM, noop)
-
-        p1 = pexpect.spawn('%s sleep_for.py 2' % self.PYTHONBIN, timeout=5)
-        p1.expect('READY')
-        signal.alarm(1)
-        p1.expect('END')
-
-    def test_stdin_closed(self):
-        '''
-        Ensure pexpect continues to operate even when stdin is closed
-        '''
-        class Closed_stdin_proc(multiprocessing.Process):
-            def run(self):
-                sys.__stdin__.close()
-                cat = pexpect.spawn('cat')
-                cat.sendeof()
-                cat.expect(pexpect.EOF)
-
-        proc = Closed_stdin_proc()
-        proc.start()
-        proc.join()
-        assert proc.exitcode == 0
-
-    def test_stdin_stdout_closed(self):
-        '''
-        Ensure pexpect continues to operate even when stdin and stdout is closed
-        '''
-        class Closed_stdin_stdout_proc(multiprocessing.Process):
-            def run(self):
-                sys.__stdin__.close()
-                sys.__stdout__.close()
-                cat = pexpect.spawn('cat')
-                cat.sendeof()
-                cat.expect(pexpect.EOF)
-
-        proc = Closed_stdin_stdout_proc()
-        proc.start()
-        proc.join()
-        assert proc.exitcode == 0
-
-if __name__ == '__main__':
-    unittest.main()
-
-suite = unittest.makeSuite(ExpectTestCase, 'test')
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/test_filedescriptor.py b/lldb/third_party/Python/module/pexpect-4.6/tests/test_filedescriptor.py
deleted file mode 100755 (executable)
index d9164e1..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-import pexpect
-from pexpect import fdpexpect
-import unittest
-from . import PexpectTestCase
-import os
-
-class ExpectTestCase(PexpectTestCase.PexpectTestCase):
-    def setUp(self):
-        print(self.id())
-        PexpectTestCase.PexpectTestCase.setUp(self)
-
-    def test_fd (self):
-        fd = os.open ('TESTDATA.txt', os.O_RDONLY)
-        s = fdpexpect.fdspawn (fd)
-        s.expect(b'This is the end of test data:')
-        s.expect(pexpect.EOF)
-        self.assertEqual(s.before, b' END\n')
-
-    def test_maxread (self):
-        fd = os.open ('TESTDATA.txt', os.O_RDONLY)
-        s = fdpexpect.fdspawn (fd)
-        s.maxread = 100
-        s.expect('2')
-        s.expect ('This is the end of test data:')
-        s.expect (pexpect.EOF)
-        self.assertEqual(s.before, b' END\n')
-
-    def test_fd_isalive (self):
-        fd = os.open ('TESTDATA.txt', os.O_RDONLY)
-        s = fdpexpect.fdspawn(fd)
-        assert s.isalive()
-        os.close(fd)
-        assert not s.isalive(), "Should not be alive after close()"
-
-    def test_fd_isatty (self):
-        fd = os.open ('TESTDATA.txt', os.O_RDONLY)
-        s = fdpexpect.fdspawn (fd)
-        assert not s.isatty()
-        s.close()
-
-    def test_fileobj(self):
-        f = open('TESTDATA.txt', 'r')
-        s = fdpexpect.fdspawn(f)  # Should get the fileno from the file handle
-        s.expect('2')
-        s.close()
-        assert not s.isalive()
-        s.close()  # Smoketest - should be able to call this again
-
-if __name__ == '__main__':
-    unittest.main()
-
-suite = unittest.makeSuite(ExpectTestCase, 'test')
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/test_interact.py b/lldb/third_party/Python/module/pexpect-4.6/tests/test_interact.py
deleted file mode 100755 (executable)
index 865353b..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-from __future__ import print_function
-from __future__ import unicode_literals
-
-import os
-import pexpect
-import unittest
-import sys
-from . import PexpectTestCase
-
-
-class InteractTestCase (PexpectTestCase.PexpectTestCase):
-    def setUp(self):
-        super(InteractTestCase, self).setUp()
-        self.env = env = os.environ.copy()
-
-        # Ensure 'import pexpect' works in subprocess interact*.py
-        if 'PYTHONPATH' in env:
-            env['PYTHONPATH'] = os.pathsep.join((self.project_dir,
-                                                    env['PYTHONPATH']))
-        else:
-            env['PYTHONPATH'] = self.project_dir
-
-        self.interact_py = ('{sys.executable} interact.py'.format(sys=sys))
-
-    def test_interact_escape(self):
-        " Ensure `escape_character' value exits interactive mode. "
-        p = pexpect.spawn(self.interact_py, timeout=5, env=self.env)
-        p.expect('READY')
-        p.sendcontrol(']')  # chr(29), the default `escape_character'
-                            # value of pexpect.interact().
-        p.expect_exact('Escaped interact')
-        p.expect(pexpect.EOF)
-        assert not p.isalive()
-        assert p.exitstatus == 0
-
-    def test_interact_escape_None(self):
-        " Return only after Termination when `escape_character=None'. "
-        p = pexpect.spawn('{self.interact_py} --no-escape'.format(self=self),
-                          timeout=5, env=self.env)
-        p.expect('READY')
-        p.sendcontrol(']')
-        p.expect('29<STOP>')
-        p.send('\x00')
-        if not os.environ.get('TRAVIS', None):
-            # on Travis-CI, we sometimes miss trailing stdout from the
-            # chain of child processes, not entirely sure why. So this
-            # is skipped on such systems.
-            p.expect('0<STOP>')
-            p.expect_exact('Escaped interact')
-        p.expect(pexpect.EOF)
-        assert not p.isalive()
-        assert p.exitstatus == 0
-
-    def test_interact_exit_unicode(self):
-        " Ensure subprocess receives utf8. "
-        p = pexpect.spawnu('{self.interact_py} --utf8'.format(self=self),
-                           timeout=5, env=self.env)
-        p.expect('READY')
-        p.send('ɑ')              # >>> map(ord, u'ɑ'.encode('utf8'))
-        p.expect('201<STOP>')    # [201, 145]
-        p.expect('145<STOP>')
-        p.send('Β')              # >>> map(ord, u'Β'.encode('utf8'))
-        p.expect('206<STOP>')    # [206, 146]
-        p.expect('146<STOP>')
-        p.send('\x00')
-        if not os.environ.get('TRAVIS', None):
-            # on Travis-CI, we sometimes miss trailing stdout from the
-            # chain of child processes, not entirely sure why. So this
-            # is skipped on such systems.
-            p.expect('0<STOP>')
-            p.expect_exact('Escaped interact')
-        p.expect(pexpect.EOF)
-        assert not p.isalive()
-        assert p.exitstatus == 0
-
-if __name__ == '__main__':
-    unittest.main()
-
-suite = unittest.makeSuite(InteractTestCase, 'test')
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/test_isalive.py b/lldb/third_party/Python/module/pexpect-4.6/tests/test_isalive.py
deleted file mode 100755 (executable)
index cd79d09..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-import pexpect
-import unittest
-import signal
-import sys
-import time
-from . import PexpectTestCase
-
-
-class IsAliveTestCase(PexpectTestCase.PexpectTestCase):
-    """Various tests for the running status of processes."""
-
-    def test_expect_wait(self):
-        """Ensure consistency in wait() and isalive()."""
-        p = pexpect.spawn('sleep 1')
-        assert p.isalive()
-        assert p.wait() == 0
-        assert not p.isalive()
-        # In previous versions of ptyprocess/pexpect, calling wait() a second
-        # time would raise an exception, but not since v4.0
-        assert p.wait() == 0
-
-    def test_expect_wait_after_termination(self):
-        """Ensure wait on a process terminated by kill -9."""
-        p = pexpect.spawn('sleep 3')
-        assert p.isalive()
-        p.kill(9)
-        time.sleep(1)
-
-        # when terminated, the exitstatus is None, but p.signalstatus
-        # and p.terminated reflects that the kill -9 nature.
-        assert p.wait() is None
-        assert p.signalstatus == 9
-        assert p.terminated == True
-        assert not p.isalive()
-
-    def test_signal_wait(self):
-        '''Test calling wait with a process terminated by a signal.'''
-        if not hasattr(signal, 'SIGALRM'):
-            return 'SKIP'
-        p = pexpect.spawn(sys.executable, ['alarm_die.py'])
-        p.wait()
-        assert p.exitstatus is None
-        self.assertEqual(p.signalstatus, signal.SIGALRM)
-
-    def test_expect_isalive_dead_after_normal_termination (self):
-        p = pexpect.spawn('ls', timeout=15)
-        p.expect(pexpect.EOF)
-        assert not p.isalive()
-
-    def test_expect_isalive_dead_after_SIGHUP(self):
-        p = pexpect.spawn('cat', timeout=5, ignore_sighup=False)
-        assert p.isalive()
-        force = False
-        if sys.platform.lower().startswith('sunos'):
-            # On Solaris (SmartOs), and only when executed from cron(1), SIGKILL
-            # is required to end the sub-process. This is done using force=True
-            force = True
-        assert p.terminate(force) == True
-        p.expect(pexpect.EOF)
-        assert not p.isalive()
-
-    def test_expect_isalive_dead_after_SIGINT(self):
-        p = pexpect.spawn('cat', timeout=5)
-        assert p.isalive()
-        force = False
-        if sys.platform.lower().startswith('sunos'):
-            # On Solaris (SmartOs), and only when executed from cron(1), SIGKILL
-            # is required to end the sub-process. This is done using force=True
-            force = True
-        assert p.terminate(force) == True
-        p.expect(pexpect.EOF)
-        assert not p.isalive()
-
-    def test_expect_isalive_dead_after_SIGKILL(self):
-        p = pexpect.spawn('cat', timeout=5)
-        assert p.isalive()
-        p.kill(9)
-        p.expect(pexpect.EOF)
-        assert not p.isalive()
-
-    def test_forced_terminate(self):
-        p = pexpect.spawn(sys.executable, ['needs_kill.py'])
-        p.expect('READY')
-        assert p.terminate(force=True) == True
-        p.expect(pexpect.EOF)
-        assert not p.isalive()
-
-### Some platforms allow this. Some reset status after call to waitpid.
-### probably not necessary, isalive() returns early when terminate is False.
-    def test_expect_isalive_consistent_multiple_calls (self):
-        '''This tests that multiple calls to isalive() return same value.
-        '''
-        p = pexpect.spawn('cat')
-        assert p.isalive()
-        assert p.isalive()
-        p.sendeof()
-        p.expect(pexpect.EOF)
-        assert not p.isalive()
-        assert not p.isalive()
-
-if __name__ == '__main__':
-    unittest.main()
-
-suite = unittest.makeSuite(IsAliveTestCase, 'test')
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/test_log.py b/lldb/third_party/Python/module/pexpect-4.6/tests/test_log.py
deleted file mode 100755 (executable)
index 4ad2256..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-import pexpect
-import unittest
-import os
-import tempfile
-from . import PexpectTestCase
-
-# the program cat(1) may display ^D\x08\x08 when \x04 (EOF, Ctrl-D) is sent
-_CAT_EOF = b'^D\x08\x08'
-
-class TestCaseLog(PexpectTestCase.PexpectTestCase):
-
-    def test_log (self):
-        log_message = 'This is a test.'
-        filename = tempfile.mktemp()
-        mylog = open(filename, 'wb')
-        p = pexpect.spawn('echo', [log_message])
-        p.logfile = mylog
-        p.expect(pexpect.EOF)
-        p.logfile = None
-        mylog.close()
-        with open(filename, 'rb') as f:
-            lf = f.read()
-        os.unlink(filename)
-        self.assertEqual(lf.rstrip(), log_message.encode('ascii'))
-
-    def test_log_logfile_read (self):
-        log_message = 'This is a test.'
-        filename = tempfile.mktemp()
-        mylog = open(filename, 'wb')
-        p = pexpect.spawn('cat')
-        p.logfile_read = mylog
-        p.sendline(log_message)
-        p.sendeof()
-        p.expect(pexpect.EOF)
-        p.logfile = None
-        mylog.close()
-        with open(filename, 'rb') as f:
-            lf = f.read()
-        os.unlink (filename)
-        lf = lf.replace(_CAT_EOF, b'')
-        self.assertEqual(lf, b'This is a test.\r\nThis is a test.\r\n')
-
-    def test_log_logfile_send (self):
-        log_message = b'This is a test.'
-        filename = tempfile.mktemp()
-        mylog = open (filename, 'wb')
-        p = pexpect.spawn('cat')
-        p.logfile_send = mylog
-        p.sendline(log_message)
-        p.sendeof()
-        p.expect (pexpect.EOF)
-        p.logfile = None
-        mylog.close()
-        with open(filename, 'rb') as f:
-            lf = f.read()
-        os.unlink(filename)
-        lf = lf.replace(b'\x04', b'')
-        self.assertEqual(lf.rstrip(), log_message)
-
-    def test_log_send_and_received (self):
-
-        '''The logfile should have the test message three time -- once for the
-        data we sent. Once for the data that cat echos back as characters are
-        typed. And once for the data that cat prints after we send a linefeed
-        (sent by sendline). '''
-
-        log_message = 'This is a test.'
-        filename = tempfile.mktemp()
-        mylog = open(filename, 'wb')
-        p = pexpect.spawn('cat')
-        p.logfile = mylog
-        p.sendline(log_message)
-        p.sendeof()
-        p.expect (pexpect.EOF)
-        p.logfile = None
-        mylog.close()
-        with open(filename, 'rb') as f:
-            lf = f.read()
-        os.unlink(filename)
-        lf = lf.replace(b'\x04', b'').replace(_CAT_EOF, b'')
-        self.assertEqual(lf,
-                b'This is a test.\nThis is a test.\r\nThis is a test.\r\n')
-
-if __name__ == '__main__':
-    unittest.main()
-
-suite = unittest.makeSuite(TestCaseLog,'test')
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/test_misc.py b/lldb/third_party/Python/module/pexpect-4.6/tests/test_misc.py
deleted file mode 100755 (executable)
index 6052b6a..0000000
+++ /dev/null
@@ -1,373 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-import unittest
-import sys
-import re
-import signal
-import time
-import tempfile
-import os
-
-import pexpect
-from . import PexpectTestCase
-
-# the program cat(1) may display ^D\x08\x08 when \x04 (EOF, Ctrl-D) is sent
-_CAT_EOF = b'^D\x08\x08'
-
-
-if (sys.version_info[0] >= 3):
-    def _u(s):
-        return s.decode('utf-8')
-else:
-    def _u(s):
-        return s
-
-
-class TestCaseMisc(PexpectTestCase.PexpectTestCase):
-
-    def test_isatty(self):
-        " Test isatty() is True after spawning process on most platforms. "
-        child = pexpect.spawn('cat')
-        if not child.isatty() and sys.platform.lower().startswith('sunos'):
-            if hasattr(unittest, 'SkipTest'):
-                raise unittest.SkipTest("Not supported on this platform.")
-            return 'skip'
-        assert child.isatty()
-
-    def test_isatty_poll(self):
-        " Test isatty() is True after spawning process on most platforms. "
-        child = pexpect.spawn('cat', use_poll=True)
-        if not child.isatty() and sys.platform.lower().startswith('sunos'):
-            if hasattr(unittest, 'SkipTest'):
-                raise unittest.SkipTest("Not supported on this platform.")
-            return 'skip'
-        assert child.isatty()
-
-    def test_read(self):
-        " Test spawn.read by calls of various size. "
-        child = pexpect.spawn('cat')
-        child.sendline("abc")
-        child.sendeof()
-        self.assertEqual(child.read(0), b'')
-        self.assertEqual(child.read(1), b'a')
-        self.assertEqual(child.read(1), b'b')
-        self.assertEqual(child.read(1), b'c')
-        self.assertEqual(child.read(2), b'\r\n')
-        remaining = child.read().replace(_CAT_EOF, b'')
-        self.assertEqual(remaining, b'abc\r\n')
-
-    def test_read_poll(self):
-        " Test spawn.read by calls of various size. "
-        child = pexpect.spawn('cat', use_poll=True)
-        child.sendline("abc")
-        child.sendeof()
-        self.assertEqual(child.read(0), b'')
-        self.assertEqual(child.read(1), b'a')
-        self.assertEqual(child.read(1), b'b')
-        self.assertEqual(child.read(1), b'c')
-        self.assertEqual(child.read(2), b'\r\n')
-        remaining = child.read().replace(_CAT_EOF, b'')
-        self.assertEqual(remaining, b'abc\r\n')
-
-    def test_read_poll_timeout(self):
-        " Test use_poll properly times out "
-        child = pexpect.spawn('sleep 5', use_poll=True)
-        with self.assertRaises(pexpect.TIMEOUT):
-            child.expect(pexpect.EOF, timeout=1)
-
-    def test_readline_bin_echo(self):
-        " Test spawn('echo'). "
-        # given,
-        child = pexpect.spawn('echo', ['alpha', 'beta'])
-
-        # exercise,
-        assert child.readline() == b'alpha beta' + child.crlf
-
-    def test_readline(self):
-        " Test spawn.readline(). "
-        # when argument 0 is sent, nothing is returned.
-        # Otherwise the argument value is meaningless.
-        child = pexpect.spawn('cat', echo=False)
-        child.sendline("alpha")
-        child.sendline("beta")
-        child.sendline("gamma")
-        child.sendline("delta")
-        child.sendeof()
-        assert child.readline(0) == b''
-        assert child.readline().rstrip() == b'alpha'
-        assert child.readline(1).rstrip() == b'beta'
-        assert child.readline(2).rstrip() == b'gamma'
-        assert child.readline().rstrip() == b'delta'
-        child.expect(pexpect.EOF)
-        assert not child.isalive()
-        assert child.exitstatus == 0
-
-    def test_iter(self):
-        " iterating over lines of spawn.__iter__(). "
-        child = pexpect.spawn('cat', echo=False)
-        child.sendline("abc")
-        child.sendline("123")
-        child.sendeof()
-        # Don't use ''.join() because we want to test __iter__().
-        page = b''
-        for line in child:
-            page += line
-        page = page.replace(_CAT_EOF, b'')
-        assert page == b'abc\r\n123\r\n'
-
-    def test_readlines(self):
-        " reading all lines of spawn.readlines(). "
-        child = pexpect.spawn('cat', echo=False)
-        child.sendline("abc")
-        child.sendline("123")
-        child.sendeof()
-        page = b''.join(child.readlines()).replace(_CAT_EOF, b'')
-        assert page == b'abc\r\n123\r\n'
-        child.expect(pexpect.EOF)
-        assert not child.isalive()
-        assert child.exitstatus == 0
-
-    def test_write(self):
-        " write a character and return it in return. "
-        child = pexpect.spawn('cat', echo=False)
-        child.write('a')
-        child.write('\r')
-        self.assertEqual(child.readline(), b'a\r\n')
-
-    def test_writelines(self):
-        " spawn.writelines() "
-        child = pexpect.spawn('cat')
-        # notice that much like file.writelines, we do not delimit by newline
-        # -- it is equivalent to calling write(''.join([args,]))
-        child.writelines(['abc', '123', 'xyz', '\r'])
-        child.sendeof()
-        line = child.readline()
-        assert line == b'abc123xyz\r\n'
-
-    def test_eof(self):
-        " call to expect() after EOF is received raises pexpect.EOF "
-        child = pexpect.spawn('cat')
-        child.sendeof()
-        with self.assertRaises(pexpect.EOF):
-            child.expect('the unexpected')
-
-    def test_with(self):
-        "spawn can be used as a context manager"
-        with pexpect.spawn(sys.executable + ' echo_w_prompt.py') as p:
-            p.expect('<in >')
-            p.sendline(b'alpha')
-            p.expect(b'<out>alpha')
-            assert p.isalive()
-
-        assert not p.isalive()
-
-    def test_terminate(self):
-        " test force terminate always succeeds (SIGKILL). "
-        child = pexpect.spawn('cat')
-        child.terminate(force=1)
-        assert child.terminated
-
-    def test_sighup(self):
-        " validate argument `ignore_sighup=True` and `ignore_sighup=False`. "
-        getch = sys.executable + ' getch.py'
-        child = pexpect.spawn(getch, ignore_sighup=True)
-        child.expect('READY')
-        child.kill(signal.SIGHUP)
-        for _ in range(10):
-            if not child.isalive():
-                self.fail('Child process should not have exited.')
-            time.sleep(0.1)
-
-        child = pexpect.spawn(getch, ignore_sighup=False)
-        child.expect('READY')
-        child.kill(signal.SIGHUP)
-        for _ in range(10):
-            if not child.isalive():
-                break
-            time.sleep(0.1)
-        else:
-            self.fail('Child process should have exited.')
-
-    def test_bad_child_pid(self):
-        " assert bad condition error in isalive(). "
-        expect_errmsg = re.escape("isalive() encountered condition where ")
-        child = pexpect.spawn('cat')
-        child.terminate(force=1)
-        # Force an invalid state to test isalive
-        child.ptyproc.terminated = 0
-        try:
-            with self.assertRaisesRegexp(pexpect.ExceptionPexpect,
-                                         ".*" + expect_errmsg):
-                child.isalive()
-        finally:
-            # Force valid state for child for __del__
-            child.terminated = 1
-
-    def test_bad_arguments_suggest_fdpsawn(self):
-        " assert custom exception for spawn(int). "
-        expect_errmsg = "maybe you want to use fdpexpect.fdspawn"
-        with self.assertRaisesRegexp(pexpect.ExceptionPexpect,
-                                     ".*" + expect_errmsg):
-            pexpect.spawn(1)
-
-    def test_bad_arguments_second_arg_is_list(self):
-        " Second argument to spawn, if used, must be only a list."
-        with self.assertRaises(TypeError):
-            pexpect.spawn('ls', '-la')
-
-        with self.assertRaises(TypeError):
-            # not even a tuple,
-            pexpect.spawn('ls', ('-la',))
-
-    def test_read_after_close_raises_value_error(self):
-        " Calling read_nonblocking after close raises ValueError. "
-        # as read_nonblocking underlies all other calls to read,
-        # ValueError should be thrown for all forms of read.
-        with self.assertRaises(ValueError):
-            p = pexpect.spawn('cat')
-            p.close()
-            p.read_nonblocking()
-
-        with self.assertRaises(ValueError):
-            p = pexpect.spawn('cat')
-            p.close()
-            p.read()
-
-        with self.assertRaises(ValueError):
-            p = pexpect.spawn('cat')
-            p.close()
-            p.readline()
-
-        with self.assertRaises(ValueError):
-            p = pexpect.spawn('cat')
-            p.close()
-            p.readlines()
-
-    def test_isalive(self):
-        " check isalive() before and after EOF. (True, False) "
-        child = pexpect.spawn('cat')
-        assert child.isalive() is True
-        child.sendeof()
-        child.expect(pexpect.EOF)
-        assert child.isalive() is False
-
-    def test_bad_type_in_expect(self):
-        " expect() does not accept dictionary arguments. "
-        child = pexpect.spawn('cat')
-        with self.assertRaises(TypeError):
-            child.expect({})
-
-    def test_cwd(self):
-        " check keyword argument `cwd=' of pexpect.run() "
-        tmp_dir = os.path.realpath(tempfile.gettempdir())
-        default = pexpect.run('pwd')
-        pwd_tmp = pexpect.run('pwd', cwd=tmp_dir).rstrip()
-        assert default != pwd_tmp
-        assert tmp_dir == _u(pwd_tmp)
-
-    def _test_searcher_as(self, searcher, plus=None):
-        # given,
-        given_words = ['alpha', 'beta', 'gamma', 'delta', ]
-        given_search = given_words
-        if searcher == pexpect.searcher_re:
-            given_search = [re.compile(word) for word in given_words]
-        if plus is not None:
-            given_search = given_search + [plus]
-        search_string = searcher(given_search)
-        basic_fmt = '\n    {0}: {1}'
-        fmt = basic_fmt
-        if searcher is pexpect.searcher_re:
-            fmt = '\n    {0}: re.compile({1})'
-        expected_output = '{0}:'.format(searcher.__name__)
-        idx = 0
-        for word in given_words:
-            expected_output += fmt.format(idx, "'{0}'".format(word))
-            idx += 1
-        if plus is not None:
-            if plus == pexpect.EOF:
-                expected_output += basic_fmt.format(idx, 'EOF')
-            elif plus == pexpect.TIMEOUT:
-                expected_output += basic_fmt.format(idx, 'TIMEOUT')
-
-        # exercise,
-        assert search_string.__str__() == expected_output
-
-    def test_searcher_as_string(self):
-        " check searcher_string(..).__str__() "
-        self._test_searcher_as(pexpect.searcher_string)
-
-    def test_searcher_as_string_with_EOF(self):
-        " check searcher_string(..).__str__() that includes EOF "
-        self._test_searcher_as(pexpect.searcher_string, plus=pexpect.EOF)
-
-    def test_searcher_as_string_with_TIMEOUT(self):
-        " check searcher_string(..).__str__() that includes TIMEOUT "
-        self._test_searcher_as(pexpect.searcher_string, plus=pexpect.TIMEOUT)
-
-    def test_searcher_re_as_string(self):
-        " check searcher_re(..).__str__() "
-        self._test_searcher_as(pexpect.searcher_re)
-
-    def test_searcher_re_as_string_with_EOF(self):
-        " check searcher_re(..).__str__() that includes EOF "
-        self._test_searcher_as(pexpect.searcher_re, plus=pexpect.EOF)
-
-    def test_searcher_re_as_string_with_TIMEOUT(self):
-        " check searcher_re(..).__str__() that includes TIMEOUT "
-        self._test_searcher_as(pexpect.searcher_re, plus=pexpect.TIMEOUT)
-
-    def test_nonnative_pty_fork(self):
-        " test forced self.__fork_pty() and __pty_make_controlling_tty "
-        # given,
-        class spawn_ourptyfork(pexpect.spawn):
-            def _spawn(self, command, args=[], preexec_fn=None,
-                       dimensions=None):
-                self.use_native_pty_fork = False
-                pexpect.spawn._spawn(self, command, args, preexec_fn,
-                                     dimensions)
-
-        # exercise,
-        p = spawn_ourptyfork('cat', echo=False)
-        # verify,
-        p.sendline('abc')
-        p.expect('abc')
-        p.sendeof()
-        p.expect(pexpect.EOF)
-        assert not p.isalive()
-
-    def test_exception_tb(self):
-        " test get_trace() filters away pexpect/__init__.py calls. "
-        p = pexpect.spawn('sleep 1')
-        try:
-            p.expect('BLAH')
-        except pexpect.ExceptionPexpect as e:
-            # get_trace should filter out frames in pexpect's own code
-            tb = e.get_trace()
-            # exercise,
-            assert 'raise ' not in tb
-            assert 'pexpect/__init__.py' not in tb
-        else:
-            assert False, "Should have raised an exception."
-
-if __name__ == '__main__':
-    unittest.main()
-
-suite = unittest.makeSuite(TestCaseMisc,'test')
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/test_missing_command.py b/lldb/third_party/Python/module/pexpect-4.6/tests/test_missing_command.py
deleted file mode 100755 (executable)
index 92e4733..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-import pexpect
-import unittest
-from . import PexpectTestCase
-
-class MissingCommandTestCase (PexpectTestCase.PexpectTestCase):
-    def testMissingCommand(self):
-        try:
-            i = pexpect.spawn ('ZXQYQZX')
-        except Exception:
-            pass
-        else:
-            self.fail('Expected an Exception.')
-
-if __name__ == '__main__':
-    unittest.main()
-
-suite = unittest.makeSuite(MissingCommandTestCase,'test')
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/test_performance.py b/lldb/third_party/Python/module/pexpect-4.6/tests/test_performance.py
deleted file mode 100755 (executable)
index 63778af..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-from __future__ import print_function
-
-import unittest, time, sys
-import platform
-import pexpect
-import re
-from . import PexpectTestCase
-
-# This isn't exactly a unit test, but it fits in nicely with the rest of the tests.
-
-class PerformanceTestCase (PexpectTestCase.PexpectTestCase):
-
-    '''Testing the performance of expect, with emphasis on wading through long
-    inputs. '''
-
-    if sys.version_info[0] >= 3:
-        @staticmethod
-        def _iter_n(n):
-            s = 'for n in range(1, %d+1): print(n)' % n
-            return s.encode('ascii')
-
-    else:
-        @staticmethod
-        def _iter_n(n):
-            return 'for n in range(1, %d+1): print(n)' % n
-
-    def plain_range(self, n):
-        e = pexpect.spawn('python', timeout=100)
-        self.assertEqual(e.expect(b'>>>'), 0)
-        e.sendline(self._iter_n(n))
-        self.assertEqual(e.expect(br'\.{3}'), 0)
-        e.sendline(b'')
-        self.assertEqual(e.expect([b'inquisition', '%d' % n]), 1)
-
-    def window_range(self, n):
-        e = pexpect.spawn('python', timeout=100)
-        self.assertEqual(e.expect(b'>>>'), 0)
-        e.sendline(self._iter_n(n))
-        self.assertEqual(e.expect(r'\.{3}'), 0)
-        e.sendline(b'')
-        self.assertEqual(e.expect([b'inquisition', '%d' % n], searchwindowsize=20), 1)
-
-    def exact_range(self, n):
-        e = pexpect.spawn('python', timeout=100)
-        self.assertEqual(e.expect_exact([b'>>>']), 0)
-        e.sendline(self._iter_n(n))
-        self.assertEqual(e.expect_exact([b'...']), 0)
-        e.sendline(b'')
-        self.assertEqual(e.expect_exact([b'inquisition', '%d' % n],timeout=520), 1)
-
-    def ewin_range(self, n):
-        e = pexpect.spawn('python', timeout=100)
-        self.assertEqual(e.expect_exact([b'>>>']), 0)
-        e.sendline(self._iter_n(n))
-        self.assertEqual(e.expect_exact([b'...']), 0)
-        e.sendline(b'')
-        self.assertEqual(e.expect_exact([b'inquisition', '%d' % n], searchwindowsize=20), 1)
-
-    def faster_range(self, n):
-        e = pexpect.spawn('python', timeout=100)
-        self.assertEqual(e.expect(b'>>>'), 0)
-        e.sendline(('list(range(1, %d+1))' % n).encode('ascii'))
-        self.assertEqual(e.expect([b'inquisition', '%d' % n]), 1)
-
-    def test_100000(self):
-        if platform.python_implementation() == 'PyPy':
-            raise unittest.SkipTest("This test fails on PyPy because of REPL differences")
-        print()
-        start_time = time.time()
-        self.plain_range (100000)
-        print("100000 calls to plain_range:", (time.time() - start_time))
-        start_time = time.time()
-        self.window_range(100000)
-        print("100000 calls to window_range:", (time.time() - start_time))
-        start_time = time.time()
-        self.exact_range (100000)
-        print("100000 calls to exact_range:", (time.time() - start_time))
-        start_time = time.time()
-        self.ewin_range  (100000)
-        print("100000 calls to ewin_range:", (time.time() - start_time))
-        start_time = time.time()
-        self.faster_range(100000)
-        print("100000 calls to faster_range:", (time.time() - start_time))
-
-    def test_large_stdout_stream(self):
-        e = pexpect.spawn('openssl rand -base64 {}'.format(1024*1024*25), searchwindowsize=1000)
-        resp = e.expect(['Password:', pexpect.EOF, pexpect.TIMEOUT])
-        assert resp == 1  # index 1 == EOF
-
-if __name__ == "__main__":
-    unittest.main()
-
-suite = unittest.makeSuite(PerformanceTestCase,'test')
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/test_pickling.py b/lldb/third_party/Python/module/pexpect-4.6/tests/test_pickling.py
deleted file mode 100644 (file)
index 6538677..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/usr/bin/env python
-import pickle
-import unittest
-
-from pexpect import ExceptionPexpect
-
-class PickleTest(unittest.TestCase):
-    def test_picking(self):
-        e = ExceptionPexpect('Oh noes!')
-        clone = pickle.loads(pickle.dumps(e))
-        self.assertEqual(e.value, clone.value)
-
-if __name__ == '__main__':
-    unittest.main()
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/test_popen_spawn.py b/lldb/third_party/Python/module/pexpect-4.6/tests/test_popen_spawn.py
deleted file mode 100644 (file)
index fca7493..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-import unittest
-import subprocess
-
-
-import pexpect
-from pexpect.popen_spawn import PopenSpawn
-from . import PexpectTestCase
-
-
-class ExpectTestCase (PexpectTestCase.PexpectTestCase):
-
-    def test_expect_basic(self):
-        p = PopenSpawn('cat', timeout=5)
-        p.sendline(b'Hello')
-        p.sendline(b'there')
-        p.sendline(b'Mr. Python')
-        p.expect(b'Hello')
-        p.expect(b'there')
-        p.expect(b'Mr. Python')
-        p.sendeof()
-        p.expect(pexpect.EOF)
-
-    def test_expect_exact_basic(self):
-        p = PopenSpawn('cat', timeout=5)
-        p.sendline(b'Hello')
-        p.sendline(b'there')
-        p.sendline(b'Mr. Python')
-        p.expect_exact(b'Hello')
-        p.expect_exact(b'there')
-        p.expect_exact(b'Mr. Python')
-        p.sendeof()
-        p.expect_exact(pexpect.EOF)
-
-    def test_expect(self):
-        the_old_way = subprocess.Popen(args=['ls', '-l', '/bin'],
-                                       stdout=subprocess.PIPE).communicate()[0].rstrip()
-        p = PopenSpawn('ls -l /bin')
-        the_new_way = b''
-        while 1:
-            i = p.expect([b'\n', pexpect.EOF])
-            the_new_way = the_new_way + p.before
-            if i == 1:
-                break
-            the_new_way += b'\n'
-        the_new_way = the_new_way.rstrip()
-        assert the_old_way == the_new_way, len(the_old_way) - len(the_new_way)
-
-    def test_expect_exact(self):
-        the_old_way = subprocess.Popen(args=['ls', '-l', '/bin'],
-                                       stdout=subprocess.PIPE).communicate()[0].rstrip()
-        p = PopenSpawn('ls -l /bin')
-        the_new_way = b''
-        while 1:
-            i = p.expect_exact([b'\n', pexpect.EOF])
-            the_new_way = the_new_way + p.before
-            if i == 1:
-                break
-            the_new_way += b'\n'
-        the_new_way = the_new_way.rstrip()
-
-        assert the_old_way == the_new_way, len(the_old_way) - len(the_new_way)
-        p = PopenSpawn('echo hello.?world')
-        i = p.expect_exact(b'.?')
-        self.assertEqual(p.before, b'hello')
-        self.assertEqual(p.after, b'.?')
-
-    def test_expect_eof(self):
-        the_old_way = subprocess.Popen(args=['ls', '-l', '/bin'],
-                                       stdout=subprocess.PIPE).communicate()[0].rstrip()
-        p = PopenSpawn('ls -l /bin')
-        # This basically tells it to read everything. Same as pexpect.run()
-        # function.
-        p.expect(pexpect.EOF)
-        the_new_way = p.before.rstrip()
-        assert the_old_way == the_new_way, len(the_old_way) - len(the_new_way)
-
-    def test_expect_timeout(self):
-        p = PopenSpawn('cat', timeout=5)
-        p.expect(pexpect.TIMEOUT)  # This tells it to wait for timeout.
-        self.assertEqual(p.after, pexpect.TIMEOUT)
-
-    def test_unexpected_eof(self):
-        p = PopenSpawn('ls -l /bin')
-        try:
-            p.expect('_Z_XY_XZ')  # Probably never see this in ls output.
-        except pexpect.EOF:
-            pass
-        else:
-            self.fail('Expected an EOF exception.')
-
-    def test_bad_arg(self):
-        p = PopenSpawn('cat')
-        with self.assertRaisesRegexp(TypeError, '.*must be one of'):
-            p.expect(1)
-        with self.assertRaisesRegexp(TypeError, '.*must be one of'):
-            p.expect([1, b'2'])
-        with self.assertRaisesRegexp(TypeError, '.*must be one of'):
-            p.expect_exact(1)
-        with self.assertRaisesRegexp(TypeError, '.*must be one of'):
-            p.expect_exact([1, b'2'])
-
-    def test_timeout_none(self):
-        p = PopenSpawn('echo abcdef', timeout=None)
-        p.expect('abc')
-        p.expect_exact('def')
-        p.expect(pexpect.EOF)
-
-    def test_crlf(self):
-        p = PopenSpawn('echo alpha beta')
-        assert p.read() == b'alpha beta' + p.crlf
-
-    def test_crlf_encoding(self):
-        p = PopenSpawn('echo alpha beta', encoding='utf-8')
-        assert p.read() == 'alpha beta' + p.crlf
-
-if __name__ == '__main__':
-    unittest.main()
-
-suite = unittest.makeSuite(ExpectTestCase, 'test')
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/test_pxssh.py b/lldb/third_party/Python/module/pexpect-4.6/tests/test_pxssh.py
deleted file mode 100644 (file)
index 5f82302..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-#!/usr/bin/env python
-import os
-import tempfile
-import unittest
-
-from pexpect import pxssh
-
-class SSHTestBase(unittest.TestCase):
-    def setUp(self):
-        self.orig_path = os.environ.get('PATH')
-        fakessh_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), 'fakessh'))
-        os.environ['PATH'] = fakessh_dir + \
-                    ((os.pathsep + self.orig_path) if self.orig_path else '')
-
-    def tearDown(self):
-        if self.orig_path:
-            os.environ['PATH'] = self.orig_path
-        else:
-            del os.environ['PATH']
-
-class PxsshTestCase(SSHTestBase):
-    def test_fake_ssh(self):
-        ssh = pxssh.pxssh()
-        #ssh.logfile_read = sys.stdout  # DEBUG
-        ssh.login('server', 'me', password='s3cret')
-        ssh.sendline('ping')
-        ssh.expect('pong', timeout=10)
-        assert ssh.prompt(timeout=10)
-        ssh.logout()
-
-    def test_wrong_pw(self):
-        ssh = pxssh.pxssh()
-        try:
-            ssh.login('server', 'me', password='wr0ng')
-        except pxssh.ExceptionPxssh:
-            pass
-        else:
-            assert False, 'Password should have been refused'
-
-    def test_failed_set_unique_prompt(self):
-        ssh = pxssh.pxssh()
-        ssh.set_unique_prompt = lambda: False
-        try:
-            ssh.login('server', 'me', password='s3cret',
-                      auto_prompt_reset=True)
-        except pxssh.ExceptionPxssh:
-            pass
-        else:
-            assert False, 'should have raised exception, pxssh.ExceptionPxssh'
-
-    def test_connection_refused(self):
-        ssh = pxssh.pxssh()
-        try:
-            ssh.login('noserver', 'me', password='s3cret')
-        except pxssh.ExceptionPxssh:
-            pass
-        else:
-            assert False, 'should have raised exception, pxssh.ExceptionPxssh'
-
-    def test_ssh_tunnel_string(self):
-        ssh = pxssh.pxssh(debug_command_string=True)
-        tunnels = { 'local': ['2424:localhost:22'],'remote': ['2525:localhost:22'],
-            'dynamic': [8888] }
-        confirmation_strings = 0
-        confirmation_array = ['-R 2525:localhost:22','-L 2424:localhost:22','-D 8888']
-        string = ssh.login('server', 'me', password='s3cret', ssh_tunnels=tunnels)
-        for confirmation in confirmation_array:
-            if confirmation in string:
-                confirmation_strings+=1
-
-        if confirmation_strings!=len(confirmation_array):
-            assert False, 'String generated from tunneling is incorrect.'
-
-    def test_remote_ssh_tunnel_string(self):
-        ssh = pxssh.pxssh(debug_command_string=True)
-        tunnels = { 'local': ['2424:localhost:22'],'remote': ['2525:localhost:22'],
-            'dynamic': [8888] }
-        confirmation_strings = 0
-        confirmation_array = ['-R 2525:localhost:22','-L 2424:localhost:22','-D 8888']
-        string = ssh.login('server', 'me', password='s3cret', ssh_tunnels=tunnels, spawn_local_ssh=False)
-        for confirmation in confirmation_array:
-            if confirmation in string:
-                confirmation_strings+=1
-
-        if confirmation_strings!=len(confirmation_array):
-            assert False, 'String generated from remote tunneling is incorrect.'
-
-    def test_ssh_config_passing_string(self):
-        ssh = pxssh.pxssh(debug_command_string=True)
-        (temp_file,config_path) = tempfile.mkstemp()
-        string = ssh.login('server', 'me', password='s3cret', spawn_local_ssh=False, ssh_config=config_path)
-        if not '-F '+config_path in string:
-            assert False, 'String generated from SSH config passing is incorrect.'
-
-    def test_ssh_key_string(self):
-        ssh = pxssh.pxssh(debug_command_string=True)
-        confirmation_strings = 0
-        confirmation_array = [' -A']
-        string = ssh.login('server', 'me', password='s3cret', ssh_key=True)
-        for confirmation in confirmation_array:
-            if confirmation in string:
-                confirmation_strings+=1
-
-        if confirmation_strings!=len(confirmation_array):
-            assert False, 'String generated from forcing the SSH agent sock is incorrect.'
-
-        confirmation_strings = 0
-        (temp_file,ssh_key) = tempfile.mkstemp()
-        confirmation_array = [' -i '+ssh_key]
-        string = ssh.login('server', 'me', password='s3cret', ssh_key=ssh_key)
-        for confirmation in confirmation_array:
-            if confirmation in string:
-                confirmation_strings+=1
-        
-        if confirmation_strings!=len(confirmation_array):
-            assert False, 'String generated from adding an SSH key is incorrect.'
-
-
-if __name__ == '__main__':
-    unittest.main()
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/test_replwrap.py b/lldb/third_party/Python/module/pexpect-4.6/tests/test_replwrap.py
deleted file mode 100644 (file)
index d0fe8e2..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-import platform
-import unittest
-import re
-import os
-
-import pexpect
-from pexpect import replwrap
-
-skip_pypy = "This test fails on PyPy because of REPL differences"
-
-
-class REPLWrapTestCase(unittest.TestCase):
-    def setUp(self):
-        super(REPLWrapTestCase, self).setUp()
-        self.save_ps1 = os.getenv('PS1', r'\$')
-        self.save_ps2 = os.getenv('PS2', '>')
-        os.putenv('PS1', r'\$')
-        os.putenv('PS2', '>')
-
-    def tearDown(self):
-        super(REPLWrapTestCase, self).tearDown()
-        os.putenv('PS1', self.save_ps1)
-        os.putenv('PS2', self.save_ps2)
-
-    def test_bash(self):
-        bash = replwrap.bash()
-        res = bash.run_command("time")
-        assert 'real' in res, res
-
-    def test_pager_as_cat(self):
-        " PAGER is set to cat, to prevent timeout in ``man sleep``. "
-        bash = replwrap.bash()
-        res = bash.run_command('man sleep', timeout=5)
-        assert 'SLEEP' in res, res
-
-    def test_bash_env(self):
-        """env, which displays PS1=..., should not mess up finding the prompt.
-        """
-        bash = replwrap.bash()
-        res = bash.run_command("env")
-        self.assertIn('PS1', res)
-        res = bash.run_command("echo $HOME")
-        assert res.startswith('/'), res
-
-    def test_long_running_multiline(self):
-        " ensure the default timeout is used for multi-line commands. "
-        bash = replwrap.bash()
-        res = bash.run_command("echo begin\r\nsleep 2\r\necho done")
-        self.assertEqual(res.strip().splitlines(), ['begin', 'done'])
-
-    def test_long_running_continuation(self):
-        " also ensure timeout when used within continuation prompts. "
-        bash = replwrap.bash()
-        # The two extra '\\' in the following expression force a continuation
-        # prompt:
-        # $ echo begin\
-        #     + ;
-        # $ sleep 2
-        # $ echo done
-        res = bash.run_command("echo begin\\\n;sleep 2\r\necho done")
-        self.assertEqual(res.strip().splitlines(), ['begin', 'done'])
-
-    def test_multiline(self):
-        bash = replwrap.bash()
-        res = bash.run_command("echo '1 2\n3 4'")
-        self.assertEqual(res.strip().splitlines(), ['1 2', '3 4'])
-
-        # Should raise ValueError if input is incomplete
-        try:
-            bash.run_command("echo '5 6")
-        except ValueError:
-            pass
-        else:
-            assert False, "Didn't raise ValueError for incomplete input"
-
-        # Check that the REPL was reset (SIGINT) after the incomplete input
-        res = bash.run_command("echo '1 2\n3 4'")
-        self.assertEqual(res.strip().splitlines(), ['1 2', '3 4'])
-
-    def test_existing_spawn(self):
-        child = pexpect.spawn("bash", timeout=5, echo=False, encoding='utf-8')
-        repl = replwrap.REPLWrapper(child, re.compile('[$#]'),
-                                    "PS1='{0}' PS2='{1}' "
-                                    "PROMPT_COMMAND=''")
-
-        res = repl.run_command("echo $HOME")
-        assert res.startswith('/'), res
-
-    def test_python(self):
-        if platform.python_implementation() == 'PyPy':
-            raise unittest.SkipTest(skip_pypy)
-
-        p = replwrap.python()
-        res = p.run_command('4+7')
-        assert res.strip() == '11'
-
-        res = p.run_command('for a in range(3): print(a)\n')
-        assert res.strip().splitlines() == ['0', '1', '2']
-
-    def test_no_change_prompt(self):
-        if platform.python_implementation() == 'PyPy':
-            raise unittest.SkipTest(skip_pypy)
-
-        child = pexpect.spawn('python', echo=False, timeout=5, encoding='utf-8')
-        # prompt_change=None should mean no prompt change
-        py = replwrap.REPLWrapper(child, u">>> ", prompt_change=None,
-                                  continuation_prompt=u"... ")
-        assert py.prompt == ">>> "
-
-        res = py.run_command("for a in range(3): print(a)\n")
-        assert res.strip().splitlines() == ['0', '1', '2']
-
-if __name__ == '__main__':
-    unittest.main()
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/test_repr.py b/lldb/third_party/Python/module/pexpect-4.6/tests/test_repr.py
deleted file mode 100644 (file)
index ac33716..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-""" Test __str__ methods. """
-import pexpect
-
-from . import PexpectTestCase
-
-
-class TestCaseMisc(PexpectTestCase.PexpectTestCase):
-
-    def test_str_spawnu(self):
-        """ Exercise spawnu.__str__() """
-        # given,
-        p = pexpect.spawnu('cat')
-        # exercise,
-        value = str(p)
-        # verify
-        assert isinstance(value, str)
-
-    def test_str_spawn(self):
-        """ Exercise spawn.__str__() """
-        # given,
-        p = pexpect.spawn('cat')
-        # exercise,
-        value = str(p)
-        # verify
-        assert isinstance(value, str)
-
-    def test_str_before_spawn(self):
-        """ Exercise derived spawn.__str__() """
-        # given,
-        child = pexpect.spawn(None, None)
-        child.read_nonblocking = lambda size, timeout: b''
-        try:
-            child.expect('alpha', timeout=0.1)
-        except pexpect.TIMEOUT as e:
-            str(e)  # Smoketest
-        else:
-            assert False, 'TIMEOUT exception expected. No exception raised.'
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/test_run.py b/lldb/third_party/Python/module/pexpect-4.6/tests/test_run.py
deleted file mode 100755 (executable)
index 1b3c92f..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-#!/usr/bin/env python
-# encoding: utf-8
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-import pexpect
-import unittest
-import subprocess
-import tempfile
-import sys
-import os
-from . import PexpectTestCase
-
-unicode_type = str if pexpect.PY3 else unicode
-
-
-def timeout_callback(values):
-    if values["event_count"] > 3:
-        return 1
-    return 0
-
-
-def function_events_callback(values):
-    try:
-        previous_echoed = (values["child_result_list"][-1]
-                           .decode().split("\n")[-2].strip())
-        if previous_echoed.endswith("stage-1"):
-            return "echo stage-2\n"
-        elif previous_echoed.endswith("stage-2"):
-            return "echo stage-3\n"
-        elif previous_echoed.endswith("stage-3"):
-            return "exit\n"
-        else:
-            raise Exception("Unexpected output {0}".format(previous_echoed))
-    except IndexError:
-        return "echo stage-1\n"
-
-
-class RunFuncTestCase(PexpectTestCase.PexpectTestCase):
-    runfunc = staticmethod(pexpect.run)
-    cr = b'\r'
-    empty = b''
-    prep_subprocess_out = staticmethod(lambda x: x)
-
-    def setUp(self):
-        fd, self.rcfile = tempfile.mkstemp()
-        os.write(fd, b'PS1=GO: \n')
-        os.close(fd)
-        super(RunFuncTestCase, self).setUp()
-
-    def tearDown(self):
-        os.unlink(self.rcfile)
-        super(RunFuncTestCase, self).tearDown()
-
-    def test_run_exit(self):
-        (data, exitstatus) = self.runfunc('python exit1.py', withexitstatus=1)
-        assert exitstatus == 1, "Exit status of 'python exit1.py' should be 1."
-
-    def test_run(self):
-        the_old_way = subprocess.Popen(
-            args=['uname', '-m', '-n'],
-            stdout=subprocess.PIPE
-        ).communicate()[0].rstrip()
-
-        (the_new_way, exitstatus) = self.runfunc(
-            'uname -m -n', withexitstatus=1)
-        the_new_way = the_new_way.replace(self.cr, self.empty).rstrip()
-
-        self.assertEqual(self.prep_subprocess_out(the_old_way), the_new_way)
-        self.assertEqual(exitstatus, 0)
-
-    def test_run_callback(self):
-        # TODO it seems like this test could block forever if run fails...
-        events = {pexpect.TIMEOUT: timeout_callback}
-        self.runfunc("cat", timeout=1, events=events)
-
-    def test_run_bad_exitstatus(self):
-        (the_new_way, exitstatus) = self.runfunc(
-            'ls -l /najoeufhdnzkxjd', withexitstatus=1)
-        assert exitstatus != 0
-
-    def test_run_event_as_string(self):
-        events = [
-            # second match on 'abc', echo 'def'
-            ('abc\r\n.*GO:', 'echo "def"\n'),
-            # final match on 'def': exit
-            ('def\r\n.*GO:', 'exit\n'),
-            # first match on 'GO:' prompt, echo 'abc'
-            ('GO:', 'echo "abc"\n')
-        ]
-
-        (data, exitstatus) = pexpect.run(
-            'bash --rcfile {0}'.format(self.rcfile),
-            withexitstatus=True,
-            events=events,
-            timeout=10)
-        assert exitstatus == 0
-
-    def test_run_event_as_function(self):
-        events = [
-            ('GO:', function_events_callback)
-        ]
-
-        (data, exitstatus) = pexpect.run(
-            'bash --rcfile {0}'.format(self.rcfile),
-            withexitstatus=True,
-            events=events,
-            timeout=10)
-        assert exitstatus == 0
-
-    def test_run_event_as_method(self):
-        events = [
-            ('GO:', self._method_events_callback)
-        ]
-
-        (data, exitstatus) = pexpect.run(
-            'bash --rcfile {0}'.format(self.rcfile),
-            withexitstatus=True,
-            events=events,
-            timeout=10)
-        assert exitstatus == 0
-
-    def test_run_event_typeerror(self):
-        events = [('GO:', -1)]
-        with self.assertRaises(TypeError):
-            pexpect.run('bash --rcfile {0}'.format(self.rcfile),
-                        withexitstatus=True,
-                        events=events,
-                        timeout=10)
-
-    def _method_events_callback(self, values):
-        try:
-            previous_echoed = (values["child_result_list"][-1].decode()
-                               .split("\n")[-2].strip())
-            if previous_echoed.endswith("foo1"):
-                return "echo foo2\n"
-            elif previous_echoed.endswith("foo2"):
-                return "echo foo3\n"
-            elif previous_echoed.endswith("foo3"):
-                return "exit\n"
-            else:
-                raise Exception("Unexpected output {0!r}"
-                                .format(previous_echoed))
-        except IndexError:
-            return "echo foo1\n"
-
-
-class RunUnicodeFuncTestCase(RunFuncTestCase):
-    runfunc = staticmethod(pexpect.runu)
-    cr = b'\r'.decode('ascii')
-    empty = b''.decode('ascii')
-    prep_subprocess_out = staticmethod(lambda x: x.decode('utf-8', 'replace'))
-
-    def test_run_unicode(self):
-        if pexpect.PY3:
-            char = chr(254)   # þ
-            pattern = '<in >'
-        else:
-            char = unichr(254)  # analysis:ignore
-            pattern = '<in >'.decode('ascii')
-
-        def callback(values):
-            if values['event_count'] == 0:
-                return char + '\n'
-            else:
-                return True  # Stop the child process
-
-        output = pexpect.runu(sys.executable + ' echo_w_prompt.py',
-                              env={'PYTHONIOENCODING': 'utf-8'},
-                              events={pattern: callback})
-        assert isinstance(output, unicode_type), type(output)
-        assert ('<out>' + char) in output, output
-
-if __name__ == '__main__':
-    unittest.main()
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/test_run_out_of_pty.py b/lldb/third_party/Python/module/pexpect-4.6/tests/test_run_out_of_pty.py
deleted file mode 100755 (executable)
index 3090147..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-import pexpect
-import unittest
-from . import PexpectTestCase
-
-class ExpectTestCase(PexpectTestCase.PexpectTestCase):
-    # This takes too long to run and isn't all that interesting of a test.
-    def OFF_test_run_out_of_pty (self):
-        '''This assumes that the tested platform has < 10000 pty devices.
-        This test currently does not work under Solaris.
-        Under Solaris it runs out of file descriptors first and
-        ld.so starts to barf:
-            ld.so.1: pt_chmod: fatal: /usr/lib/libc.so.1: Too many open files
-        '''
-        plist=[]
-        for count in range (0,10000):
-                try:
-                        plist.append (pexpect.spawn('ls -l'))
-                except pexpect.ExceptionPexpect:
-                        for c in range (0, count):
-                            plist[c].close()
-                        return
-                except Exception:
-                        err = sys.exc_info()[1]
-                        self.fail ('Expected ExceptionPexpect. ' + str(err))
-        self.fail ('Could not run out of pty devices. This may be OK.')
-
-if __name__ == '__main__':
-    unittest.main()
-
-suite = unittest.makeSuite(ExpectTestCase,'test')
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/test_screen.py b/lldb/third_party/Python/module/pexpect-4.6/tests/test_screen.py
deleted file mode 100755 (executable)
index 2429e57..0000000
+++ /dev/null
@@ -1,287 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-
-import sys
-
-from pexpect import screen
-import unittest
-from . import PexpectTestCase
-
-PY3 = (sys.version_info[0] >= 3)
-
-fill1_target='XXXXXXXXXX\n' + \
-'XOOOOOOOOX\n' + \
-'XO::::::OX\n' + \
-'XO:oooo:OX\n' + \
-'XO:o..o:OX\n' + \
-'XO:o..o:OX\n' + \
-'XO:oooo:OX\n' + \
-'XO::::::OX\n' + \
-'XOOOOOOOOX\n' + \
-'XXXXXXXXXX'
-fill2_target = 'XXXXXXXXXXX\n' + \
-'XOOOOOOOOOX\n' + \
-'XO:::::::OX\n' + \
-'XO:ooooo:OX\n' + \
-'XO:o...o:OX\n' + \
-'XO:o.+.o:OX\n' + \
-'XO:o...o:OX\n' + \
-'XO:ooooo:OX\n' + \
-'XO:::::::OX\n' + \
-'XOOOOOOOOOX\n' + \
-'XXXXXXXXXXX'
-put_target = '\\.3.5.7.9/\n' + \
-'.........2\n' + \
-'3.........\n' + \
-'.........4\n' + \
-'5...\\/....\n' + \
-'..../\\...6\n' + \
-'7.........\n' + \
-'.........8\n' + \
-'9.........\n' + \
-'/2.4.6.8.\\'
-scroll_target = '\\.3.5.7.9/\n' + \
-'\\.3.5.7.9/\n' + \
-'\\.3.5.7.9/\n' + \
-'\\.3.5.7.9/\n' + \
-'5...\\/....\n' + \
-'..../\\...6\n' + \
-'/2.4.6.8.\\\n' + \
-'/2.4.6.8.\\\n' + \
-'/2.4.6.8.\\\n' + \
-'/2.4.6.8.\\'
-insert_target = 'ZXZZZZZZXZ\n' +\
-'.........2\n' +\
-'3.........\n' +\
-'.........4\n' +\
-'Z5...\\/...\n' +\
-'..../Z\\...\n' +\
-'7.........\n' +\
-'.........8\n' +\
-'9.........\n' +\
-'ZZ/2.4.6ZZ'
-get_region_target = ['......', '.\\/...', './\\...', '......']
-
-unicode_box_unicode_result = u'\u2554\u2557\n\u255A\u255D'
-unicode_box_pretty_result = u'''\
-+--+
-|\u2554\u2557|
-|\u255A\u255D|
-+--+
-'''
-unicode_box_ascii_bytes_result = b'??\n??'
-unicode_box_cp437_bytes_result = b'\xc9\xbb\n\xc8\xbc'
-unicode_box_utf8_bytes_result = b'\xe2\x95\x94\xe2\x95\x97\n\xe2\x95\x9a\xe2\x95\x9d'
-
-class screenTestCase (PexpectTestCase.PexpectTestCase):
-    def make_screen_with_put (self):
-        s = screen.screen(10,10)
-        s.fill ('.')
-        for r in range (1,s.rows + 1):
-            if r % 2:
-                s.put_abs (r, 1, str(r))
-            else:
-                s.put_abs (r, s.cols, str(r))
-        for c in range (1,s.cols + 1):
-            if c % 2:
-                s.put_abs (1, c, str(c))
-            else:
-                s.put_abs (s.rows, c, str(c))
-        s.put_abs(1,1, '\\')
-        s.put_abs(1,s.cols, '/')
-        s.put_abs(s.rows,1,'/')
-        s.put_abs(s.rows, s.cols, '\\')
-        s.put_abs(5,5,'\\')
-        s.put_abs(5,6,'/')
-        s.put_abs(6,5,'/')
-        s.put_abs(6,6,'\\')
-        return s
-
-    def test_fill (self):
-        s = screen.screen (10,10)
-        s.fill_region (10,1,1,10,'X')
-        s.fill_region (2,2,9,9,'O')
-        s.fill_region (8,8,3,3,':')
-        s.fill_region (4,7,7,4,'o')
-        s.fill_region (6,5,5,6,'.')
-        assert str(s) == fill1_target
-
-        s = screen.screen (11,11)
-        s.fill_region (1,1,11,11,'X')
-        s.fill_region (2,2,10,10,'O')
-        s.fill_region (9,9,3,3,':')
-        s.fill_region (4,8,8,4,'o')
-        s.fill_region (7,5,5,7,'.')
-        s.fill_region (6,6,6,6,'+')
-        assert str(s) == fill2_target
-    def test_put (self):
-        s = self.make_screen_with_put()
-        assert str(s) == put_target
-    def test_get_region (self):
-        s = self.make_screen_with_put()
-        r = s.get_region (4,4,7,9)
-        assert r == get_region_target
-
-    def test_cursor_save (self):
-        s = self.make_screen_with_put()
-        s.cursor_home (5,5)
-        c = s.get()
-        s.cursor_save()
-        s.cursor_home()
-        s.cursor_forward()
-        s.cursor_down()
-        s.cursor_unsave()
-        assert s.cur_r == 5 and s.cur_c == 5
-        assert c == s.get()
-    def test_scroll (self):
-        s = self.make_screen_with_put()
-        s.scroll_screen_rows (1,4)
-        s.scroll_down(); s.scroll_down(); s.scroll_down()
-        s.scroll_down(); s.scroll_down(); s.scroll_down()
-        s.scroll_screen_rows (7,10)
-        s.scroll_up(); s.scroll_up(); s.scroll_up()
-        s.scroll_up(); s.scroll_up(); s.scroll_up()
-        assert str(s) == scroll_target
-    def test_insert (self):
-        s = self.make_screen_with_put()
-        s.insert_abs (10,1,'Z')
-        s.insert_abs (1,1,'Z')
-        s.insert_abs (1,1,'Z')
-        s.insert_abs (1,1,'Z')
-        s.insert_abs (1,1,'Z')
-        s.insert_abs (1,1,'Z')
-        s.insert_abs (10,1,'Z')
-        s.insert_abs (1,1,'Z')
-        s.insert_abs (1,1,'Z')
-        s.insert_abs (5,1,'Z')
-        s.insert_abs (6,6,'Z')
-        s.cursor_home (1,1) # Also test relative insert.
-        s.insert ('Z')
-        s.insert ('Z')
-        s.insert ('Z')
-        s.insert ('Z')
-        s.insert_abs (1,8,'X')
-        s.insert_abs (1,2,'X')
-        s.insert_abs (10,9,'Z')
-        s.insert_abs (10,9,'Z')
-        assert str(s) == insert_target
-
-    def make_screen_with_box_unicode(self, *args, **kwargs):
-        '''Creates a screen containing a box drawn using double-line
-        line drawing characters. The characters are fed in as
-        unicode. '''
-        s = screen.screen (2,2,*args,**kwargs)
-        s.put_abs (1,1,u'\u2554')
-        s.put_abs (1,2,u'\u2557')
-        s.put_abs (2,1,u'\u255A')
-        s.put_abs (2,2,u'\u255D')
-        return s
-
-    def make_screen_with_box_cp437(self, *args, **kwargs):
-        '''Creates a screen containing a box drawn using double-line
-        line drawing characters. The characters are fed in as
-        CP437. '''
-        s = screen.screen (2,2,*args,**kwargs)
-        s.put_abs (1,1,b'\xc9')
-        s.put_abs (1,2,b'\xbb')
-        s.put_abs (2,1,b'\xc8')
-        s.put_abs (2,2,b'\xbc')
-        return s
-
-    def make_screen_with_box_utf8(self, *args, **kwargs):
-        '''Creates a screen containing a box drawn using double-line
-        line drawing characters. The characters are fed in as
-        UTF-8. '''
-        s = screen.screen (2,2,*args,**kwargs)
-        s.put_abs (1,1,b'\xe2\x95\x94')
-        s.put_abs (1,2,b'\xe2\x95\x97')
-        s.put_abs (2,1,b'\xe2\x95\x9a')
-        s.put_abs (2,2,b'\xe2\x95\x9d')
-        return s
-
-    def test_unicode_ascii (self):
-        # With the default encoding set to ASCII, we should still be
-        # able to feed in unicode strings and get them back out:
-        s = self.make_screen_with_box_unicode('ascii')
-        if PY3:
-            assert str(s) == unicode_box_unicode_result
-        else:
-            assert unicode(s) == unicode_box_unicode_result
-            # And we should still get something for Python 2 str(), though
-            # it might not be very useful
-            str(s)
-
-        assert s.pretty() == unicode_box_pretty_result
-
-    def test_decoding_errors(self):
-        # With strict error handling, it should reject bytes it can't decode
-        with self.assertRaises(UnicodeDecodeError):
-            self.make_screen_with_box_cp437('ascii', 'strict')
-
-        # replace should turn them into unicode replacement characters, U+FFFD
-        s = self.make_screen_with_box_cp437('ascii', 'replace')
-        expected = u'\ufffd\ufffd\n\ufffd\ufffd'
-        if PY3:
-            assert str(s) == expected
-        else:
-            assert unicode(s) == expected
-
-    def test_unicode_cp437 (self):
-        # Verify decoding from and re-encoding to CP437.
-        s = self.make_screen_with_box_cp437('cp437','strict')
-        if PY3:
-            assert str(s) == unicode_box_unicode_result
-        else:
-            assert unicode(s) == unicode_box_unicode_result
-            assert str(s) == unicode_box_cp437_bytes_result
-        assert s.pretty() == unicode_box_pretty_result
-
-    def test_unicode_utf8 (self):
-        # Verify decoding from and re-encoding to UTF-8.
-        s = self.make_screen_with_box_utf8('utf-8','strict')
-        if PY3:
-            assert str(s) == unicode_box_unicode_result
-        else:
-            assert unicode(s) == unicode_box_unicode_result
-            assert str(s) == unicode_box_utf8_bytes_result
-        assert s.pretty() == unicode_box_pretty_result
-
-    def test_no_bytes(self):
-        s = screen.screen(2, 2, encoding=None)
-        s.put_abs(1, 1, u'A')
-        s.put_abs(2, 2, u'D')
-
-        with self.assertRaises(TypeError):
-            s.put_abs(1, 2, b'B')
-
-        if PY3:
-            assert str(s) == u'A \n D'
-        else:
-            assert unicode(s) == u'A \n D'
-            # This will still work if it's limited to ascii
-            assert str(s) == b'A \n D'
-
-if __name__ == '__main__':
-    unittest.main()
-
-suite = unittest.makeSuite(screenTestCase,'test')
-
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/test_socket.py b/lldb/third_party/Python/module/pexpect-4.6/tests/test_socket.py
deleted file mode 100644 (file)
index 21648f4..0000000
+++ /dev/null
@@ -1,270 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-import pexpect
-from pexpect import fdpexpect
-import unittest
-from . import PexpectTestCase
-import multiprocessing
-import os
-import signal
-import socket
-import time
-import errno
-
-
-class SocketServerError(Exception):
-    pass
-
-
-class ExpectTestCase(PexpectTestCase.PexpectTestCase):
-
-    def setUp(self):
-        print(self.id())
-        PexpectTestCase.PexpectTestCase.setUp(self)
-        self.host = '127.0.0.1'
-        self.port = 49152 + 10000
-        self.motd = b"""\
-------------------------------------------------------------------------------
-*                  Welcome to the SOCKET UNIT TEST code!                     *
-------------------------------------------------------------------------------
-*                                                                            *
-* This unit test code is our best effort at testing the ability of the       *
-* pexpect library to handle sockets. We need some text to test buffer size   *
-* handling.                                                                  *
-*                                                                            *
-* A page is 1024 bytes or 1K. 80 x 24 = 1920. So a standard terminal window  *
-* contains more than one page. We actually want more than a page for our     *
-* tests.                                                                     *
-*                                                                            *
-* This is the twelfth line, and we need 24. So we need a few more paragraphs.*
-* We can keep them short and just put lines between them.                    *
-*                                                                            *
-* The 80 x 24 terminal size comes from the ancient past when computers were  *
-* only able to display text in cuneiform writing.                            *
-*                                                                            *
-* The cunieform writing system used the edge of a reed to make marks on clay *
-* tablets.                                                                   *
-*                                                                            *
-* It was the forerunner of the style of handwriting used by doctors to write *
-* prescriptions. Thus the name: pre (before) script (writing) ion (charged   *
-* particle).                                                                 *
-------------------------------------------------------------------------------
-""".replace(b'\n', b'\n\r') + b"\r\n"
-        self.prompt1 = b'Press Return to continue:'
-        self.prompt2 = b'Rate this unit test>'
-        self.prompt3 = b'Press X to exit:'
-        self.enter = b'\r\n'
-        self.exit = b'X\r\n'
-        self.server_up = multiprocessing.Event()
-        self.server_process = multiprocessing.Process(target=self.socket_server, args=(self.server_up,))
-        self.server_process.daemon = True
-        self.server_process.start()
-        counter = 0
-        while not self.server_up.is_set():
-            time.sleep(0.250)
-            counter += 1
-            if counter > (10 / 0.250):
-                raise SocketServerError("Could not start socket server")
-
-    def tearDown(self):
-        os.kill(self.server_process.pid, signal.SIGINT)
-        self.server_process.join(timeout=5.0)
-        PexpectTestCase.PexpectTestCase.tearDown(self)
-
-    def socket_server(self, server_up):
-        sock = None
-        try:
-            sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-            sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
-            sock.bind((self.host, self.port))
-            sock.listen(5)
-            server_up.set()
-            while True:
-                (conn, addr) = sock.accept()
-                conn.send(self.motd)
-                conn.send(self.prompt1)
-                result = conn.recv(1024)
-                if result != self.enter:
-                    break
-                conn.send(self.prompt2)
-                result = conn.recv(1024)
-                if result != self.enter:
-                    break
-                conn.send(self.prompt3)
-                result = conn.recv(1024)
-                if result.startswith(self.exit[0]):
-                    conn.shutdown(socket.SHUT_RDWR)
-                    conn.close()
-        except KeyboardInterrupt:
-            pass
-        if sock is not None:
-            try:
-                sock.shutdown(socket.SHUT_RDWR)
-                sock.close()
-            except socket.error:
-                pass
-        exit(0)
-
-    def socket_fn(self, timed_out, all_read):
-        result = 0
-        try:
-            sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-            sock.connect((self.host, self.port))
-            session = fdpexpect.fdspawn(sock, timeout=10)
-            # Get all data from server
-            session.read_nonblocking(size=4096)
-            all_read.set()
-            # This read should timeout
-            session.read_nonblocking(size=4096)
-        except pexpect.TIMEOUT:
-            timed_out.set()
-            result = errno.ETIMEDOUT
-        exit(result)
-
-    def test_socket(self):
-        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-        sock.connect((self.host, self.port))
-        session = fdpexpect.fdspawn(sock.fileno(), timeout=10)
-        session.expect(self.prompt1)
-        self.assertEqual(session.before, self.motd)
-        session.send(self.enter)
-        session.expect(self.prompt2)
-        session.send(self.enter)
-        session.expect(self.prompt3)
-        session.send(self.exit)
-        session.expect(pexpect.EOF)
-        self.assertEqual(session.before, b'')
-
-    def test_socket_with_write(self):
-        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-        sock.connect((self.host, self.port))
-        session = fdpexpect.fdspawn(sock.fileno(), timeout=10)
-        session.expect(self.prompt1)
-        self.assertEqual(session.before, self.motd)
-        session.write(self.enter)
-        session.expect(self.prompt2)
-        session.write(self.enter)
-        session.expect(self.prompt3)
-        session.write(self.exit)
-        session.expect(pexpect.EOF)
-        self.assertEqual(session.before, b'')
-
-    def test_not_int(self):
-        with self.assertRaises(pexpect.ExceptionPexpect):
-            session = fdpexpect.fdspawn('bogus', timeout=10)
-
-    def test_not_file_descriptor(self):
-        with self.assertRaises(pexpect.ExceptionPexpect):
-            session = fdpexpect.fdspawn(-1, timeout=10)
-
-    def test_timeout(self):
-        with self.assertRaises(pexpect.TIMEOUT):
-            sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-            sock.connect((self.host, self.port))
-            session = fdpexpect.fdspawn(sock, timeout=10)
-            session.expect(b'Bogus response')
-
-    def test_interrupt(self):
-        timed_out = multiprocessing.Event()
-        all_read = multiprocessing.Event()
-        test_proc = multiprocessing.Process(target=self.socket_fn, args=(timed_out, all_read))
-        test_proc.daemon = True
-        test_proc.start()
-        while not all_read.is_set():
-            time.sleep(1.0)
-        os.kill(test_proc.pid, signal.SIGWINCH)
-        while not timed_out.is_set():
-            time.sleep(1.0)
-        test_proc.join(timeout=5.0)
-        self.assertEqual(test_proc.exitcode, errno.ETIMEDOUT)
-
-    def test_multiple_interrupts(self):
-        timed_out = multiprocessing.Event()
-        all_read = multiprocessing.Event()
-        test_proc = multiprocessing.Process(target=self.socket_fn, args=(timed_out, all_read))
-        test_proc.daemon = True
-        test_proc.start()
-        while not all_read.is_set():
-            time.sleep(1.0)
-        while not timed_out.is_set():
-            os.kill(test_proc.pid, signal.SIGWINCH)
-            time.sleep(1.0)
-        test_proc.join(timeout=5.0)
-        self.assertEqual(test_proc.exitcode, errno.ETIMEDOUT)
-
-    def test_maxread(self):
-        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-        sock.connect((self.host, self.port))
-        session = fdpexpect.fdspawn(sock.fileno(), timeout=10)
-        session.maxread = 1100
-        session.expect(self.prompt1)
-        self.assertEqual(session.before, self.motd)
-        session.send(self.enter)
-        session.expect(self.prompt2)
-        session.send(self.enter)
-        session.expect(self.prompt3)
-        session.send(self.exit)
-        session.expect(pexpect.EOF)
-        self.assertEqual(session.before, b'')
-
-    def test_fd_isalive(self):
-        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-        sock.connect((self.host, self.port))
-        session = fdpexpect.fdspawn(sock.fileno(), timeout=10)
-        assert session.isalive()
-        sock.close()
-        assert not session.isalive(), "Should not be alive after close()"
-
-    def test_fd_isalive_poll(self):
-        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-        sock.connect((self.host, self.port))
-        session = fdpexpect.fdspawn(sock.fileno(), timeout=10, use_poll=True)
-        assert session.isalive()
-        sock.close()
-        assert not session.isalive(), "Should not be alive after close()"
-
-    def test_fd_isatty(self):
-        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-        sock.connect((self.host, self.port))
-        session = fdpexpect.fdspawn(sock.fileno(), timeout=10)
-        assert not session.isatty()
-        session.close()
-
-    def test_fd_isatty_poll(self):
-        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-        sock.connect((self.host, self.port))
-        session = fdpexpect.fdspawn(sock.fileno(), timeout=10, use_poll=True)
-        assert not session.isatty()
-        session.close()
-
-    def test_fileobj(self):
-        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-        sock.connect((self.host, self.port))
-        session = fdpexpect.fdspawn(sock, timeout=10) # Should get the fileno from the socket
-        session.expect(self.prompt1)
-        session.close()
-        assert not session.isalive()
-        session.close()  # Smoketest - should be able to call this again
-
-if __name__ == '__main__':
-    unittest.main()
-
-suite = unittest.makeSuite(ExpectTestCase, 'test')
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/test_timeout_pattern.py b/lldb/third_party/Python/module/pexpect-4.6/tests/test_timeout_pattern.py
deleted file mode 100755 (executable)
index 5f610ef..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-from __future__ import with_statement  # bring 'with' stmt to py25
-import pexpect
-import unittest
-from . import PexpectTestCase
-import sys
-
-class Exp_TimeoutTestCase(PexpectTestCase.PexpectTestCase):
-    def test_matches_exp_timeout (self):
-        '''This tests that we can raise and catch TIMEOUT.
-        '''
-        try:
-            raise pexpect.TIMEOUT("TIMEOUT match test")
-        except pexpect.TIMEOUT:
-            pass
-            #print "Correctly caught TIMEOUT when raising TIMEOUT."
-        else:
-            self.fail('TIMEOUT not caught by an except TIMEOUT clause.')
-
-    def test_pattern_printout (self):
-        '''Verify that a TIMEOUT returns the proper patterns it is trying to match against.
-        Make sure it is returning the pattern from the correct call.'''
-        try:
-            p = pexpect.spawn('cat')
-            p.sendline('Hello')
-            p.expect('Hello')
-            p.expect('Goodbye',timeout=5)
-        except pexpect.TIMEOUT:
-            assert p.match_index == None
-        else:
-            self.fail("Did not generate a TIMEOUT exception.")
-
-    def test_exp_timeout_notThrown (self):
-        '''Verify that a TIMEOUT is not thrown when we match what we expect.'''
-        try:
-            p = pexpect.spawn('cat')
-            p.sendline('Hello')
-            p.expect('Hello')
-        except pexpect.TIMEOUT:
-            self.fail("TIMEOUT caught when it shouldn't be raised because we match the proper pattern.")
-
-    def test_stacktraceMunging (self):
-        '''Verify that the stack trace returned with a TIMEOUT instance does not contain references to pexpect.'''
-        try:
-            p = pexpect.spawn('cat')
-            p.sendline('Hello')
-            p.expect('Goodbye',timeout=5)
-        except pexpect.TIMEOUT:
-            err = sys.exc_info()[1]
-            if err.get_trace().count("pexpect/__init__.py") != 0:
-                self.fail("The TIMEOUT get_trace() referenced pexpect.py. "
-                    "It should only reference the caller.\n" + err.get_trace())
-
-    def test_correctStackTrace (self):
-        '''Verify that the stack trace returned with a TIMEOUT instance correctly handles function calls.'''
-        def nestedFunction (spawnInstance):
-            spawnInstance.expect("junk", timeout=3)
-
-        try:
-            p = pexpect.spawn('cat')
-            p.sendline('Hello')
-            nestedFunction(p)
-        except pexpect.TIMEOUT:
-            err = sys.exc_info()[1]
-            if err.get_trace().count("nestedFunction") == 0:
-                self.fail("The TIMEOUT get_trace() did not show the call "
-                    "to the nestedFunction function.\n" + str(err) + "\n"
-                    + err.get_trace())
-
-if __name__ == '__main__':
-    unittest.main()
-
-suite = unittest.makeSuite(Exp_TimeoutTestCase,'test')
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/test_unicode.py b/lldb/third_party/Python/module/pexpect-4.6/tests/test_unicode.py
deleted file mode 100644 (file)
index 9b5b988..0000000
+++ /dev/null
@@ -1,187 +0,0 @@
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
-import platform
-import tempfile
-import sys
-import time
-
-import pexpect
-import unittest
-from . import PexpectTestCase
-
-# the program cat(1) may display ^D\x08\x08 when \x04 (EOF, Ctrl-D) is sent
-_CAT_EOF = '^D\x08\x08'
-
-class UnicodeTests(PexpectTestCase.PexpectTestCase):
-    def test_expect_basic (self):
-        p = pexpect.spawnu('cat')
-        p.sendline('Hello')
-        p.sendline('there')
-        p.sendline('Mr. þython') # þ is more like th than p, but never mind
-        p.expect('Hello')
-        p.expect('there')
-        p.expect('Mr. þython')
-        p.sendeof ()
-        p.expect (pexpect.EOF)
-
-    def test_expect_exact_basic (self):
-        p = pexpect.spawnu('cat')
-        p.sendline('Hello')
-        p.sendline('there')
-        p.sendline('Mr. þython')
-        p.expect_exact('Hello')
-        p.expect_exact('there')
-        p.expect_exact('Mr. þython')
-        p.sendeof()
-        p.expect_exact (pexpect.EOF)
-
-    def test_expect_setecho_toggle(self):
-        '''This tests that echo may be toggled off.
-        '''
-        p = pexpect.spawnu('cat', timeout=5)
-        try:
-            self._expect_echo_toggle_off(p)
-        except IOError:
-            if sys.platform.lower().startswith('sunos'):
-                if hasattr(unittest, 'SkipTest'):
-                    raise unittest.SkipTest("Not supported on this platform.")
-                return 'skip'
-            raise
-        self._expect_echo_toggle_on(p)
-
-    def test_expect_echo_exact (self):
-        '''Like test_expect_echo(), but using expect_exact().
-        '''
-        p = pexpect.spawnu('cat', timeout=5)
-        p.expect = p.expect_exact
-        self._expect_echo(p)
-
-    def test_expect_setecho_toggle_exact(self):
-        p = pexpect.spawnu('cat', timeout=5)
-        p.expect = p.expect_exact
-        try:
-            self._expect_echo_toggle_off(p)
-        except IOError:
-            if sys.platform.lower().startswith('sunos'):
-                if hasattr(unittest, 'SkipTest'):
-                    raise unittest.SkipTest("Not supported on this platform.")
-                return 'skip'
-            raise
-        self._expect_echo_toggle_on(p)
-
-    def _expect_echo (self, p):
-        p.sendline('1234') # Should see this twice (once from tty echo and again from cat).
-        index = p.expect (['1234', 'abcdé', 'wxyz', pexpect.EOF, pexpect.TIMEOUT])
-        assert index == 0, (index, p.before)
-        index = p.expect (['1234', 'abcdé', 'wxyz', pexpect.EOF])
-        assert index == 0, index
-
-    def _expect_echo_toggle_off(self, p):
-        p.setecho(0) # Turn off tty echo
-        p.waitnoecho()
-        p.sendline('abcdé') # Now, should only see this once.
-        p.sendline('wxyz') # Should also be only once.
-        index = p.expect ([pexpect.EOF,pexpect.TIMEOUT, 'abcdé', 'wxyz', '1234'])
-        assert index == 2, index
-        index = p.expect ([pexpect.EOF, 'abcdé', 'wxyz', '7890'])
-        assert index == 2, index
-
-    def _expect_echo_toggle_on(self, p):
-        p.setecho(1) # Turn on tty echo
-        time.sleep(0.2) # there is no waitecho() !
-        p.sendline('7890') # Should see this twice.
-        index = p.expect ([pexpect.EOF, 'abcdé', 'wxyz', '7890'])
-        assert index == 3, index
-        index = p.expect ([pexpect.EOF, 'abcdé', 'wxyz', '7890'])
-        assert index == 3, index
-        p.sendeof()
-
-    def test_log_unicode(self):
-        msg = "abcΩ÷"
-        filename_send = tempfile.mktemp()
-        filename_read = tempfile.mktemp()
-        p = pexpect.spawnu('cat')
-        if platform.python_version_tuple() < ('3', '0', '0'):
-            import codecs
-            def open(fname, mode, **kwargs):
-                if 'newline' in kwargs:
-                    del kwargs['newline']
-                return codecs.open(fname, mode, **kwargs)
-        else:
-            import io
-            open = io.open
-
-        p.logfile_send = open(filename_send, 'w', encoding='utf-8')
-        p.logfile_read = open(filename_read, 'w', encoding='utf-8')
-        p.sendline(msg)
-        p.sendeof()
-        p.expect(pexpect.EOF)
-        p.close()
-        p.logfile_send.close()
-        p.logfile_read.close()
-
-        # ensure the 'send' log is correct,
-        with open(filename_send, 'r', encoding='utf-8') as f:
-            self.assertEqual(f.read(), msg + '\n\x04')
-
-        # ensure the 'read' log is correct,
-        with open(filename_read, 'r', encoding='utf-8', newline='') as f:
-            output = f.read().replace(_CAT_EOF, '')
-            self.assertEqual(output, (msg + '\r\n')*2 )
-
-
-    def test_spawn_expect_ascii_unicode(self):
-        # A bytes-based spawn should be able to handle ASCII-only unicode, for
-        # backwards compatibility.
-        p = pexpect.spawn('cat')
-        p.sendline('Camelot')
-        p.expect('Camelot')
-
-        p.sendline('Aargh')
-        p.sendline('Aårgh')
-        p.expect_exact('Aargh')
-
-        p.sendeof()
-        p.expect(pexpect.EOF)
-
-    def test_spawn_send_unicode(self):
-        # A bytes-based spawn should be able to send arbitrary unicode
-        p = pexpect.spawn('cat')
-        p.sendline('3½')
-        p.sendeof()
-        p.expect(pexpect.EOF)
-
-    def test_spawn_utf8_incomplete(self):
-        # This test case ensures correct incremental decoding, which
-        # otherwise fails when the stream inspected by os.read()
-        # does not align exactly at a utf-8 multibyte boundary:
-        #    UnicodeDecodeError: 'utf8' codec can't decode byte 0xe2 in
-        #                        position 0: unexpected end of data
-        p = pexpect.spawnu('cat', maxread=1)
-        p.sendline('▁▂▃▄▅▆▇█')
-        p.sendeof()
-        p.expect('▁▂▃▄▅▆▇█')
-
-    def test_readline_bin_echo(self):
-        # Test using readline() with spawnu objects. pexpect 3.2 had threw
-        # a TypeError when concatenating a bytestring to a unicode type.
-
-        # given,
-        child = pexpect.spawnu('echo', ['input', ])
-
-        # exercise,
-        assert child.readline() == 'input' + child.crlf
-
-    def test_unicode_argv(self):
-        """ Ensure a program can be executed with unicode arguments. """
-        p = pexpect.spawn(u'echo ǝpoɔıun', timeout=5, encoding='utf8')
-        p.expect(u'ǝpoɔıun')
-        p.expect(pexpect.EOF)
-        assert not p.isalive()
-        assert p.exitstatus == 0
-
-if __name__ == '__main__':
-    unittest.main()
-
-suite = unittest.makeSuite(UnicodeTests, 'test')
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/test_which.py b/lldb/third_party/Python/module/pexpect-4.6/tests/test_which.py
deleted file mode 100644 (file)
index 15a8944..0000000
+++ /dev/null
@@ -1,291 +0,0 @@
-# -*- coding: utf-8 -*-
-import subprocess
-import tempfile
-import shutil
-import errno
-import os
-
-import pexpect
-from . import PexpectTestCase
-
-import pytest
-
-
-class TestCaseWhich(PexpectTestCase.PexpectTestCase):
-    " Tests for pexpect.which(). "
-
-    def test_which_finds_ls(self):
-        " which() can find ls(1). "
-        exercise = pexpect.which("ls")
-        assert exercise is not None
-        assert exercise.startswith('/')
-
-    def test_path_from_env(self):
-        " executable found from optional env argument "
-        bin_name = 'pexpect-test-path-from-env'
-        tempdir = tempfile.mkdtemp()
-        try:
-            bin_path = os.path.join(tempdir, bin_name)
-            with open(bin_path, 'w') as f:
-                f.write('# test file not to be run')
-            try:
-                os.chmod(bin_path, 0o700)
-                found_path = pexpect.which(bin_name, env={'PATH': tempdir})
-            finally:
-                os.remove(bin_path)
-            self.assertEqual(bin_path, found_path)
-        finally:
-            os.rmdir(tempdir)
-
-    def test_os_defpath_which(self):
-        " which() finds an executable in $PATH and returns its abspath. "
-
-        bin_dir = tempfile.mkdtemp()
-        temp_obj = tempfile.NamedTemporaryFile(
-            suffix=u'.sh', prefix=u'ǝpoɔıun-',
-            dir=bin_dir, delete=False)
-        bin_path = temp_obj.name
-        fname = os.path.basename(temp_obj.name)
-        save_path = os.environ['PATH']
-        save_defpath = os.defpath
-
-        try:
-            # setup
-            os.environ['PATH'] = ''
-            os.defpath = bin_dir
-            with open(bin_path, 'w') as fp:
-                pass
-
-            # given non-executable,
-            os.chmod(bin_path, 0o400)
-
-            # exercise absolute and relative,
-            assert pexpect.which(bin_path) is None
-            assert pexpect.which(fname) is None
-
-            # given executable,
-            os.chmod(bin_path, 0o700)
-
-            # exercise absolute and relative,
-            assert pexpect.which(bin_path) == bin_path
-            assert pexpect.which(fname) == bin_path
-
-        finally:
-            # restore,
-            os.environ['PATH'] = save_path
-            os.defpath = save_defpath
-
-            # destroy scratch files and folders,
-            if os.path.exists(bin_path):
-                os.unlink(bin_path)
-            if os.path.exists(bin_dir):
-                os.rmdir(bin_dir)
-
-    def test_path_search_which(self):
-        " which() finds an executable in $PATH and returns its abspath. "
-        fname = 'gcc'
-        bin_dir = tempfile.mkdtemp()
-        bin_path = os.path.join(bin_dir, fname)
-        save_path = os.environ['PATH']
-        try:
-            # setup
-            os.environ['PATH'] = bin_dir
-            with open(bin_path, 'w') as fp:
-                pass
-
-            # given non-executable,
-            os.chmod(bin_path, 0o400)
-
-            # exercise absolute and relative,
-            assert pexpect.which(bin_path) is None
-            assert pexpect.which(fname) is None
-
-            # given executable,
-            os.chmod(bin_path, 0o700)
-
-            # exercise absolute and relative,
-            assert pexpect.which(bin_path) == bin_path
-            assert pexpect.which(fname) == bin_path
-
-        finally:
-            # restore,
-            os.environ['PATH'] = save_path
-
-            # destroy scratch files and folders,
-            if os.path.exists(bin_path):
-                os.unlink(bin_path)
-            if os.path.exists(bin_dir):
-                os.rmdir(bin_dir)
-
-    def test_which_follows_symlink(self):
-        " which() follows symlinks and returns its path. "
-        fname = 'original'
-        symname = 'extra-crispy'
-        bin_dir = tempfile.mkdtemp()
-        bin_path = os.path.join(bin_dir, fname)
-        sym_path = os.path.join(bin_dir, symname)
-        save_path = os.environ['PATH']
-        try:
-            # setup
-            os.environ['PATH'] = bin_dir
-            with open(bin_path, 'w') as fp:
-                pass
-            os.chmod(bin_path, 0o400)
-            os.symlink(bin_path, sym_path)
-
-            # should not be found because symlink points to non-executable
-            assert pexpect.which(symname) is None
-
-            # but now it should -- because it is executable
-            os.chmod(bin_path, 0o700)
-            assert pexpect.which(symname) == sym_path
-
-        finally:
-            # restore,
-            os.environ['PATH'] = save_path
-
-            # destroy scratch files, symlinks, and folders,
-            if os.path.exists(sym_path):
-                os.unlink(sym_path)
-            if os.path.exists(bin_path):
-                os.unlink(bin_path)
-            if os.path.exists(bin_dir):
-                os.rmdir(bin_dir)
-
-    def test_which_should_not_match_folders(self):
-        " Which does not match folders, even though they are executable. "
-        # make up a path and insert a folder that is 'executable', a naive
-        # implementation might match (previously pexpect versions 3.2 and
-        # sh versions 1.0.8, reported by @lcm337.)
-        fname = 'g++'
-        bin_dir = tempfile.mkdtemp()
-        bin_dir2 = os.path.join(bin_dir, fname)
-        save_path = os.environ['PATH']
-        try:
-            os.environ['PATH'] = bin_dir
-            os.mkdir(bin_dir2, 0o755)
-            # should not be found because it is not executable *file*,
-            # but rather, has the executable bit set, as a good folder
-            # should -- it should not be returned because it fails isdir()
-            exercise = pexpect.which(fname)
-            assert exercise is None
-
-        finally:
-            # restore,
-            os.environ['PATH'] = save_path
-            # destroy scratch folders,
-            for _dir in (bin_dir2, bin_dir,):
-                if os.path.exists(_dir):
-                    os.rmdir(_dir)
-
-    def test_which_should_match_other_group_user(self):
-        " which() returns executables by other, group, and user ownership. "
-        # create an executable and test that it is found using which() for
-        # each of the 'other', 'group', and 'user' permission bits.
-        fname = 'g77'
-        bin_dir = tempfile.mkdtemp()
-        bin_path = os.path.join(bin_dir, fname)
-        save_path = os.environ['PATH']
-        try:
-            # setup
-            os.environ['PATH'] = bin_dir
-
-            # an interpreted script requires the ability to read,
-            # whereas a binary program requires only to be executable.
-            #
-            # to gain access to a binary program, we make a copy of
-            # the existing system program echo(1).
-            bin_echo = None
-            for pth in ('/bin/echo', '/usr/bin/echo'):
-                if os.path.exists(pth):
-                    bin_echo = pth
-                    break
-            bin_which = None
-            for pth in ('/bin/which', '/usr/bin/which'):
-                if os.path.exists(pth):
-                    bin_which = pth
-                    break
-            if not bin_echo or not bin_which:
-                pytest.skip('needs `echo` and `which` binaries')
-            shutil.copy(bin_echo, bin_path)
-            isroot = os.getuid() == 0
-            for should_match, mode in (
-                # note that although the file may have matching 'group' or
-                # 'other' executable permissions, it is *not* executable
-                # because the current uid is the owner of the file -- which
-                # takes precedence
-                (False,  0o000),   # ----------, no
-                (isroot, 0o001),   # ---------x, no
-                (isroot, 0o010),   # ------x---, no
-                (True,   0o100),   # ---x------, yes
-                (False,  0o002),   # --------w-, no
-                (False,  0o020),   # -----w----, no
-                (False,  0o200),   # --w-------, no
-                (isroot, 0o003),   # --------wx, no
-                (isroot, 0o030),   # -----wx---, no
-                (True,   0o300),   # --wx------, yes
-                (False,  0o004),   # -------r--, no
-                (False,  0o040),   # ----r-----, no
-                (False,  0o400),   # -r--------, no
-                (isroot, 0o005),   # -------r-x, no
-                (isroot, 0o050),   # ----r-x---, no
-                (True,   0o500),   # -r-x------, yes
-                (False,  0o006),   # -------rw-, no
-                (False,  0o060),   # ----rw----, no
-                (False,  0o600),   # -rw-------, no
-                (isroot, 0o007),   # -------rwx, no
-                (isroot, 0o070),   # ----rwx---, no
-                (True,   0o700),   # -rwx------, yes
-                (isroot, 0o4001),  # ---S-----x, no
-                (isroot, 0o4010),  # ---S--x---, no
-                (True,   0o4100),  # ---s------, yes
-                (isroot, 0o4003),  # ---S----wx, no
-                (isroot, 0o4030),  # ---S-wx---, no
-                (True,   0o4300),  # --ws------, yes
-                (isroot, 0o2001),  # ------S--x, no
-                (isroot, 0o2010),  # ------s---, no
-                (True,   0o2100),  # ---x--S---, yes
-
-            ):
-                mode_str = '{0:0>4o}'.format(mode)
-
-                # given file mode,
-                os.chmod(bin_path, mode)
-
-                # exercise whether we may execute
-                can_execute = True
-                try:
-                    subprocess.Popen(fname).wait() == 0
-                except OSError as err:
-                    if err.errno != errno.EACCES:
-                        raise
-                    # permission denied
-                    can_execute = False
-
-                assert should_match == can_execute, (
-                    should_match, can_execute, mode_str)
-
-                # exercise whether which(1) would match
-                proc = subprocess.Popen((bin_which, fname),
-                                        env={'PATH': bin_dir},
-                                        stdout=subprocess.PIPE)
-                bin_which_match = bool(not proc.wait())
-                assert should_match == bin_which_match, (
-                    should_match, bin_which_match, mode_str)
-
-                # finally, exercise pexpect's which(1) matches
-                # the same.
-                pexpect_match = bool(pexpect.which(fname))
-
-                assert should_match == pexpect_match == bin_which_match, (
-                    should_match, pexpect_match, bin_which_match, mode_str)
-
-        finally:
-            # restore,
-            os.environ['PATH'] = save_path
-
-            # destroy scratch files and folders,
-            if os.path.exists(bin_path):
-                os.unlink(bin_path)
-            if os.path.exists(bin_dir):
-                os.rmdir(bin_dir)
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/test_winsize.py b/lldb/third_party/Python/module/pexpect-4.6/tests/test_winsize.py
deleted file mode 100755 (executable)
index be16773..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-import pexpect
-import unittest
-from . import PexpectTestCase
-import time
-
-class TestCaseWinsize(PexpectTestCase.PexpectTestCase):
-
-    def test_initial_winsize(self):
-        """ Assert initial window dimension size (24, 80). """
-        p = pexpect.spawn('{self.PYTHONBIN} sigwinch_report.py'
-                          .format(self=self), timeout=3)
-        # default size by PtyProcess class is 24 rows by 80 columns.
-        p.expect_exact('Initial Size: (24, 80)')
-        p.close()
-
-    def test_initial_winsize_by_dimension(self):
-        """ Assert user-parameter window dimension size is initial. """
-        p = pexpect.spawn('{self.PYTHONBIN} sigwinch_report.py'
-                          .format(self=self), timeout=3,
-                          dimensions=(40, 100))
-        p.expect_exact('Initial Size: (40, 100)')
-        p.close()
-
-    def test_setwinsize(self):
-        """ Ensure method .setwinsize() sends signal caught by child. """
-        p = pexpect.spawn('{self.PYTHONBIN} sigwinch_report.py'
-                          .format(self=self), timeout=3)
-        # Note that we must await the installation of the child process'
-        # signal handler,
-        p.expect_exact('READY')
-        p.setwinsize(19, 84)
-        p.expect_exact('SIGWINCH: (19, 84)')
-        p.close()
-
-if __name__ == '__main__':
-    unittest.main()
-
-suite = unittest.makeSuite(TestCaseWinsize,'test')
-
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/tetris.data b/lldb/third_party/Python/module/pexpect-4.6/tests/tetris.data
deleted file mode 100644 (file)
index 06b6ce6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\e[2J
-\e[24;1H  J->LEFT  K->ROTATE  L->RIGHT  SPACE->DROP  P->PAUSE  Q->QUIT
-\e[1;28HXX\e[1;36HXXXXXXXX\e[1;50HXX\e[2;28HXX\e[2;50HXX\e[3;28HXX\e[3;50HXX\e[4;28HXX\e[4;50HXX\e[5;28HXX\e[5;50HXX\e[6;28HXX\e[6;50HXX\e[7;28HXX\e[7;50HXX\e[8;28HXX\e[8;50HXX\e[9;28HXX\e[9;50HXX\e[10;28HXX\e[10;50HXX\e[11;28HXX\e[11;50HXX\e[12;28HXX\e[12;50HXX\e[13;28HXX\e[13;50HXX\e[14;28HXX\e[14;50HXX\e[15;28HXX\e[15;50HXX\e[16;28HXX\e[16;50HXX\e[17;28HXX\e[17;50HXX\e[18;28HXX\e[18;50HXX\e[19;28HXX\e[19;50HXX\e[20;28HXX\e[20;50HXX\e[21;28HXXXXXXXXXXXXXXXXXXXXXXXX\e[1;36H        \e[2;36HXXXXXXXX\e[21;50HXX\e[2;36H        \e[3;36HXXXXXXXX\e[21;50HXX\e[3;36H        \e[4;36HXXXXXXXX\e[21;50HXX\e[4;36H        \e[5;36HXXXXXXXX\e[21;50HXX\e[5;34HXX\e[5;42H  \e[21;50HXX\e[5;34H        \e[6;34HXXXXXXXX\e[21;50HXX\e[6;32HXX\e[6;40H  \e[21;50HXX\e[6;30HXX\e[6;38H  \e[21;50HXX\e[6;30H        \e[7;30HXXXXXXXX\e[21;50HXX\e[21;50HXX\e[21;50HXX\e[21;50HXX\e[7;30H        \e[8;30HXXXXXXXX\e[21;50HXX\e[8;30H        \e[20;30HXXXXXXXX\e[21;50HXX\e[1;36HXXXXXX\e[2;36HXX\e[21;50HXX\e[1;36H      \e[2;38HXXXX\e[3;36HXX\e[21;50HXX\e[2;36H  \e[2;42HXX\e[3;36H  XX\e[21;50HXX\e[2;38H      \e[3;40HXXXX\e[4;38HXX\e[21;50HXX\e[3;38H  \e[3;44HXX\e[4;38H  XX\e[21;50HXX\e[3;40H  \e[3;46HXX\e[4;40H  XX\e[21;50HXX\e[3;42H  \e[3;48HXX\e[4;42H  XX\e[21;50HXX\e[21;50HXX\e[21;50HXX\e[21;50HXX\e[21;50HXX\e[21;50HXX\e[21;50HXX\e[3;44H      \e[4;46HXXXX\e[5;44HXX\e[21;50HXX\e[4;44H      \e[5;46HXXXX\e[6;44HXX\e[21;50HXX\e[5;44H      \e[6;44H  \e[19;44HXXXXXX\e[20;44HXX\e[21;50HXX\e[1;36HXXXXXX\e[2;36HXX\e[21;50HXX\e[1;36H      \e[2;38HXXXX\e[3;36HXX\e[21;50HXX\e[2;36H  \e[2;42HXX\e[3;36H  XX\e[21;50HXX\e[2;38H  \e[2;44HXX\e[3;38H  XX\e[21;50HXX\e[2;40H      \e[3;42HXXXX\e[4;40HXX\e[21;50HXX\e[2;42HXX\e[3;40H  \e[3;44H  \e[4;40H  XXXX\e[21;50HXX\e[2;42H  XX\e[3;40HXX\e[3;44HXX\e[4;42H    \e[21;50HXX\e[2;44H  \e[3;40H    \e[4;40HXXXXXX\e[21;50HXX\e[3;44H  \e[4;40H      \e[17;44HXX\e[18;40HXXXXXX\e[21;50HXX\e[1;36HXXXX\e[21;50HXX\e[1;36H  \e[1;40HXX\e[2;36HXXXX\e[21;50HXX\e[1;36HXX\e[1;40H  \e[2;34HXX\e[2;38H  \e[21;50HXX\e[1;36H    \e[2;34H  \e[2;38HXX\e[3;34HXXXX\e[21;50HXX\e[2;34HXX\e[2;38H  \e[3;32HXX\e[3;36H  \e[21;50HXX\e[2;32HXX\e[2;36H  \e[3;30HXX\e[3;34H  \e[21;50HXX\e[21;50HXX\e[2;32H    \e[3;30H  \e[3;34HXX\e[4;30HXXXX\e[21;50HXX\e[21;50HXX\e[3;32H    \e[4;30H    \e[18;32HXXXX\e[19;30HXXXX\e[21;50HXX\e[1;36HXXXXXX\e[2;36HXX\e[21;50HXX\e[1;36H  \e[1;42HXX\e[2;36H  XX\e[21;50HXX\e[1;38H      \e[2;40HXXXX\e[3;38HXX\e[21;50HXX\e[2;38H  \e[2;44HXX\e[3;38H  XX\e[21;50HXX\e[2;40H  \e[2;46HXX\e[3;40H  XX\e[21;50HXX\e[2;42H  \e[2;48HXX\e[3;42H  XX\e[21;50HXX\e[2;44H      \e[3;46HXXXX\e[4;44HXX\e[21;50HXX\e[21;50HXX\e[21;50HXX\e[3;44H      \e[4;44H  \e[15;44HXXXXXX\e[16;44HXX\e[21;50HXX\e[1;36HXXXXXXXX\e[21;50HXX\e[1;34HXX\e[1;42H  \e[21;50HXX\e[1;34H        \e[2;34HXXXXXXXX\e[21;50HXX\e[2;32HXX\e[2;40H  \e[21;50HXX\e[2;30HXX\e[2;38H  \e[21;50HXX\e[21;50HXX\e[21;50HXX\e[21;50HXX\e[21;50HXX\e[2;30H        \e[3;30HXXXXXXXX\e[21;50HXX\e[3;30H        \e[17;30HXXXXXXXX\e[21;50HXX\e[1;38HXXXX\e[21;50HXX\e[1;38H    \e[16;36HXXXX\e[17;38HXXXX\e[21;50HXX\e[21;50HXX\e[1;36HXXXX\e[21;50HXX\e[1;36H  \e[1;40HXX\e[21;50HXX\e[2;38HXXXX\e[21;50HXX\e[1;38H  \e[1;42HXX\e[2;38H  \e[2;42HXX\e[21;50HXX\e[1;40H  \e[1;44HXX\e[2;40H  \e[2;44HXX\e[21;50HXX\e[1;42H  \e[1;46HXX\e[2;42H  \e[2;46HXX\e[21;50HXX\e[1;44H    \e[3;44HXXXX\e[21;50HXX\e[2;44H    \e[3;44H    \e[13;44HXXXX\e[14;44HXXXX\e[21;50HXX\e[1;36HXXXXXX\e[2;40HXX\e[21;50HXX\e[1;34HXX\e[1;40H  \e[2;38HXX  \e[21;50HXX\e[1;34H      \e[2;34HXXXX\e[3;38HXX\e[21;50HXX\e[2;32HXX\e[2;38H  \e[3;36HXX  \e[21;50HXX\e[2;30HXX\e[2;36H  \e[3;34HXX  \e[21;50HXX\e[21;50HXX\e[21;50HXX\e[21;50HXX\e[2;30H      \e[3;34H  \e[15;30HXXXXXX\e[16;34HXX\e[21;50HXX\e[1;36HXXXXXXXX\e[21;50HXX\e[1;36H  \e[1;44HXX\e[21;50HXX\e[1;38H        \e[2;38HXXXXXXXX\e[21;50HXX\e[1;40HXX\e[2;38H  \e[2;42H    \e[3;40HXX\e[4;40HXX\e[21;50HXX\e[1;40H  \e[5;40HXX\e[21;50HXX\e[2;40H  \e[3;38HXX\e[3;42HXXXX\e[4;40H  \e[5;40H  \e[21;50HXX\e[2;40HXX\e[3;38H  \e[3;42H    \e[4;40HXX\e[5;40HXX\e[21;50HXX\e[2;40H  \e[6;40HXX\e[21;50HXX\e[3;40H  \e[4;40H  \e[5;40H  \e[6;40H  \e[13;40HXX\e[14;40HXX\e[15;40HXX\e[16;40HXX\e[21;50HXX\e[1;36HXXXXXX\e[2;38HXX\e[21;50HXX\e[1;34HXX\e[1;40H  \e[2;36HXX  \e[21;50HXX\e[1;32HXX\e[1;38H  \e[2;34HXX  \e[21;50HXX\e[1;32H  \e[21;50HXX\e[1;36H  \e[2;36HXX\e[3;34HXX\e[21;50HXX\e[1;32HXX  \e[2;32HXX\e[2;36H  \e[3;32HXX  \e[21;50HXX\e[2;30HXX\e[3;32H  \e[21;50HXX\e[1;32H  \e[2;30H  \e[2;34H  \e[3;30HXXXXXX\e[21;50HXX\e[2;32H  \e[3;30H      \e[13;32HXX\e[14;30HXXXXXX\e[21;50HXX\e[1;36HXXXXXXXX\e[21;50HXX\e[1;36H  \e[1;44HXX\e[21;50HXX\e[1;38H  \e[1;42H    \e[2;40HXX\e[3;40HXX\e[21;50HXX\e[1;40H  XX\e[2;40H  XX\e[3;40H  XX\e[21;50HXX\e[4;42HXX\e[21;50HXX\e[1;42H  \e[2;40HXX\e[2;44HXXXX\e[3;42H  \e[4;42H  \e[21;50HXX\e[2;40H  \e[2;48HXX\e[21;50HXX\e[1;44HXX\e[2;42H  \e[2;46H    \e[3;44HXX\e[4;44HXX\e[21;50HXX\e[1;44H  \e[5;44HXX\e[21;50HXX\e[2;44H  \e[3;44H  \e[4;44H  \e[5;44H  \e[9;44HXX\e[10;44HXX\e[11;44HXX\e[12;44HXX\e[21;50HXX\e[1;36HXXXXXX\e[2;36HXX\e[21;50HXX\e[1;36H  \e[1;40H  \e[2;36H  XXXX\e[21;50HXX\e[1;36HXX  \e[2;36HXX\e[2;40H  \e[21;50HXX\e[1;34HXX\e[1;38HXX\e[2;36H    \e[21;50HXX\e[1;34H    \e[2;34HXXXXXX\e[21;50HXX\e[1;36HXX  \e[2;32HXX\e[2;38H  \e[21;50HXX\e[1;32HXXXX  \e[2;32H  \e[2;36H  \e[3;34HXX\e[21;50HXX\e[1;30HXX\e[1;34H  \e[2;32HXX  \e[3;32HXX  \e[21;50HXX\e[1;30H    \e[2;30HXX\e[4;32HXX\e[21;50HXX\e[2;30H    \e[3;32H  \e[4;32H  \e[10;30HXXXX\e[11;32HXX\e[12;32HXX\e[21;50HXX\e[1;36HXXXXXX\e[2;40HXX\e[21;50HXX\e[1;36H  \e[1;40H  \e[2;38HXX  \e[21;50HXX\e[1;36HXX\e[1;40HXX\e[2;38H  \e[21;50HXX\e[1;38H    \e[2;36HXXXXXX\e[21;50HXX\e[1;36H  XX\e[2;36H  \e[2;40H  \e[3;36HXXXX\e[21;50HXX\e[1;38H  \e[2;38H  \e[3;36H    \e[13;38HXX\e[14;38HXX\e[15;36HXXXX\e[21;50HXX\e[1;36HXXXXXX\e[2;36HXX\e[21;50HXX\e[1;36H  \e[1;42HXX\e[2;36H  XX\e[21;50HXX\e[1;38H      \e[2;40HXXXX\e[3;38HXX\e[21;50HXX\e[1;40HXX\e[2;38H  \e[2;42H  \e[3;38H  XXXX\e[21;50HXX\e[1;40H  XX\e[2;40H  XX\e[3;40H  \e[3;44HXX\e[21;50HXX\e[1;42H  XX\e[2;40HXX\e[2;44HXX\e[3;42H    \e[21;50HXX\e[1;44H  XX\e[2;40H  \e[2;46HXX\e[21;50HXX\e[1;46H  \e[2;42H    \e[3;42HXXXXXX\e[21;50HXX\e[2;42HXXXX  \e[3;42H  \e[3;46H  \e[4;44HXX\e[21;50HXX\e[2;42H    \e[3;44H  \e[4;44H  \e[6;42HXXXX\e[7;44HXX\e[8;44HXX\e[21;50HXX\e[1;38HXXXX\e[21;50HXX\e[1;36HXX\e[1;40H  \e[2;36HXX\e[21;50HXX\e[1;34HXX\e[1;38H  \e[2;34HXX  \e[21;50HXX\e[1;34H  \e[2;36HXX\e[3;34HXX\e[21;50HXX\e[1;34HXX\e[2;34H  \e[2;38HXX\e[3;34H  \e[21;50HXX\e[1;32HXX\e[1;36H  \e[2;34HXX\e[2;38H  \e[21;50HXX\e[1;32H  \e[2;32HXX\e[2;36H  \e[3;32HXX\e[21;50HXX\e[1;32HXX  \e[2;30HXX\e[2;34H  \e[3;30HXX  \e[21;50HXX\e[1;32H  \e[2;30H  \e[3;32HXX\e[4;30HXX\e[21;50HXX\e[2;32H  \e[3;30H    \e[4;30H  \e[7;32HXX\e[8;30HXXXX\e[9;30HXX\e[21;50HXX\e[1;36HXXXX\e[21;50HXX\e[21;50HXX\e[1;36H  \e[1;40HXX\e[21;50HXX\e[21;50HXX\e[2;38HXXXX\e[21;50HXX\e[1;38H  \e[1;42HXX\e[2;38H  \e[2;42HXX\e[21;50HXX\e[21;50HXX\e[1;40H  \e[1;44HXX\e[2;40H  \e[2;44HXX\e[21;50HXX\e[21;50HXX\e[1;42H    \e[3;42HXXXX\e[21;50HXX\e[2;42H    \e[3;42H    \e[4;42HXXXX\e[5;42HXXXX\e[21;50HXX\e[1;36HXXXX\e[21;50HXX\e[1;36H  \e[1;40HXX\e[2;40HXX\e[21;50HXX\e[1;36HXX\e[1;40H  \e[2;40H  \e[21;50HXX\e[1;36H  \e[1;40HXX\e[2;40HXX\e[21;50HXX\e[1;40H  \e[2;38HXX\e[3;40HXX\e[21;50HXX\e[1;38H  \e[2;38H    \e[3;40H  \e[10;38HXX\e[11;38HXXXX\e[12;40HXX\e[21;50HXX\e[1;36HXXXXXX\e[2;40HXX\e[21;50HXX\e[1;36H      \e[2;40H  \e[9;36HXXXXXX\e[10;40HXX\e[21;50HXX\e[21;50HXX\e[1;38HXXXX\e[21;50HXX\e[1;36HXX\e[1;40H  \e[2;36HXX\e[21;50HXX\e[1;34HXX\e[1;38H  \e[2;34HXX  \e[21;50HXX\e[1;34H  \e[2;36HXX\e[3;34HXX\e[21;50HXX\e[1;34HXX\e[2;34H  \e[2;38HXX\e[3;34H  \e[21;50HXX\e[1;32HXX\e[1;36H  \e[2;34HXX\e[2;38H  \e[21;50HXX\e[1;32H    \e[2;34H    \e[6;32HXXXX\e[7;34HXXXX\e[21;50HXX\e[1;36HXXXXXX\e[2;40HXX\e[21;50HXX\e[1;36H  \e[1;42HXX\e[2;40H  XX\e[21;50HXX\e[1;38H  \e[1;42H  \e[2;40HXX  \e[21;50HXX\e[1;40H  XX\e[2;40H  XX\e[21;50HXX\e[1;40HXX\e[1;44HXX\e[2;42H  \e[21;50HXX\e[1;42H    \e[2;40HXXXXXX\e[21;50HXX\e[1;40H  XX\e[2;40H  \e[2;46HXX\e[21;50HXX\e[1;42H  XX\e[2;42H  \e[2;46H  \e[3;42HXXXX\e[21;50HXX\e[21;50HXX\e[1;38HXXXX\e[21;50HXX\e[1;36HXX\e[1;40H  \e[2;36HXX\e[21;50HXX\e[1;36H  \e[2;38HXX\e[3;36HXX\e[21;50HXX\e[1;36HXX  \e[2;34HXX\e[2;38H  \e[3;34HXX  \e[21;50HXX\e[1;34HXX\e[2;34H  \e[2;38HXX\e[3;34H  \e[21;50HXX\e[1;32HXX\e[1;36H  \e[2;34HXX\e[2;38H  \e[21;50HXX\e[1;32H  \e[2;32HXX\e[2;36H  \e[3;32HXX\e[21;50HXX\e[1;34H  \e[2;32H  \e[3;34HXX\e[4;32HXX\e[21;50HXX\e[2;32HXX  \e[3;30HXX\e[3;34H  \e[4;30HXX  \e[21;50HXX\e[2;32H  \e[3;30H    \e[4;30H  XX\e[5;30HXXXX\e[6;30HXX\e[21;50HXX\e[1;36HXXXXXX\e[2;40HXX\e[21;50HXX\e[1;36H  \e[1;42HXX\e[2;40H  XX\e[21;50HXX\e[1;38H  \e[1;42H  \e[2;40HXX  \e[21;50HXX\e[1;40H  XX\e[2;40H  XX\e[21;50HXX\e[21;50HXX\e[1;38HXXXX\e[21;50HXX\e[21;50HXX\e[1;36HXX\e[1;40H  \e[2;36HXX\e[21;50HXX\e[1;36H    \e[2;36H  \e[4;38HXX\e[5;36HXXXX\e[6;36HXX\e[21;50HXX\e[1;36HXXXX\e[21;50HXX\e[21;50HXX\e[1;34HXX\e[1;38H  \e[21;50HXX\e[2;34HXXXX\e[21;50HXX\e[21;50HXX\e[1;32HXX\e[1;36H  \e[2;32HXX\e[2;36H  \e[21;50HXX\e[21;50HXX\e[1;30HXX\e[1;34H  \e[2;30HXX\e[2;34H  \e[21;50HXX\e[1;30H    \e[3;30HXXXX\e[21;50HXX\e[21;50HXX\e[1;36HXXXX\e[21;50HXX\e[1;36H  \e[1;40HXX\e[21;50HXX\e[21;50HXX\e[21;50HXX\e[21;50HXX\e[2;38HXXXX\e[21;50HXX\e[21;50HXX\e[21;50HXX\e[21;50HXX\e[21;50HXX\e[1;38H    \e[3;38HXXXX\e[21;50HXX\e[21;50HXX\e[21;50HXX\e[21;50HXX\e[21;50HXX
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/ticker.py b/lldb/third_party/Python/module/pexpect-4.6/tests/ticker.py
deleted file mode 100755 (executable)
index 5ecc1c2..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-
-import time, sys
-
-for i in range(5):
-  print "tick"
-  time.sleep(1)
-
-sys.exit(0)
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/torturet.vt b/lldb/third_party/Python/module/pexpect-4.6/tests/torturet.vt
deleted file mode 100644 (file)
index 65f965b..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-\e\\e<\e>\e[H\e[1;2;3;4q\ePrEM1\e\\e[?4h\e[0m
-\e[H\e[J\e[7m\e#6\e(0a`opqrs`\e(B      This is the       \e(0`srqpo`a\e(B\e[1m
-\e#3VT100 series Torture Test Demonstration.
-\e#4VT100 series Torture Test Demonstration.
-\e#6\e[1;5m       Watch the blinking lights        \e[4;24r\e[0m
-\a\e[0q\e[1q\e[0q\e[2q\e[0q\e[3q\e[0q\e[4q\e[0q
-\a\e[0q\e[1q\e[0q\e[2q\e[0q\e[3q\e[0q\e[4q\e[0q
-\a\e[0q\e[1q\e[0q\e[2q\e[0q\e[3q\e[0q\e[4q\e[0q
-\ePrEM0\e\\e[4;1H\e[J\e[24;1H
-
-This file is a VT100-series Torture Test.  It demonstrates all the visual
-attributes of the VT100 terminal.
-
-The top line is double-width/single-height with inverse-video line-drawing
-characters.  The 2nd and 3rd lines are double-width/double-height in bold
-inverse video.  They also show the limited scrolling region.
-
-The remaining lines will show NORMAL, BOLD, BLINK, INVERSE, and all 16
-combinations of those 4 attributes.  They show that there is a difference
-between an underscore character and the underline attribute, and that
-lower-case decenders go below the underline.
-
-A window pane is drawn in the lower right to show how the line-drawing set
-can be used.  At the lower left is the character set double-wide/double-high
-to show the dot-matrix used.  Upper-case characters are 8 by 7 in a 10 by 10
-character cell, with 1 blank row on top and 2 on the bottom.  The underline
-attribute uses the first bottom blank row, lower-case decenders use both.
-
-
-
-\e[0mThis is a normal line __________________________________________________y_
-\e[1mThis is a bold line (normal unless the Advanced Video Option is installed)
-\e[0;4mThis line is underlined _ "       "       "       "       "       "    _y_
-\e[0;5mThis is a blinking line _ "       "       "       "       "       "    _y_
-\e[0;7mThis is inverse video _ (underlined if no AVO and cursor is underline) _y_
-\e[0mNormal gjpqy \e[4mUnderline\e[0;0m  \e[5m Blink   \e[4mUnderline+Blink gjpqy\e[0m
-\e[1mBold   gjpqy \e[4mUnderline\e[0;1m  \e[5m Blink   \e[4mUnderline+Blink gjpqy\e[0m
-\e[7mInverse      \e[4mUnderline\e[0;7m  \e[5m Blink   \e[4mUnderline+Blink\e[0;7m
-\e[1mBold+Inverse \e[4mUnderline\e[0;1;7m  \e[5m Blink   \e[4mUnderline+Blink\e[0m
-\ePrEM1\e\\e[A
-\e#6This is double \e[1mwidth\e[0m
-\e#3This is double \e[1mheight\e[0m
-\e#4This is double \e[1mheight\e[0m
-\e#6\e[7;4m_\e[0;7mABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ioy
-\e#3\e[7;4m_\e[0;7mABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ioy
-\e#4\e[7;4m_\e[0;7mABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ioy\e[3A
-\e[0m\e[CA\e[CC\e[CE\e[CG\e[CI\e[CK\e[CM\e[CO\e[CQ\e[CS\e[CU\e[CW\e[CY\e[C0\e[C2\e[C4\e[C6\e[C8\e[Ci\e[Cy
-\e[4m_\e[0m\e[CB\e[CD\e[CF\e[CH\e[CJ\e[CL\e[CN\e[CP\e[CR\e[CT\e[CV\e[CX\e[CZ\e[C1\e[C3\e[C5\e[C7\e[C9\e[Co
-\e[4m_\e[0m\e[CB\e[CD\e[CF\e[CH\e[CJ\e[CL\e[CN\e[CP\e[CR\e[CT\e[CV\e[CX\e[CZ\e[C1\e[C3\e[C5\e[C7\e[C9\e[Co
-\e(0\e#6\e[7m`abcdefghijklmnopqrstuvwxyz{|}~\e[0m lqwqk
-\e#3\e[7m`abcdefghijklmnopqrstuvwxyz{|}~\e[0m tqnqu
-\e#4\e[7m`abcdefghijklmnopqrstuvwxyz{|}~\e[0m tqnqu\e[3A\e[0m
-\e[Ca\e[Cc\e[Ce\e[Cg\e[Ci\e[Ck\e[Cm\e[Co\e[Cq\e[Cs\e[Cu\e[Cw\e[Cy\e[C{\e[C}
-`\e[Cb\e[Cd\e[Cf\e[Ch\e[Cj\e[Cl\e[Cn\e[Cp\e[Cr\e[Ct\e[Cv\e[Cx\e[Cz\e[C|\e[C~
-`\e[Cb\e[Cd\e[Cf\e[Ch\e[Cj\e[Cl\e[Cn\e[Cp\e[Cr\e[Ct\e[Cv\e[Cx\e[Cz\e[C|\e[C~\e(B
-\e#6\e[7m`abcdefghijklmnopqrstuvwxyz{|}~\e(0\e[0m mqvqj\e[A\e(B
-\e[0m\e[Ca\e[Cc\e[Ce\e[Cg\e[Ci\e[Ck\e[Cm\e[Co\e[Cq\e[Cs\e[Cu\e[Cw\e[Cy\e[C{\e[C}
-\ePrEM0\e\ $PrEM0 works on GIGI \e[A\e[1;7m
-   This test created by Joe Smith, 8-May-85   \e[0m
-\e[1;r\e[22;1H
-
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tests/utils.py b/lldb/third_party/Python/module/pexpect-4.6/tests/utils.py
deleted file mode 100644 (file)
index dcd3aa0..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-import os
-
-def no_coverage_env():
-    "Return a copy of os.environ that won't trigger coverage measurement."
-    env = os.environ.copy()
-    env.pop('COV_CORE_SOURCE', None)
-    return env
\ No newline at end of file
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tools/display-fpathconf.py b/lldb/third_party/Python/module/pexpect-4.6/tools/display-fpathconf.py
deleted file mode 100644 (file)
index d40cbae..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/bin/env python
-"""Displays os.fpathconf values related to terminals. """
-from __future__ import print_function
-import sys
-import os
-
-
-def display_fpathconf():
-    DISP_VALUES = (
-        ('PC_MAX_CANON', ('Max no. of bytes in a '
-                          'terminal canonical input line.')),
-        ('PC_MAX_INPUT', ('Max no. of bytes for which '
-                          'space is available in a terminal input queue.')),
-        ('PC_PIPE_BUF', ('Max no. of bytes which will '
-                         'be written atomically to a pipe.')),
-        ('PC_VDISABLE', 'Terminal character disabling value.')
-    )
-    FMT = '{name:<13} {value:<5} {description}'
-
-    # column header
-    print(FMT.format(name='name', value='value', description='description'))
-    print(FMT.format(name=('-' * 13), value=('-' * 5), description=('-' * 11)))
-
-    fd = sys.stdin.fileno()
-    for name, description in DISP_VALUES:
-        key = os.pathconf_names.get(name, None)
-        if key is None:
-            value = 'UNDEF'
-        else:
-            try:
-                value = os.fpathconf(fd, name)
-            except OSError as err:
-                value = 'OSErrno {0.errno}'.format(err)
-        if name == 'PC_VDISABLE':
-            value = hex(value)
-        print(FMT.format(name=name, value=value, description=description))
-    print()
-
-
-if __name__ == '__main__':
-    display_fpathconf()
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tools/display-maxcanon.py b/lldb/third_party/Python/module/pexpect-4.6/tools/display-maxcanon.py
deleted file mode 100644 (file)
index cbd664f..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-#!/usr/bin/env python
-"""
-This tool uses pexpect to test expected Canonical mode length.
-
-All systems use the value of MAX_CANON which can be found using
-fpathconf(3) value PC_MAX_CANON -- with the exception of Linux
-and FreeBSD.
-
-Linux, though defining a value of 255, actually honors the value
-of 4096 from linux kernel include file tty.h definition
-N_TTY_BUF_SIZE.
-
-Linux also does not honor IMAXBEL. termios(3) states, "Linux does not
-implement this bit, and acts as if it is always set." Although these
-tests ensure it is enabled, this is a non-op for Linux.
-
-FreeBSD supports neither, and instead uses a fraction (1/5) of the tty
-speed which is always 9600.  Therefor, the maximum limited input line
-length is 9600 / 5 = 1920.
-
-These tests only ensure the correctness of the behavior described by
-the sendline() docstring -- the values listed there, and above should
-be equal to the output of the given OS described, but no promises!
-"""
-# std import
-from __future__ import print_function
-import sys
-import os
-
-
-def detect_maxcanon():
-    import pexpect
-    bashrc = os.path.join(
-        # re-use pexpect/replwrap.py's bashrc file,
-        os.path.dirname(__file__), os.path.pardir, 'pexpect', 'bashrc.sh')
-
-    child = pexpect.spawn('bash', ['--rcfile', bashrc],
-                          echo=True, encoding='utf8', timeout=3)
-
-    child.sendline(u'echo -n READY_; echo GO')
-    child.expect_exact(u'READY_GO')
-
-    child.sendline(u'stty icanon imaxbel erase ^H; echo -n retval: $?')
-    child.expect_exact(u'retval: 0')
-
-    child.sendline(u'echo -n GO_; echo AGAIN')
-    child.expect_exact(u'GO_AGAIN')
-    child.sendline(u'cat')
-
-    child.delaybeforesend = 0
-
-    column, blocksize = 0, 64
-    ch_marker = u'_'
-
-    print('auto-detecting MAX_CANON: ', end='')
-    sys.stdout.flush()
-
-    while True:
-        child.send(ch_marker * blocksize)
-        result = child.expect([ch_marker * blocksize, u'\a'])
-        if result == 0:
-            # entire block fit without emitting bel
-            column += blocksize
-        elif result == 1:
-            # an '\a' was emitted, count the number of ch_markers
-            # found since last blocksize, determining our MAX_CANON
-            column += child.before.count(ch_marker)
-            break
-    print(column)
-
-if __name__ == '__main__':
-    try:
-        detect_maxcanon()
-    except ImportError:
-        # we'd like to use this with CI -- but until we integrate
-        # with tox, we can't determine a period in testing when
-        # the pexpect module has been installed 
-        print('warning: pexpect not in module path, MAX_CANON '
-              'could not be determined by systems test.',
-              file=sys.stderr)
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tools/display-sighandlers.py b/lldb/third_party/Python/module/pexpect-4.6/tools/display-sighandlers.py
deleted file mode 100755 (executable)
index f3559f7..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/usr/bin/env python
-# Displays all signals, their values, and their handlers.
-from __future__ import print_function
-import signal
-FMT = '{name:<10} {value:<5} {description}'
-
-# header
-print(FMT.format(name='name', value='value', description='description'))
-print('-' * (33))
-
-for name, value in [(signal_name, getattr(signal, signal_name))
-                    for signal_name in dir(signal)
-                    if signal_name.startswith('SIG')
-                    and not signal_name.startswith('SIG_')]:
-    try:
-        handler = signal.getsignal(value)
-    except ValueError:
-        # FreeBSD: signal number out of range
-        handler = 'out of range'
-    description = {
-        signal.SIG_IGN: "ignored(SIG_IGN)",
-        signal.SIG_DFL: "default(SIG_DFL)"
-    }.get(handler, handler)
-    print(FMT.format(name=name, value=value, description=description))
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tools/display-terminalinfo.py b/lldb/third_party/Python/module/pexpect-4.6/tools/display-terminalinfo.py
deleted file mode 100755 (executable)
index 1288397..0000000
+++ /dev/null
@@ -1,212 +0,0 @@
-#!/usr/bin/env python
-""" Display known information about our terminal. """
-from __future__ import print_function
-import termios
-import locale
-import sys
-import os
-
-BITMAP_IFLAG = {
-    'IGNBRK': 'ignore BREAK condition',
-    'BRKINT': 'map BREAK to SIGINTR',
-    'IGNPAR': 'ignore (discard) parity errors',
-    'PARMRK': 'mark parity and framing errors',
-    'INPCK': 'enable checking of parity errors',
-    'ISTRIP': 'strip 8th bit off chars',
-    'INLCR': 'map NL into CR',
-    'IGNCR': 'ignore CR',
-    'ICRNL': 'map CR to NL (ala CRMOD)',
-    'IXON': 'enable output flow control',
-    'IXOFF': 'enable input flow control',
-    'IXANY': 'any char will restart after stop',
-    'IMAXBEL': 'ring bell on input queue full',
-    'IUCLC': 'translate upper case to lower case',
-}
-
-BITMAP_OFLAG = {
-    'OPOST': 'enable following output processing',
-    'ONLCR': 'map NL to CR-NL (ala CRMOD)',
-    'OXTABS': 'expand tabs to spaces',
-    'ONOEOT': 'discard EOT\'s `^D\' on output)',
-    'OCRNL': 'map CR to NL',
-    'OLCUC': 'translate lower case to upper case',
-    'ONOCR': 'No CR output at column 0',
-    'ONLRET': 'NL performs CR function',
-}
-
-BITMAP_CFLAG = {
-    'CSIZE': 'character size mask',
-    'CS5': '5 bits (pseudo)',
-    'CS6': '6 bits',
-    'CS7': '7 bits',
-    'CS8': '8 bits',
-    'CSTOPB': 'send 2 stop bits',
-    'CREAD': 'enable receiver',
-    'PARENB': 'parity enable',
-    'PARODD': 'odd parity, else even',
-    'HUPCL': 'hang up on last close',
-    'CLOCAL': 'ignore modem status lines',
-    'CCTS_OFLOW': 'CTS flow control of output',
-    'CRTSCTS': 'same as CCTS_OFLOW',
-    'CRTS_IFLOW': 'RTS flow control of input',
-    'MDMBUF': 'flow control output via Carrier',
-}
-
-BITMAP_LFLAG = {
-    'ECHOKE': 'visual erase for line kill',
-    'ECHOE': 'visually erase chars',
-    'ECHO': 'enable echoing',
-    'ECHONL': 'echo NL even if ECHO is off',
-    'ECHOPRT': 'visual erase mode for hardcopy',
-    'ECHOCTL': 'echo control chars as ^(Char)',
-    'ISIG': 'enable signals INTR, QUIT, [D]SUSP',
-    'ICANON': 'canonicalize input lines',
-    'ALTWERASE': 'use alternate WERASE algorithm',
-    'IEXTEN': 'enable DISCARD and LNEXT',
-    'EXTPROC': 'external processing',
-    'TOSTOP': 'stop background jobs from output',
-    'FLUSHO': 'output being flushed (state)',
-    'NOKERNINFO': 'no kernel output from VSTATUS',
-    'PENDIN': 'XXX retype pending input (state)',
-    'NOFLSH': 'don\'t flush after interrupt',
-}
-
-CTLCHAR_INDEX = {
-    'VEOF': 'EOF',
-    'VEOL': 'EOL',
-    'VEOL2': 'EOL2',
-    'VERASE': 'ERASE',
-    'VWERASE': 'WERASE',
-    'VKILL': 'KILL',
-    'VREPRINT': 'REPRINT',
-    'VINTR': 'INTR',
-    'VQUIT': 'QUIT',
-    'VSUSP': 'SUSP',
-    'VDSUSP': 'DSUSP',
-    'VSTART': 'START',
-    'VSTOP': 'STOP',
-    'VLNEXT': 'LNEXT',
-    'VDISCARD': 'DISCARD',
-    'VMIN': '---',
-    'VTIME': '---',
-    'VSTATUS': 'STATUS',
-}
-
-
-def display_bitmask(kind, bitmap, value):
-    """ Display all matching bitmask values for ``value`` given ``bitmap``. """
-    col1_width = max(map(len, list(bitmap.keys()) + [kind]))
-    col2_width = 7
-    FMT = '{name:>{col1_width}} {value:>{col2_width}}   {description}'
-    print(FMT.format(name=kind,
-                     value='Value',
-                     description='Description',
-                     col1_width=col1_width,
-                     col2_width=col2_width))
-    print('{0} {1}   {2}'.format('-' * col1_width,
-                                 '-' * col2_width,
-                                 '-' * max(map(len, bitmap.values()))))
-    for flag_name, description in bitmap.items():
-        try:
-            bitmask = getattr(termios, flag_name)
-            bit_val = 'on' if bool(value & bitmask) else 'off'
-        except AttributeError:
-            bit_val = 'undef'
-        print(FMT.format(name=flag_name,
-                         value=bit_val,
-                         description=description,
-                         col1_width=col1_width,
-                         col2_width=col2_width))
-    print()
-
-
-def display_ctl_chars(index, cc):
-    """ Display all control character indicies, names, and values. """
-    title = 'Special Character'
-    col1_width = len(title)
-    col2_width = max(map(len, index.values()))
-    FMT = '{idx:<{col1_width}}   {name:<{col2_width}} {value}'
-    print('Special line Characters'.center(40).rstrip())
-    print(FMT.format(idx='Index',
-                     name='Name',
-                     value='Value',
-                     col1_width=col1_width,
-                     col2_width=col2_width))
-    print('{0}   {1} {2}'.format('-' * col1_width,
-                                 '-' * col2_width,
-                                 '-' * 10))
-    for index_name, name in index.items():
-        try:
-            index = getattr(termios, index_name)
-            value = cc[index]
-            if value == b'\xff':
-                value = '_POSIX_VDISABLE'
-            else:
-                value = repr(value)
-        except AttributeError:
-            value = 'undef'
-        print(FMT.format(idx=index_name,
-                         name=name,
-                         value=value,
-                         col1_width=col1_width,
-                         col2_width=col2_width))
-    print()
-
-
-def display_conf(kind, names, getter):
-    col1_width = max(map(len, names))
-    FMT = '{name:>{col1_width}}   {value}'
-    print(FMT.format(name=kind,
-                     value='value',
-                     col1_width=col1_width))
-    print('{0} {1}'.format('-' * col1_width, '-' * 27))
-    for name in names:
-        try:
-            value = getter(name)
-        except OSError as err:
-            value = err
-        print(FMT.format(name=name, value=value, col1_width=col1_width))
-    print()
-
-
-def main():
-    fd = sys.stdin.fileno()
-    locale.setlocale(locale.LC_ALL, '')
-    encoding = locale.getpreferredencoding()
-
-    print('os.isatty({0}) => {1}'.format(fd, os.isatty(fd)))
-    print('locale.getpreferredencoding() => {0}'.format(encoding))
-
-    display_conf(kind='pathconf',
-                 names=os.pathconf_names,
-                 getter=lambda name: os.fpathconf(fd, name))
-
-    try:
-        (iflag, oflag, cflag, lflag, ispeed, ospeed, cc
-         ) = termios.tcgetattr(fd)
-    except termios.error as err:
-        print('stdin is not a typewriter: {0}'.format(err))
-    else:
-        display_bitmask(kind='Input Mode',
-                        bitmap=BITMAP_IFLAG,
-                        value=iflag)
-        display_bitmask(kind='Output Mode',
-                        bitmap=BITMAP_OFLAG,
-                        value=oflag)
-        display_bitmask(kind='Control Mode',
-                        bitmap=BITMAP_CFLAG,
-                        value=cflag)
-        display_bitmask(kind='Local Mode',
-                        bitmap=BITMAP_LFLAG,
-                        value=lflag)
-        display_ctl_chars(index=CTLCHAR_INDEX,
-                          cc=cc)
-        try:
-            print('os.ttyname({0}) => {1}'.format(fd, os.ttyname(fd)))
-            print('os.ctermid() => {0}'.format(os.ctermid()))
-        except OSError as e:
-            # Travis fails on ttyname with errno 0 'Error'.
-            print("Error inspecting TTY: {0}".format(e))
-
-if __name__ == '__main__':
-    main()
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tools/teamcity-coverage-report.sh b/lldb/third_party/Python/module/pexpect-4.6/tools/teamcity-coverage-report.sh
deleted file mode 100755 (executable)
index 2e32241..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/bash
-# This is to be executed by each individual OS test. It only
-# combines coverage files and reports locally to the given
-# TeamCity build configuration.
-set -e
-set -o pipefail
-[ -z ${TEMP} ] && TEMP=/tmp
-
-# combine all .coverage* files,
-coverage combine
-
-# create ascii report,
-report_file=$(mktemp $TEMP/coverage.XXXXX)
-coverage report --rcfile=`dirname $0`/../.coveragerc > "${report_file}" 2>/dev/null
-
-# Report Code Coverage for TeamCity, using 'Service Messages',
-# https://confluence.jetbrains.com/display/TCD8/How+To...#HowTo...-ImportcoverageresultsinTeamCity
-# https://confluence.jetbrains.com/display/TCD8/Custom+Chart#CustomChart-DefaultStatisticsValuesProvidedbyTeamCity
-total_no_lines=$(awk '/TOTAL/{printf("%s",$2)}' < "${report_file}")
-total_no_misses=$(awk '/TOTAL/{printf("%s",$3)}' < "${report_file}")
-total_no_covered=$((${total_no_lines} - ${total_no_misses}))
-echo "##teamcity[buildStatisticValue key='CodeCoverageAbsLTotal' value='""${total_no_lines}""']"
-echo "##teamcity[buildStatisticValue key='CodeCoverageAbsLCovered' value='""${total_no_covered}""']"
-
-# Display for human consumption and remove ascii file.
-cat "${report_file}"
-rm "${report_file}"
diff --git a/lldb/third_party/Python/module/pexpect-4.6/tools/teamcity-runtests.sh b/lldb/third_party/Python/module/pexpect-4.6/tools/teamcity-runtests.sh
deleted file mode 100755 (executable)
index bcb28f7..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/bin/bash
-#
-# This script assumes that the project 'ptyprocess' is
-# available in the parent of the project's folder.
-set -e
-set -o pipefail
-
-if [ -z $1 ]; then
-       echo "$0 (2.6|2.7|3.3|3.4)"
-       exit 1
-fi
-
-export PYTHONIOENCODING=UTF8
-export LANG=en_US.UTF-8
-
-pyversion=$1
-shift
-here=$(cd `dirname $0`; pwd)
-osrel=$(uname -s)
-venv=teamcity-pexpect
-venv_wrapper=$(which virtualenvwrapper.sh)
-
-if [ -z $venv_wrapper ]; then
-       echo "virtualenvwrapper.sh not found in PATH." >&2
-       exit 1
-fi
-
-. ${venv_wrapper}
-rmvirtualenv ${venv} || true
-mkvirtualenv -p `which python${pyversion}` ${venv} || true
-workon ${venv}
-
-# install ptyprocess
-cd $here/../../ptyprocess
-pip uninstall --yes ptyprocess || true
-python setup.py install
-
-# install all test requirements
-pip install --upgrade pytest-cov coverage coveralls pytest-capturelog
-
-# run tests
-cd $here/..
-ret=0
-py.test \
-       --cov pexpect \
-       --cov-config .coveragerc \
-       --junit-xml=results.${osrel}.py${pyversion}.xml \
-       --verbose \
-       --verbose \
-       "$@" || ret=$?
-
-if [ $ret -ne 0 ]; then
-       # we always exit 0, preferring instead the jUnit XML
-       # results to be the dominate cause of a failed build.
-       echo "py.test returned exit code ${ret}." >&2
-       echo "the build should detect and report these failing tests." >&2
-fi
-
-# combine all coverage to single file, report for this build,
-# then move into ./build-output/ as a unique artifact to allow
-# the final "Full build" step to combine and report to coveralls.io
-`dirname $0`/teamcity-coverage-report.sh
-mkdir -p build-output
-mv .coverage build-output/.coverage.${osrel}.py{$pyversion}.$RANDOM.$$
diff --git a/lldb/third_party/Python/module/ptyprocess-0.6.0/docs/Makefile b/lldb/third_party/Python/module/ptyprocess-0.6.0/docs/Makefile
deleted file mode 100644 (file)
index 265a1a4..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-# Makefile for Sphinx documentation
-#
-
-# You can set these variables from the command line.
-SPHINXOPTS    =
-SPHINXBUILD   = sphinx-build
-PAPER         =
-BUILDDIR      = _build
-
-# User-friendly check for sphinx-build
-ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
-$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
-endif
-
-# Internal variables.
-PAPEROPT_a4     = -D latex_paper_size=a4
-PAPEROPT_letter = -D latex_paper_size=letter
-ALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
-# the i18n builder cannot share the environment and doctrees with the others
-I18NSPHINXOPTS  = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
-
-.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
-
-help:
-       @echo "Please use \`make <target>' where <target> is one of"
-       @echo "  html       to make standalone HTML files"
-       @echo "  dirhtml    to make HTML files named index.html in directories"
-       @echo "  singlehtml to make a single large HTML file"
-       @echo "  pickle     to make pickle files"
-       @echo "  json       to make JSON files"
-       @echo "  htmlhelp   to make HTML files and a HTML help project"
-       @echo "  qthelp     to make HTML files and a qthelp project"
-       @echo "  devhelp    to make HTML files and a Devhelp project"
-       @echo "  epub       to make an epub"
-       @echo "  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
-       @echo "  latexpdf   to make LaTeX files and run them through pdflatex"
-       @echo "  latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
-       @echo "  text       to make text files"
-       @echo "  man        to make manual pages"
-       @echo "  texinfo    to make Texinfo files"
-       @echo "  info       to make Texinfo files and run them through makeinfo"
-       @echo "  gettext    to make PO message catalogs"
-       @echo "  changes    to make an overview of all changed/added/deprecated items"
-       @echo "  xml        to make Docutils-native XML files"
-       @echo "  pseudoxml  to make pseudoxml-XML files for display purposes"
-       @echo "  linkcheck  to check all external links for integrity"
-       @echo "  doctest    to run all doctests embedded in the documentation (if enabled)"
-
-clean:
-       rm -rf $(BUILDDIR)/*
-
-html:
-       $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
-       @echo
-       @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
-
-dirhtml:
-       $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
-       @echo
-       @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
-
-singlehtml:
-       $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
-       @echo
-       @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
-
-pickle:
-       $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
-       @echo
-       @echo "Build finished; now you can process the pickle files."
-
-json:
-       $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
-       @echo
-       @echo "Build finished; now you can process the JSON files."
-
-htmlhelp:
-       $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
-       @echo
-       @echo "Build finished; now you can run HTML Help Workshop with the" \
-             ".hhp project file in $(BUILDDIR)/htmlhelp."
-
-qthelp:
-       $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
-       @echo
-       @echo "Build finished; now you can run "qcollectiongenerator" with the" \
-             ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
-       @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Ptyprocess.qhcp"
-       @echo "To view the help file:"
-       @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Ptyprocess.qhc"
-
-devhelp:
-       $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
-       @echo
-       @echo "Build finished."
-       @echo "To view the help file:"
-       @echo "# mkdir -p $$HOME/.local/share/devhelp/Ptyprocess"
-       @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Ptyprocess"
-       @echo "# devhelp"
-
-epub:
-       $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
-       @echo
-       @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
-
-latex:
-       $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
-       @echo
-       @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
-       @echo "Run \`make' in that directory to run these through (pdf)latex" \
-             "(use \`make latexpdf' here to do that automatically)."
-
-latexpdf:
-       $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
-       @echo "Running LaTeX files through pdflatex..."
-       $(MAKE) -C $(BUILDDIR)/latex all-pdf
-       @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
-
-latexpdfja:
-       $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
-       @echo "Running LaTeX files through platex and dvipdfmx..."
-       $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
-       @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
-
-text:
-       $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
-       @echo
-       @echo "Build finished. The text files are in $(BUILDDIR)/text."
-
-man:
-       $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
-       @echo
-       @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
-
-texinfo:
-       $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
-       @echo
-       @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
-       @echo "Run \`make' in that directory to run these through makeinfo" \
-             "(use \`make info' here to do that automatically)."
-
-info:
-       $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
-       @echo "Running Texinfo files through makeinfo..."
-       make -C $(BUILDDIR)/texinfo info
-       @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
-
-gettext:
-       $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
-       @echo
-       @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
-
-changes:
-       $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
-       @echo
-       @echo "The overview file is in $(BUILDDIR)/changes."
-
-linkcheck:
-       $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
-       @echo
-       @echo "Link check complete; look for any errors in the above output " \
-             "or in $(BUILDDIR)/linkcheck/output.txt."
-
-doctest:
-       $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
-       @echo "Testing of doctests in the sources finished, look at the " \
-             "results in $(BUILDDIR)/doctest/output.txt."
-
-xml:
-       $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
-       @echo
-       @echo "Build finished. The XML files are in $(BUILDDIR)/xml."
-
-pseudoxml:
-       $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
-       @echo
-       @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
diff --git a/lldb/third_party/Python/module/ptyprocess-0.6.0/docs/api.rst b/lldb/third_party/Python/module/ptyprocess-0.6.0/docs/api.rst
deleted file mode 100644 (file)
index 05f7f90..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-Ptyprocess API
-==============
-
-.. module:: ptyprocess
-
-.. autoclass:: PtyProcess
-
-   .. automethod:: spawn
-
-.. autoclass:: PtyProcessUnicode
diff --git a/lldb/third_party/Python/module/ptyprocess-0.6.0/docs/conf.py b/lldb/third_party/Python/module/ptyprocess-0.6.0/docs/conf.py
deleted file mode 100644 (file)
index 3a5e13a..0000000
+++ /dev/null
@@ -1,266 +0,0 @@
-# -*- coding: utf-8 -*-
-#
-# Ptyprocess documentation build configuration file, created by
-# sphinx-quickstart on Mon Oct 13 11:03:02 2014.
-#
-# This file is execfile()d with the current directory set to its
-# containing dir.
-#
-# Note that not all possible configuration values are present in this
-# autogenerated file.
-#
-# All configuration values have a default; values that are commented out
-# serve to show the default.
-
-import sys
-import os
-
-# If extensions (or modules to document with autodoc) are in another directory,
-# add these directories to sys.path here. If the directory is relative to the
-# documentation root, use os.path.abspath to make it absolute, like shown here.
-sys.path.insert(0, os.path.abspath('..'))
-
-# -- General configuration ------------------------------------------------
-
-# If your documentation needs a minimal Sphinx version, state it here.
-#needs_sphinx = '1.0'
-
-# Add any Sphinx extension module names here, as strings. They can be
-# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
-# ones.
-extensions = [
-    'sphinx.ext.autodoc',
-    'sphinx.ext.intersphinx',
-    'sphinx.ext.viewcode',
-]
-
-# Add any paths that contain templates here, relative to this directory.
-templates_path = ['_templates']
-
-# The suffix of source filenames.
-source_suffix = '.rst'
-
-# The encoding of source files.
-#source_encoding = 'utf-8-sig'
-
-# The master toctree document.
-master_doc = 'index'
-
-# General information about the project.
-project = u'Ptyprocess'
-copyright = u'2014, Thomas Kluyver'
-
-# The version info for the project you're documenting, acts as replacement for
-# |version| and |release|, also used in various other places throughout the
-# built documents.
-#
-# The short X.Y version.
-version = '0.5'
-# The full version, including alpha/beta/rc tags.
-release = version + '.2'
-
-# The language for content autogenerated by Sphinx. Refer to documentation
-# for a list of supported languages.
-#language = None
-
-# There are two options for replacing |today|: either, you set today to some
-# non-false value, then it is used:
-#today = ''
-# Else, today_fmt is used as the format for a strftime call.
-#today_fmt = '%B %d, %Y'
-
-# List of patterns, relative to source directory, that match files and
-# directories to ignore when looking for source files.
-exclude_patterns = ['_build']
-
-# The reST default role (used for this markup: `text`) to use for all
-# documents.
-#default_role = None
-
-# If true, '()' will be appended to :func: etc. cross-reference text.
-#add_function_parentheses = True
-
-# If true, the current module name will be prepended to all description
-# unit titles (such as .. function::).
-#add_module_names = True
-
-# If true, sectionauthor and moduleauthor directives will be shown in the
-# output. They are ignored by default.
-#show_authors = False
-
-# The name of the Pygments (syntax highlighting) style to use.
-pygments_style = 'sphinx'
-
-# A list of ignored prefixes for module index sorting.
-#modindex_common_prefix = []
-
-# If true, keep warnings as "system message" paragraphs in the built documents.
-#keep_warnings = False
-
-
-# -- Options for HTML output ----------------------------------------------
-
-# The theme to use for HTML and HTML Help pages.  See the documentation for
-# a list of builtin themes.
-html_theme = 'default'
-
-# Theme options are theme-specific and customize the look and feel of a theme
-# further.  For a list of options available for each theme, see the
-# documentation.
-#html_theme_options = {}
-
-# Add any paths that contain custom themes here, relative to this directory.
-#html_theme_path = []
-
-# The name for this set of Sphinx documents.  If None, it defaults to
-# "<project> v<release> documentation".
-#html_title = None
-
-# A shorter title for the navigation bar.  Default is the same as html_title.
-#html_short_title = None
-
-# The name of an image file (relative to this directory) to place at the top
-# of the sidebar.
-#html_logo = None
-
-# The name of an image file (within the static path) to use as favicon of the
-# docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32
-# pixels large.
-#html_favicon = None
-
-# Add any paths that contain custom static files (such as style sheets) here,
-# relative to this directory. They are copied after the builtin static files,
-# so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ['_static']
-
-# Add any extra paths that contain custom files (such as robots.txt or
-# .htaccess) here, relative to this directory. These files are copied
-# directly to the root of the documentation.
-#html_extra_path = []
-
-# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
-# using the given strftime format.
-#html_last_updated_fmt = '%b %d, %Y'
-
-# If true, SmartyPants will be used to convert quotes and dashes to
-# typographically correct entities.
-#html_use_smartypants = True
-
-# Custom sidebar templates, maps document names to template names.
-#html_sidebars = {}
-
-# Additional templates that should be rendered to pages, maps page names to
-# template names.
-#html_additional_pages = {}
-
-# If false, no module index is generated.
-#html_domain_indices = True
-
-# If false, no index is generated.
-#html_use_index = True
-
-# If true, the index is split into individual pages for each letter.
-#html_split_index = False
-
-# If true, links to the reST sources are added to the pages.
-#html_show_sourcelink = True
-
-# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
-#html_show_sphinx = True
-
-# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
-#html_show_copyright = True
-
-# If true, an OpenSearch description file will be output, and all pages will
-# contain a <link> tag referring to it.  The value of this option must be the
-# base URL from which the finished HTML is served.
-#html_use_opensearch = ''
-
-# This is the file name suffix for HTML files (e.g. ".xhtml").
-#html_file_suffix = None
-
-# Output file base name for HTML help builder.
-htmlhelp_basename = 'Ptyprocessdoc'
-
-
-# -- Options for LaTeX output ---------------------------------------------
-
-latex_elements = {
-# The paper size ('letterpaper' or 'a4paper').
-#'papersize': 'letterpaper',
-
-# The font size ('10pt', '11pt' or '12pt').
-#'pointsize': '10pt',
-
-# Additional stuff for the LaTeX preamble.
-#'preamble': '',
-}
-
-# Grouping the document tree into LaTeX files. List of tuples
-# (source start file, target name, title,
-#  author, documentclass [howto, manual, or own class]).
-latex_documents = [
-  ('index', 'Ptyprocess.tex', u'Ptyprocess Documentation',
-   u'Thomas Kluyver', 'manual'),
-]
-
-# The name of an image file (relative to this directory) to place at the top of
-# the title page.
-#latex_logo = None
-
-# For "manual" documents, if this is true, then toplevel headings are parts,
-# not chapters.
-#latex_use_parts = False
-
-# If true, show page references after internal links.
-#latex_show_pagerefs = False
-
-# If true, show URL addresses after external links.
-#latex_show_urls = False
-
-# Documents to append as an appendix to all manuals.
-#latex_appendices = []
-
-# If false, no module index is generated.
-#latex_domain_indices = True
-
-
-# -- Options for manual page output ---------------------------------------
-
-# One entry per manual page. List of tuples
-# (source start file, name, description, authors, manual section).
-man_pages = [
-    ('index', 'ptyprocess', u'Ptyprocess Documentation',
-     [u'Thomas Kluyver'], 1)
-]
-
-# If true, show URL addresses after external links.
-#man_show_urls = False
-
-
-# -- Options for Texinfo output -------------------------------------------
-
-# Grouping the document tree into Texinfo files. List of tuples
-# (source start file, target name, title, author,
-#  dir menu entry, description, category)
-texinfo_documents = [
-  ('index', 'Ptyprocess', u'Ptyprocess Documentation',
-   u'Thomas Kluyver', 'Ptyprocess', 'One line description of project.',
-   'Miscellaneous'),
-]
-
-# Documents to append as an appendix to all manuals.
-#texinfo_appendices = []
-
-# If false, no module index is generated.
-#texinfo_domain_indices = True
-
-# How to display URL addresses: 'footnote', 'no', or 'inline'.
-#texinfo_show_urls = 'footnote'
-
-# If true, do not generate a @detailmenu in the "Top" node's menu.
-#texinfo_no_detailmenu = False
-
-
-# Example configuration for intersphinx: refer to the Python standard library.
-intersphinx_mapping = {'http://docs.python.org/': None}
diff --git a/lldb/third_party/Python/module/ptyprocess-0.6.0/docs/images/pty_vs_popen.png b/lldb/third_party/Python/module/ptyprocess-0.6.0/docs/images/pty_vs_popen.png
deleted file mode 100644 (file)
index d78f8a3..0000000
Binary files a/lldb/third_party/Python/module/ptyprocess-0.6.0/docs/images/pty_vs_popen.png and /dev/null differ
diff --git a/lldb/third_party/Python/module/ptyprocess-0.6.0/docs/images/pty_vs_popen.svg b/lldb/third_party/Python/module/ptyprocess-0.6.0/docs/images/pty_vs_popen.svg
deleted file mode 100644 (file)
index 457f376..0000000
+++ /dev/null
@@ -1,759 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="554.44196"
-   height="327.38452"
-   id="svg2"
-   version="1.1"
-   inkscape:version="0.48.4 r9939"
-   sodipodi:docname="pty_vs_popen.svg">
-  <defs
-     id="defs4">
-    <marker
-       inkscape:stockid="SquareM"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="SquareM"
-       style="overflow:visible">
-      <path
-         id="path3838"
-         d="M -5,-5 -5,5 5,5 5,-5 -5,-5 z"
-         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
-         transform="scale(0.4,0.4)"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lstart"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow2Lstart"
-       style="overflow:visible">
-      <path
-         id="path3783"
-         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="matrix(1.1,0,0,1.1,1.1,0)"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:stockid="Tail"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Tail"
-       style="overflow:visible">
-      <g
-         id="g3801"
-         transform="scale(-1.2,-1.2)">
-        <path
-           id="path3803"
-           d="M -3.8048674,-3.9585227 0.54352094,0"
-           style="fill:none;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round"
-           inkscape:connector-curvature="0" />
-        <path
-           id="path3805"
-           d="M -1.2866832,-3.9585227 3.0617053,0"
-           style="fill:none;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round"
-           inkscape:connector-curvature="0" />
-        <path
-           id="path3807"
-           d="M 1.3053582,-3.9585227 5.6537466,0"
-           style="fill:none;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round"
-           inkscape:connector-curvature="0" />
-        <path
-           id="path3809"
-           d="M -3.8048674,4.1775838 0.54352094,0.21974226"
-           style="fill:none;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round"
-           inkscape:connector-curvature="0" />
-        <path
-           id="path3811"
-           d="M -1.2866832,4.1775838 3.0617053,0.21974226"
-           style="fill:none;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round"
-           inkscape:connector-curvature="0" />
-        <path
-           id="path3813"
-           d="M 1.3053582,4.1775838 5.6537466,0.21974226"
-           style="fill:none;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round"
-           inkscape:connector-curvature="0" />
-      </g>
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Lstart"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow1Lstart"
-       style="overflow:visible">
-      <path
-         id="path3765"
-         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
-         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
-         transform="matrix(0.8,0,0,0.8,10,0)"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow2Lend"
-       style="overflow:visible">
-      <path
-         id="path3786"
-         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow1Lend"
-       style="overflow:visible">
-      <path
-         id="path3768"
-         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
-         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
-         transform="matrix(-0.8,0,0,-0.8,-10,0)"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow2Lend-9"
-       style="overflow:visible">
-      <path
-         inkscape:connector-curvature="0"
-         id="path3786-2"
-         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow2Lend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow2Lend-6"
-       style="overflow:visible">
-      <path
-         inkscape:connector-curvature="0"
-         id="path3786-27"
-         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="SquareM"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="SquareM-5"
-       style="overflow:visible">
-      <path
-         inkscape:connector-curvature="0"
-         id="path3838-7"
-         d="M -5,-5 -5,5 5,5 5,-5 -5,-5 z"
-         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
-         transform="scale(0.4,0.4)" />
-    </marker>
-    <marker
-       inkscape:stockid="SquareM"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="marker10742"
-       style="overflow:visible">
-      <path
-         inkscape:connector-curvature="0"
-         id="path10744"
-         d="M -5,-5 -5,5 5,5 5,-5 -5,-5 z"
-         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
-         transform="scale(0.4,0.4)" />
-    </marker>
-    <marker
-       inkscape:stockid="SquareM"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="marker10746"
-       style="overflow:visible">
-      <path
-         inkscape:connector-curvature="0"
-         id="path10748"
-         d="M -5,-5 -5,5 5,5 5,-5 -5,-5 z"
-         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
-         transform="scale(0.4,0.4)" />
-    </marker>
-    <marker
-       inkscape:stockid="SquareM"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="marker10750"
-       style="overflow:visible">
-      <path
-         inkscape:connector-curvature="0"
-         id="path10752"
-         d="M -5,-5 -5,5 5,5 5,-5 -5,-5 z"
-         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
-         transform="scale(0.4,0.4)" />
-    </marker>
-    <marker
-       inkscape:stockid="SquareM"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="marker10754"
-       style="overflow:visible">
-      <path
-         inkscape:connector-curvature="0"
-         id="path10756"
-         d="M -5,-5 -5,5 5,5 5,-5 -5,-5 z"
-         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
-         transform="scale(0.4,0.4)" />
-    </marker>
-    <marker
-       inkscape:stockid="SquareM"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="marker10758"
-       style="overflow:visible">
-      <path
-         inkscape:connector-curvature="0"
-         id="path10760"
-         d="M -5,-5 -5,5 5,5 5,-5 -5,-5 z"
-         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
-         transform="scale(0.4,0.4)" />
-    </marker>
-  </defs>
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="0.98994949"
-     inkscape:cx="77.797977"
-     inkscape:cy="137.24456"
-     inkscape:document-units="px"
-     inkscape:current-layer="layer1"
-     showgrid="false"
-     inkscape:window-width="1301"
-     inkscape:window-height="744"
-     inkscape:window-x="65"
-     inkscape:window-y="24"
-     inkscape:window-maximized="1"
-     fit-margin-top="1"
-     fit-margin-left="1"
-     fit-margin-right="1"
-     fit-margin-bottom="1"
-     units="cm" />
-  <metadata
-     id="metadata7">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer"
-     id="layer1"
-     transform="translate(-40.758533,29.820888)">
-    <g
-       id="g11880">
-      <a
-         style="fill:#b380ff"
-         id="a6328">
-        <path
-           sodipodi:type="arc"
-           style="fill:#b380ff;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-           id="path4575"
-           sodipodi:cx="160.71428"
-           sodipodi:cy="222.89789"
-           sodipodi:rx="41.07143"
-           sodipodi:ry="25.535715"
-           d="m 201.78571,222.89789 c 0,14.10298 -18.38831,25.53571 -41.07143,25.53571 -22.68313,0 -41.07143,-11.43273 -41.07143,-25.53571 0,-14.10299 18.3883,-25.53572 41.07143,-25.53572 22.68312,0 41.07143,11.43273 41.07143,25.53572 z"
-           transform="translate(-4.6428572,12.857143)" />
-      </a>
-      <text
-         sodipodi:linespacing="125%"
-         id="text10591"
-         y="240.97427"
-         x="138.65004"
-         style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-         xml:space="preserve"><tspan
-           y="240.97427"
-           x="138.65004"
-           id="tspan10593"
-           sodipodi:role="line">Child</tspan></text>
-      <g
-         id="g10626">
-        <path
-           sodipodi:type="arc"
-           style="fill:#b380ff;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-           id="path4575-2"
-           sodipodi:cx="160.71428"
-           sodipodi:cy="222.89789"
-           sodipodi:rx="41.07143"
-           sodipodi:ry="25.535715"
-           d="m 201.78571,222.89789 c 0,14.10298 -18.38831,25.53571 -41.07143,25.53571 -22.68313,0 -41.07143,-11.43273 -41.07143,-25.53571 0,-14.10299 18.3883,-25.53572 41.07143,-25.53572 22.68312,0 41.07143,11.43273 41.07143,25.53572 z"
-           transform="translate(2.6428639,-191.24999)" />
-        <text
-           xml:space="preserve"
-           style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-           x="140.40549"
-           y="36.651806"
-           id="text6334"
-           sodipodi:linespacing="125%"><tspan
-             sodipodi:role="line"
-             id="tspan6336"
-             x="140.40549"
-             y="36.651806">Parent</tspan></text>
-      </g>
-      <path
-         sodipodi:nodetypes="cc"
-         inkscape:connector-curvature="0"
-         id="path2991"
-         d="m 196.72731,244.88337 c 67.0421,-0.73967 67.7774,-97.99531 67.7774,-97.99531"
-         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#SquareM);marker-mid:none;marker-end:none" />
-      <path
-         sodipodi:nodetypes="cc"
-         inkscape:connector-curvature="0"
-         id="path2991-7"
-         d="m 196.14285,226.15435 c 43.35572,-25.82886 35.12946,-81.02577 35.12946,-81.02577"
-         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#SquareM);marker-mid:none;marker-end:none" />
-      <a
-         id="a6331">
-        <path
-           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#SquareM);marker-end:none"
-           d="M 115.87982,226.83468 C 83.964646,190.58994 84.459212,146.54858 84.459212,146.54858"
-           id="path2991-7-8"
-           inkscape:connector-curvature="0"
-           sodipodi:nodetypes="cc" />
-      </a>
-      <path
-         sodipodi:nodetypes="cc"
-         inkscape:connector-curvature="0"
-         id="path5637"
-         d="M 138.92857,54.147895 C 93.997282,79.826286 84.654646,124.86218 84.654646,124.86218"
-         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#SquareM);marker-end:none" />
-      <path
-         sodipodi:nodetypes="cc"
-         inkscape:connector-curvature="0"
-         id="path5641"
-         d="M 263.9496,124.76501 C 252.52103,80.836439 194.64286,49.147895 194.64286,49.147895"
-         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#SquareM)" />
-      <path
-         sodipodi:nodetypes="cc"
-         inkscape:connector-curvature="0"
-         id="path5643"
-         d="M 232.25054,123.75485 C 221.88288,81.1682 185.35714,54.147895 185.35714,54.147895"
-         style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#SquareM)" />
-      <text
-         sodipodi:linespacing="125%"
-         id="text6245"
-         y="240.57648"
-         x="90"
-         style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-         xml:space="preserve"><tspan
-           style="font-size:9px;font-style:italic;-inkscape-font-specification:Sans Italic"
-           y="240.57648"
-           x="90"
-           id="tspan6247"
-           sodipodi:role="line">stdin</tspan></text>
-      <text
-         sodipodi:linespacing="125%"
-         id="text6245-8"
-         y="213.07455"
-         x="184.47076"
-         style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-         xml:space="preserve"><tspan
-           id="tspan6270"
-           style="font-size:9px;font-style:italic;-inkscape-font-specification:Sans Italic"
-           y="213.07455"
-           x="184.47076"
-           sodipodi:role="line">stdout</tspan></text>
-      <text
-         sodipodi:linespacing="125%"
-         id="text6245-8-8"
-         y="262.00311"
-         x="192.32663"
-         style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-         xml:space="preserve"><tspan
-           id="tspan6298"
-           style="font-size:9px;font-style:italic;-inkscape-font-specification:Sans Italic"
-           y="262.00311"
-           x="192.32663"
-           sodipodi:role="line">stderr</tspan></text>
-      <g
-         transform="translate(18,0)"
-         id="g11773">
-        <g
-           id="g11763">
-          <rect
-             y="120.8597"
-             x="58.558922"
-             height="13.836793"
-             width="15.97965"
-             id="rect4573-0-7"
-             style="fill:#ff8080;fill-rule:evenodd;stroke:#000000;stroke-width:0.73463506px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
-          <text
-             sodipodi:linespacing="125%"
-             id="text6308"
-             y="129.96561"
-             x="63.277264"
-             style="font-size:8px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-             xml:space="preserve"><tspan
-               y="129.96561"
-               x="63.277264"
-               id="tspan6310"
-               sodipodi:role="line">w</tspan></text>
-        </g>
-        <g
-           id="g11768">
-          <rect
-             y="135.43114"
-             x="58.558922"
-             height="13.836793"
-             width="15.97965"
-             id="rect4573-0-7-4"
-             style="fill:#b3b3b3;fill-rule:evenodd;stroke:#000000;stroke-width:0.73463506px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
-          <text
-             sodipodi:linespacing="125%"
-             id="text6304"
-             y="144.58977"
-             x="64.540932"
-             style="font-size:8px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-             xml:space="preserve"><tspan
-               y="144.58977"
-               x="64.540932"
-               id="tspan6306"
-               sodipodi:role="line">r</tspan></text>
-        </g>
-      </g>
-      <g
-         transform="translate(54,-16)"
-         id="g10674">
-        <g
-           id="g10664"
-           transform="translate(0,29.14287)">
-          <rect
-             y="121.72949"
-             x="168.7959"
-             height="13.836793"
-             width="15.97965"
-             id="rect4573-0-7-0"
-             style="fill:#ff8080;fill-rule:evenodd;stroke:#000000;stroke-width:0.73463506px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
-          <text
-             sodipodi:linespacing="125%"
-             id="text6308-1"
-             y="130.8354"
-             x="173.51424"
-             style="font-size:8px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-             xml:space="preserve"><tspan
-               y="130.8354"
-               x="173.51424"
-               id="tspan6310-7"
-               sodipodi:role="line">w</tspan></text>
-        </g>
-        <g
-           id="g10669">
-          <rect
-             y="136.30093"
-             x="168.7959"
-             height="13.836793"
-             width="15.97965"
-             id="rect4573-0-7-4-7"
-             style="fill:#b3b3b3;fill-rule:evenodd;stroke:#000000;stroke-width:0.73463506px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
-          <text
-             sodipodi:linespacing="125%"
-             id="text6304-5"
-             y="145.45956"
-             x="174.77791"
-             style="font-size:8px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-             xml:space="preserve"><tspan
-               y="145.45956"
-               x="174.77791"
-               id="tspan6306-6"
-               sodipodi:role="line">r</tspan></text>
-        </g>
-      </g>
-      <g
-         transform="translate(86.857134,-15.571435)"
-         id="g10674-6">
-        <g
-           id="g10664-6"
-           transform="translate(0,29.14287)">
-          <rect
-             y="121.72949"
-             x="168.7959"
-             height="13.836793"
-             width="15.97965"
-             id="rect4573-0-7-0-5"
-             style="fill:#ff8080;fill-rule:evenodd;stroke:#000000;stroke-width:0.73463506px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
-          <text
-             sodipodi:linespacing="125%"
-             id="text6308-1-9"
-             y="130.8354"
-             x="173.51424"
-             style="font-size:8px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-             xml:space="preserve"><tspan
-               y="130.8354"
-               x="173.51424"
-               id="tspan6310-7-6"
-               sodipodi:role="line">w</tspan></text>
-        </g>
-        <g
-           id="g10669-5">
-          <rect
-             y="136.30093"
-             x="168.7959"
-             height="13.836793"
-             width="15.97965"
-             id="rect4573-0-7-4-7-4"
-             style="fill:#b3b3b3;fill-rule:evenodd;stroke:#000000;stroke-width:0.73463506px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
-          <text
-             sodipodi:linespacing="125%"
-             id="text6304-5-3"
-             y="145.45956"
-             x="174.77791"
-             style="font-size:8px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-             xml:space="preserve"><tspan
-               y="145.45956"
-               x="174.77791"
-               id="tspan6306-6-1"
-               sodipodi:role="line">r</tspan></text>
-        </g>
-      </g>
-      <text
-         sodipodi:linespacing="125%"
-         id="text10726"
-         y="139.6479"
-         x="135.03683"
-         style="font-size:8px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-         xml:space="preserve"><tspan
-           style="font-size:16px;font-weight:bold;-inkscape-font-specification:Sans Bold"
-           y="139.6479"
-           x="135.03683"
-           id="tspan10728"
-           sodipodi:role="line">Popen</tspan></text>
-      <text
-         sodipodi:linespacing="125%"
-         id="text6245-8-89"
-         y="158.43169"
-         x="234.46947"
-         style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
-         xml:space="preserve"><tspan
-           id="tspan6270-24"
-           style="font-size:9px;font-style:normal;-inkscape-font-specification:Sans"
-           y="158.43169"
-           x="234.46947"
-           sodipodi:role="line">pipes</tspan></text>
-    </g>
-    <g
-       id="g11847"
-       transform="translate(-10,0.39179)">
-      <a
-         style="fill:#b380ff"
-         id="a6328-0"
-         transform="translate(233.85132,-0.39179)">
-        <path
-           sodipodi:type="arc"
-           style="fill:#b380ff;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-           id="path4575-8"
-           sodipodi:cx="160.71428"
-           sodipodi:cy="222.89789"
-           sodipodi:rx="41.07143"
-           sodipodi:ry="25.535715"
-           d="m 201.78571,222.89789 c 0,14.10298 -18.38831,25.53571 -41.07143,25.53571 -22.68313,0 -41.07143,-11.43273 -41.07143,-25.53571 0,-14.10299 18.3883,-25.53572 41.07143,-25.53572 22.68312,0 41.07143,11.43273 41.07143,25.53572 z"
-           transform="translate(-4.6428572,12.857143)" />
-      </a>
-      <text
-         sodipodi:linespacing="125%"
-         id="text10591-3"
-         y="240.5825"
-         x="372.50137"
-         style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-         xml:space="preserve"><tspan
-           y="240.5825"
-           x="372.50137"
-           id="tspan10593-2"
-           sodipodi:role="line">Child</tspan></text>
-      <path
-         sodipodi:nodetypes="cc"
-         inkscape:connector-curvature="0"
-         id="path11075"
-         d="m 397.80427,110.64896 0,-52.85714"
-         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:none;marker-end:url(#marker10758)" />
-      <g
-         id="g10626-5"
-         transform="translate(233.85132,-0.39179)">
-        <path
-           sodipodi:type="arc"
-           style="fill:#b380ff;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-           id="path4575-2-4"
-           sodipodi:cx="160.71428"
-           sodipodi:cy="222.89789"
-           sodipodi:rx="41.07143"
-           sodipodi:ry="25.535715"
-           d="m 201.78571,222.89789 c 0,14.10298 -18.38831,25.53571 -41.07143,25.53571 -22.68313,0 -41.07143,-11.43273 -41.07143,-25.53571 0,-14.10299 18.3883,-25.53572 41.07143,-25.53572 22.68312,0 41.07143,11.43273 41.07143,25.53572 z"
-           transform="translate(2.6428639,-191.24999)" />
-        <text
-           xml:space="preserve"
-           style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-           x="140.40549"
-           y="36.651806"
-           id="text6334-0"
-           sodipodi:linespacing="125%"><tspan
-             sodipodi:role="line"
-             id="tspan6336-9"
-             x="140.40549"
-             y="36.651806">Parent</tspan></text>
-      </g>
-      <path
-         sodipodi:nodetypes="cc"
-         inkscape:connector-curvature="0"
-         id="path2991-4"
-         d="m 430.57864,244.49159 c 72.59794,2.79586 4.037,-103.77087 -17.74871,-113.05659"
-         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#SquareM);marker-mid:none;marker-end:none" />
-      <path
-         sodipodi:nodetypes="cc"
-         inkscape:connector-curvature="0"
-         id="path2991-7-87"
-         d="m 429.99418,225.76257 c 42.23788,-26.36983 -30.60585,-91.62802 -30.60585,-91.62802"
-         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#SquareM);marker-mid:none;marker-end:none" />
-      <a
-         id="a6331-7"
-         transform="translate(233.85132,-0.39179)">
-        <path
-           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#SquareM);marker-end:none"
-           d="m 115.87982,226.83468 c -50.09792,-32.20413 30.963,-94.8423 30.963,-94.8423"
-           id="path2991-7-8-4"
-           inkscape:connector-curvature="0"
-           sodipodi:nodetypes="cc" />
-      </a>
-      <text
-         sodipodi:linespacing="125%"
-         id="text6245-6"
-         y="240.18468"
-         x="323.85132"
-         style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-         xml:space="preserve"><tspan
-           style="font-size:9px;font-style:italic;-inkscape-font-specification:Sans Italic"
-           y="240.18468"
-           x="323.85132"
-           id="tspan6247-3"
-           sodipodi:role="line">stdin</tspan></text>
-      <text
-         sodipodi:linespacing="125%"
-         id="text6245-8-6"
-         y="207.68279"
-         x="410.10779"
-         style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-         xml:space="preserve"><tspan
-           id="tspan6270-2"
-           style="font-size:9px;font-style:italic;-inkscape-font-specification:Sans Italic"
-           y="207.68279"
-           x="410.10779"
-           sodipodi:role="line">stdout</tspan></text>
-      <text
-         sodipodi:linespacing="125%"
-         id="text6245-8-8-1"
-         y="261.61133"
-         x="426.17795"
-         style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-         xml:space="preserve"><tspan
-           id="tspan6298-3"
-           style="font-size:9px;font-style:italic;-inkscape-font-specification:Sans Italic"
-           y="261.61133"
-           x="426.17795"
-           sodipodi:role="line">stderr</tspan></text>
-      <g
-         transform="translate(227.5656,-301.02546)"
-         id="g11065">
-        <g
-           id="g11055">
-          <rect
-             y="421.34998"
-             x="147.24721"
-             height="13.362738"
-             width="44.791309"
-             id="rect4573-0-7-0-55"
-             style="fill:#5599ff;fill-rule:evenodd;stroke:#000000;stroke-width:0.73500001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
-          <text
-             sodipodi:linespacing="125%"
-             id="text6308-1-6"
-             y="431.01376"
-             x="159.1624"
-             style="font-size:8px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-             xml:space="preserve"><tspan
-               y="431.01376"
-               x="159.1624"
-               id="tspan6310-7-9"
-               sodipodi:role="line">slave</tspan></text>
-        </g>
-        <g
-           id="g11060">
-          <rect
-             y="407.25223"
-             x="147.24721"
-             height="13.362738"
-             width="44.791309"
-             id="rect4573-0-7-0-55-9"
-             style="fill:#80ffb3;fill-rule:evenodd;stroke:#000000;stroke-width:0.73500001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
-          <text
-             sodipodi:linespacing="125%"
-             id="text6308-1-6-7"
-             y="416.68555"
-             x="155.16631"
-             style="font-size:8px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-             xml:space="preserve"><tspan
-               y="416.68555"
-               x="155.16631"
-               id="tspan6310-7-9-7"
-               sodipodi:role="line">master</tspan></text>
-        </g>
-      </g>
-      <text
-         sodipodi:linespacing="125%"
-         id="text10726-9"
-         y="116.71899"
-         x="429.1268"
-         style="font-size:8px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-         xml:space="preserve"><tspan
-           style="font-size:16px;font-weight:bold;-inkscape-font-specification:Sans Bold"
-           y="116.71899"
-           x="429.1268"
-           id="tspan10728-7"
-           sodipodi:role="line">Pseudoterminal</tspan><tspan
-           id="tspan11761"
-           style="font-size:16px;font-weight:bold;-inkscape-font-specification:Sans Bold"
-           y="136.71899"
-           x="429.1268"
-           sodipodi:role="line">(pty)</tspan></text>
-    </g>
-  </g>
-</svg>
diff --git a/lldb/third_party/Python/module/ptyprocess-0.6.0/docs/index.rst b/lldb/third_party/Python/module/ptyprocess-0.6.0/docs/index.rst
deleted file mode 100644 (file)
index ae73700..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-Ptyprocess
-==========
-
-.. include:: ../README.rst
-
-Contents:
-
-.. toctree::
-   :maxdepth: 2
-
-   api
-
-What is a pty?
---------------
-
-A pty is a kernel-level object which processes can write data to and read data
-from, a bit like a pipe.
-
-Unlike a pipe, data moves through a single pty in both directions. When you use
-a program in a shell pipeline, or with :class:`subprocess.Popen` in Python, up
-to three pipes are created for the process's standard streams (stdin, stdout
-and stderr). When you run a program using ptyprocess, all three of its standard
-streams are connected to a single pty:
-
-.. image:: images/pty_vs_popen.png
-
-A pty also does more than a pipe. It keeps track of the window size (rows and
-columns of characters) and notifies child processes (with a SIGWINCH signal)
-when it changes. In *cooked mode*, it does some processing of data sent from the
-parent process, so for instance the byte ``03`` (entered as Ctrl-C) will cause
-SIGINT to be sent to the child process.
-
-Many command line programs behave differently if they detect that stdin or stdout
-is connected to a terminal instead of a pipe (using 
-`isatty() <http://linux.die.net/man/3/isatty>`_), because this normally means
-that they're being used interactively by a human user.
-They may format output differently (e.g. ``ls`` lists files in columns)
-or prompt the user to confirm actions.
-When you run these programs in ptyprocess, they will exhibit their 'interactive'
-behaviour, instead of the 'pipe' behaviour you'll see using ``Popen()``.
-
-.. seealso::
-
-   `The TTY demystified <http://www.linusakesson.net/programming/tty/>`_
-     Detailed article by Linus Akesson
-
-Indices and tables
-==================
-
-* :ref:`genindex`
-* :ref:`modindex`
-* :ref:`search`
-
diff --git a/lldb/third_party/Python/module/ptyprocess-0.6.0/tests/__init__.py b/lldb/third_party/Python/module/ptyprocess-0.6.0/tests/__init__.py
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/lldb/third_party/Python/module/ptyprocess-0.6.0/tests/test_echo.py b/lldb/third_party/Python/module/ptyprocess-0.6.0/tests/test_echo.py
deleted file mode 100644 (file)
index 7d2b0e2..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-import time
-import unittest
-from ptyprocess.ptyprocess import _is_solaris
-from ptyprocess import PtyProcess
-
-class PtyEchoTestCase(unittest.TestCase):
-
-    def _read_until_eof(self, proc):
-        """Read away all output on ``proc`` until EOF."""
-        while True:
-            try:
-                proc.read()
-            except EOFError:
-                return
-
-    @unittest.skipIf(_is_solaris, "waitnoecho cannot be called on this platform.")
-    def test_waitnoecho_forever(self):
-        """Ensure waitnoecho() with no timeout will return when echo=False."""
-        cat = PtyProcess.spawn(['cat'], echo=False)
-        assert cat.waitnoecho() == True
-        assert cat.echo == False
-        assert cat.getecho() == False
-        cat.sendeof()
-        self._read_until_eof(cat)
-        assert cat.wait() == 0
-
-    @unittest.skipIf(_is_solaris, "waitnoecho cannot be called on this platform.")
-    def test_waitnoecho_timeout(self):
-        """Ensure waitnoecho() with timeout will return when using stty to unset echo."""
-        cat = PtyProcess.spawn(['cat'], echo=True)
-        assert cat.waitnoecho(timeout=1) == False
-        assert cat.echo == True
-        assert cat.getecho() == True
-        cat.sendeof()
-        self._read_until_eof(cat)
-        assert cat.wait() == 0
diff --git a/lldb/third_party/Python/module/ptyprocess-0.6.0/tests/test_invalid_binary.py b/lldb/third_party/Python/module/ptyprocess-0.6.0/tests/test_invalid_binary.py
deleted file mode 100755 (executable)
index cf28098..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-import time
-import unittest
-from ptyprocess import PtyProcess, PtyProcessUnicode
-import errno
-import os
-import stat
-import tempfile
-
-class InvalidBinaryChars(unittest.TestCase):
-
-    def test_invalid_binary(self):
-        '''This tests that we correctly handle the case where we attempt to
-           spawn a child process but the exec call fails'''
-
-        # Create a file that should fail the exec call
-        dirpath = tempfile.mkdtemp()
-        fullpath = os.path.join(dirpath, "test")
-
-        with open(fullpath, 'wb') as f:
-            # Add some constant so it will never be executable
-            #  - Not 0x54AD (Windows PE)
-            #  - Not 0x7FEF (ELF)
-            #  - Not 0410 or 0413 (a.out)
-            #  - Not 0x2321 (script)
-            file_start = b'\x00\x00'
-            file_data = file_start + os.urandom(1022)
-            f.write(file_data)
-
-        # Make it executable
-        st = os.stat(fullpath)
-        os.chmod(fullpath, st.st_mode | stat.S_IEXEC)
-
-        # TODO Verify this does what is intended on Windows
-        try:
-            child = PtyProcess.spawn([fullpath])
-            # If we get here then an OSError was not raised
-            child.close()
-            raise AssertionError("OSError was not raised")
-        except OSError as err:
-            if errno.ENOEXEC == err.errno:
-                # This is what should happen
-                pass
-            else:
-                # Re-raise the original error to fail the test
-                raise
-        finally:
-            os.unlink(fullpath)
-            os.rmdir(dirpath)
-
-if __name__ == '__main__':
-    unittest.main()
-
-suite = unittest.makeSuite(InvalidBinaryChars,'test')
-
diff --git a/lldb/third_party/Python/module/ptyprocess-0.6.0/tests/test_preexec_fn.py b/lldb/third_party/Python/module/ptyprocess-0.6.0/tests/test_preexec_fn.py
deleted file mode 100755 (executable)
index ed2df27..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/usr/bin/env python
-'''
-PEXPECT LICENSE
-
-    This license is approved by the OSI and FSF as GPL-compatible.
-        http://opensource.org/licenses/isc-license.txt
-
-    Copyright (c) 2012, Noah Spurrier <noah@noah.org>
-    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY
-    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE
-    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.
-    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-'''
-import unittest
-import shutil
-from ptyprocess import PtyProcess
-import os
-import tempfile
-
-class PreexecFns(unittest.TestCase):
-    def test_preexec(self):
-        td = tempfile.mkdtemp()
-        filepath = os.path.join(td, 'foo')
-        def pef():
-            with open(filepath, 'w') as f:
-                f.write('bar')
-
-        try:
-            child = PtyProcess.spawn(['ls'], preexec_fn=pef)
-            child.close()
-            with open(filepath, 'r') as f:
-                assert f.read() == 'bar'
-
-        finally:
-            shutil.rmtree(td)
-
-    def test_preexec_error(self):
-        def func():
-            raise ValueError("Test error condition")
-
-        try:
-            child = PtyProcess.spawn(['ls'], preexec_fn=func)
-            # If we get here then an error was not raised
-            child.close()
-            raise AssertionError("ValueError was not raised")
-        except ValueError as err:
-            if str(err) != "Test error condition":
-                # Re-raise the original error to fail the test
-                raise
-
-
diff --git a/lldb/third_party/Python/module/ptyprocess-0.6.0/tests/test_spawn.py b/lldb/third_party/Python/module/ptyprocess-0.6.0/tests/test_spawn.py
deleted file mode 100755 (executable)
index 696e126..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-import os
-import time
-import select
-import unittest
-from ptyprocess.ptyprocess import which
-from ptyprocess import PtyProcess, PtyProcessUnicode
-
-class PtyTestCase(unittest.TestCase):
-    def setUp(self):
-        self.cmd = u'echo $ENV_KEY; exit 0\n'
-        self.env = os.environ.copy()
-        self.env_key = u'ENV_KEY'
-        self.env_value = u'env_value'
-        self.env[self.env_key] = self.env_value
-
-    def _canread(self, fd, timeout=1):
-        return fd in select.select([fd], [], [], timeout)[0]
-
-    def _spawn_sh(self, ptyp, cmd, outp, env_value):
-        # given,
-        p = ptyp.spawn(['sh'], env=self.env)
-        p.write(cmd)
-
-        # exercise,
-        while True:
-            try:
-                outp += p.read()
-            except EOFError:
-                break
-
-        # verify, input is echo to output
-        assert cmd.strip() in outp
-
-        # result of echo $ENV_KEY in output
-        assert env_value in outp
-
-        # exit successfully (exit 0)
-        assert p.wait() == 0
-
-
-    def test_spawn_sh(self):
-        outp = b''
-        self._spawn_sh(PtyProcess, self.cmd.encode('ascii'),
-                       outp, self.env_value.encode('ascii'))
-
-    def test_spawn_sh_unicode(self):
-        outp = u''
-        self._spawn_sh(PtyProcessUnicode, self.cmd,
-                       outp, self.env_value)
-
-    def test_quick_spawn(self):
-        """Spawn a very short-lived process."""
-        # so far only reproducible on Solaris 11, spawning a process
-        # that exits very quickly raised an exception at 'inst.setwinsize',
-        # because the pty file descriptor was quickly lost after exec().
-        PtyProcess.spawn(['true'])
-
-    def _interactive_repl_unicode(self, echo):
-        """Test Call and response with echo ON/OFF."""
-        # given,
-        bc = PtyProcessUnicode.spawn(['bc'], echo=echo)
-        given_input = u'2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2\n'
-        expected_output = u'40'
-
-        # gnu-bc will display a long FSF banner on startup,
-        # whereas bsd-bc (on FreeBSD, Solaris) display no
-        # banner at all.  To ensure we've read up to our
-        # current prompt, read until the response of '2^16' is found.
-        time.sleep(1)
-
-        bc.write(u'2^16\n')
-        outp = u''
-        while self._canread(bc.fd):
-            outp += bc.read()
-        assert u'65536' in outp
-
-        # exercise,
-        bc.write(given_input)
-
-        while self._canread(bc.fd, timeout=2):
-            outp += bc.read()
-
-        # with echo ON, we should see our input.
-        #
-        # note: we cannot assert the reverse: on Solaris, FreeBSD,
-        # and OSX, our input is echoed to output even with echo=False,
-        # something to do with the non-gnu version of bc(1), perhaps.
-        if echo:
-            assert given_input.strip() in outp
-
-        # we should most certainly see the result output.
-        assert expected_output in outp
-
-        # exercise sending EOF
-        bc.sendeof()
-
-        # validate EOF on read
-        while True:
-            try:
-                bc.read()
-            except EOFError:
-                break
-
-        # validate exit status,
-        assert bc.wait() == 0
-
-    @unittest.skipIf(which('bc') is None, "bc(1) not found on this server.")
-    def test_interactive_repl_unicode_noecho(self):
-        self._interactive_repl_unicode(echo=False)
-
-    @unittest.skipIf(which('bc') is None, "bc(1) not found on this server.")
-    def test_interactive_repl_unicode_echo(self):
-        self._interactive_repl_unicode(echo=True)
diff --git a/lldb/third_party/Python/module/ptyprocess-0.6.0/tests/test_wait.py b/lldb/third_party/Python/module/ptyprocess-0.6.0/tests/test_wait.py
deleted file mode 100644 (file)
index 6cc096a..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-""" Test cases for PtyProcess.wait method. """
-import time
-import unittest
-from ptyprocess import PtyProcess
-
-
-class TestWaitAfterTermination(unittest.TestCase):
-    """Various test cases for PtyProcess.wait()"""
-
-    def test_wait_true_shortproc(self):
-        """Ensure correct (True) wait status for short-lived processes."""
-        child = PtyProcess.spawn(['true'])
-        # Wait so we're reasonable sure /bin/true has terminated
-        time.sleep(0.2)
-        self.assertEqual(child.wait(), 0)
-
-    def test_wait_false_shortproc(self):
-        """Ensure correct (False) wait status for short-lived processes."""
-        child = PtyProcess.spawn(['false'])
-        # Wait so we're reasonable sure /bin/false has terminated
-        time.sleep(0.2)
-        self.assertNotEqual(child.wait(), 0)
-
-    def test_wait_twice_longproc(self):
-        """Ensure correct wait status when called twice."""
-        # previous versions of ptyprocess raises PtyProcessError when
-        # wait was called more than once with "Cannot wait for dead child
-        # process.".  No longer true since v0.5.
-        child = PtyProcess.spawn(['sleep', '1'])
-        # this call to wait() will block for 1s
-        for count in range(2):
-            self.assertEqual(child.wait(), 0, count)