[lldb] Make socket_packet_pump.py work in Python3
authorRaphael Isemann <teemperor@gmail.com>
Thu, 23 Jul 2020 16:35:40 +0000 (18:35 +0200)
committerRaphael Isemann <teemperor@gmail.com>
Thu, 23 Jul 2020 16:36:50 +0000 (18:36 +0200)
Summary:

The `string_escape` encoding used here was removed in Python 3 which makes the
test crash during tearDown:

```
  File "lldb/third_party/Python/module/unittest2/unittest2/case.py", line 386, in run
    self.tearDown()
  File "lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py", line 124, in tearDown
    self._pump_queues.verify_queues_empty()
  File "lldb/packages/Python/lldbsuite/test/tools/lldb-server/socket_packet_pump.py", line 55, in verify_queues_empty
    _dump_queue(self.packet_queue())
  File "lldb/packages/Python/lldbsuite/test/tools/lldb-server/socket_packet_pump.py", line 28, in _dump_queue
    print(codecs.encode(the_queue.get(True), "string_escape"))
LookupError: unknown encoding: string_escape
```

Just replace it with `repr` which should work in both Python versions.

Reviewers: labath, JDevlieghere

Reviewed By: labath, JDevlieghere

Subscribers: JDevlieghere

Differential Revision: https://reviews.llvm.org/D84017

lldb/packages/Python/lldbsuite/test/tools/lldb-server/socket_packet_pump.py

index 958d644..3de7634 100644 (file)
@@ -6,7 +6,6 @@ import re
 import select
 import threading
 import traceback
-import codecs
 
 from six.moves import queue
 from lldbsuite.support import seven
@@ -25,7 +24,7 @@ def _handle_output_packet_string(packet_contents):
 
 def _dump_queue(the_queue):
     while not the_queue.empty():
-        print(codecs.encode(the_queue.get(True), "string_escape"))
+        print(repr(the_queue.get(True)))
         print("\n")