From 608a8919cae982cb38e38725a843df47b234dae6 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Wed, 3 Feb 2016 22:39:51 +0100 Subject: patch 7.4.1253 Problem: Python test server not displaying second of two commands. Solaris doesn't have "pkill --full". Solution: Also echo the second command. Use "pkill -f". --- src/testdir/test_channel.py | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'src/testdir/test_channel.py') diff --git a/src/testdir/test_channel.py b/src/testdir/test_channel.py index 486ff4d7c6..3133c2f408 100644 --- a/src/testdir/test_channel.py +++ b/src/testdir/test_channel.py @@ -34,32 +34,34 @@ class ThreadedTCPRequestHandler(socketserver.BaseRequestHandler): thesocket = self.request while True: try: - data = self.request.recv(4096).decode('utf-8') + received = self.request.recv(4096).decode('utf-8') except socket.error: print("=== socket error ===") break except IOError: print("=== socket closed ===") break - if data == '': + if received == '': print("=== socket closed ===") break - print("received: {}".format(data)) + print("received: {}".format(received)) # We may receive two messages at once. Take the part up to the # matching "]" (recognized by finding "]["). - while data != '': - splitidx = data.find('][') + todo = received + while todo != '': + splitidx = todo.find('][') if splitidx < 0: - todo = data - data = '' + used = todo + todo = '' else: - todo = data[:splitidx + 1] - data = data[splitidx + 1:] - print("using: {}".format(todo)) + used = todo[:splitidx + 1] + todo = todo[splitidx + 1:] + if used != received: + print("using: {}".format(used)) try: - decoded = json.loads(todo) + decoded = json.loads(used) except ValueError: print("json decoding failed") decoded = [-1, ''] -- cgit v1.2.3