Fix up a handful of issues running RBTools on Python 3.

Review Request #9554 — Created Jan. 30, 2018 and submitted — Latest diff uploaded

Information

RBTools
master
b366fb3...

Reviewers

This change fixes up a variety of small things that were breaking:

  • Many unit tests were writing binary data to files opened with 'w',
    which doesn't work anymore.
  • The SVN client was applying a binary regex to unicode data. This one
    was just a mistake when I did the unicode conversions.
  • There was a typo in the perforce path detection (use of the name
    pattern instead of p)
  • The command-line logging was exploding because list2cmdline isn't
    written in such a way that it can deal with mixed unicode and
    bytestrings in command lines. The rest of subprocess is fine, it's
    just the logging, so I've changed it to pass in all of that as a
    unicode string.

This change also includes a couple small changes I had made to the
mercurial code trying to massage it into working before I realized how
little Python 3 support hg actually has. I've disabled that part of the
test suite for now.

Ran unit tests.