# HG changeset patch # User cmlenz # Date 1127840750 0 # Node ID 86836ec604f8888483dfeefe54c11f01a93dbdf1 # Parent 5478cfdaa72b72524ea7f9f296025fdc86c3529f Really fix BEEP interop, the changes in [233] were broken. There should be no CRLF between payload and trailer. diff --git a/bitten/util/beep.py b/bitten/util/beep.py --- a/bitten/util/beep.py +++ b/bitten/util/beep.py @@ -805,14 +805,14 @@ headerbits = [self.cmd, self.channel.channelno, self.msgno, self.done and '.' or '*', self.channel.seqno[1].value, - len(data) + 2] + len(data)] if self.cmd == 'ANS': assert self.ansno is not None headerbits.append(self.ansno) header = ' '.join([str(bit) for bit in headerbits]) log.debug('Sending frame [%s]', header) - frame = '\r\n'.join((header, data, 'END', '')) - self.channel.seqno[1] += len(data) + 2 + frame = '\r\n'.join((header, data + 'END', '')) + self.channel.seqno[1] += len(data) return frame diff --git a/bitten/util/tests/beep.py b/bitten/util/tests/beep.py --- a/bitten/util/tests/beep.py +++ b/bitten/util/tests/beep.py @@ -177,7 +177,7 @@ channel.send_rpy(0, beep.Payload('nil', None)) self.assertEqual(('MSG', 0, 0, False, 0, None, 'foo bar'), self.session.sent_messages[0]) - self.assertEqual(('RPY', 0, 0, False, 11, None, 'nil'), + self.assertEqual(('RPY', 0, 0, False, 9, None, 'nil'), self.session.sent_messages[1]) def test_send_message_msgno_incrementing(self): @@ -193,7 +193,7 @@ assert msgno in channel.msgnos msgno = channel.send_msg(beep.Payload('foo baz', None)) assert msgno == 1 - self.assertEqual(('MSG', 0, msgno, False, 11, None, 'foo baz'), + self.assertEqual(('MSG', 0, msgno, False, 9, None, 'foo baz'), self.session.sent_messages[1]) assert msgno in channel.msgnos @@ -276,11 +276,11 @@ assert 0 in channel.ansnos ansno = channel.send_ans(0, beep.Payload('foo baz', None)) assert ansno == 1 - self.assertEqual(('ANS', 0, 0, False, 11, ansno, 'foo baz'), + self.assertEqual(('ANS', 0, 0, False, 9, ansno, 'foo baz'), self.session.sent_messages[1]) assert 0 in channel.ansnos channel.send_nul(0) - self.assertEqual(('NUL', 0, 0, False, 22, None, ''), + self.assertEqual(('NUL', 0, 0, False, 18, None, ''), self.session.sent_messages[2]) assert 0 not in channel.ansnos