[Python-modules-team] Bug#721814: python-xlib: Please create a Python3 package
Martin Pitt
martin.pitt at ubuntu.com
Wed Sep 4 10:14:44 UTC 2013
Package: python-xlib
Version: 0.14+20091101-1
Tags: patch
Forwarded: http://sourceforge.net/p/python-xlib/patches/5/
User: ubuntu-devel at lists.ubuntu.com
Usertags: origin-ubuntu ubuntu-patch saucy
Hello,
We need python-xlib for Python 3 (for porting
https://launchpad.net/autopilot to Py3, in case you wonder).
So I ported python-xlib to be compatible with both python >= 2.7 and
python3, and sent the patch upstream
(http://sourceforge.net/p/python-xlib/patches/5/)
I ran all automatic tests, all examples, and the autopilot test suite
against the ported package, it all works fine now. If there is any
regression not detected by those, I'm of course happy to fix it.
This debdiff contains the patch, plus the corresponding packaging
changes, moving from the long-deprecated pysupport to dh_python{2,3}.
It also fixes some other bugs like broken cleaning (#671157), and the
too heavyweight build dependency of texlive.
I didn't touch the other obsolete packaging bits (quilt → 3.0 (quilt)
source, standards-version, moving to dh9 and pybuild, etc.).
Thanks for considering,
Martin
--
Martin Pitt | http://www.piware.de
Ubuntu Developer (www.ubuntu.com) | Debian Developer (www.debian.org)
-------------- next part --------------
reverted:
--- python-xlib-0.14+20091101/debian/pycompat
+++ python-xlib-0.14+20091101.orig/debian/pycompat
@@ -1 +0,0 @@
-2
diff -u python-xlib-0.14+20091101/debian/changelog python-xlib-0.14+20091101/debian/changelog
--- python-xlib-0.14+20091101/debian/changelog
+++ python-xlib-0.14+20091101/debian/changelog
@@ -1,3 +1,16 @@
+python-xlib (0.14+20091101-2) UNRELEASED; urgency=low
+
+ * Drop obsolete python-support, move to dh_python2.
+ * Reduce texlive build dependency to texlive-latex-base, which is much less
+ heavyweight.
+ * Add debian/patches/python3: Port code to work with Python 3.
+ (http://sourceforge.net/p/python-xlib/patches/5)
+ * Build a python3-xlib package.
+ * debian/rules: Add missing dh_clean for clean target. (Closes: #671157)
+ * debian/rules: Clean doc/ directory, too.
+
+ -- Martin Pitt <martin.pitt at ubuntu.com> Wed, 28 Aug 2013 12:43:02 +0200
+
python-xlib (0.14+20091101-1) unstable; urgency=low
[ Mike O'Connor ]
reverted:
--- python-xlib-0.14+20091101/debian/examples
+++ python-xlib-0.14+20091101.orig/debian/examples
@@ -1 +0,0 @@
-examples/*.py
diff -u python-xlib-0.14+20091101/debian/rules python-xlib-0.14+20091101/debian/rules
--- python-xlib-0.14+20091101/debian/rules
+++ python-xlib-0.14+20091101/debian/rules
@@ -10,12 +10,13 @@
include /usr/share/quilt/quilt.make
PYVERS:=$(shell pyversions -r)
+PY3VERS:=$(shell py3versions -r)
build: build-stamp
build-stamp: patch
dh_testdir
set -e; \
- for py in $(PYVERS); do \
+ for py in $(PYVERS) $(PY3VERS); do \
$$py setup.py build; \
done
make -C doc
@@ -24,13 +25,14 @@
clean: unpatch
dh_testdir
dh_testroot
- -for py in $(PYVERS); do \
+ dh_clean
+ -for py in $(PYVERS) $(PY3VERS); do \
$$py setup.py clean; \
done
rm -f install-stamp build-stamp
find Xlib -name \*.pyc | xargs rm -f
rm -rf build
- make -C doc/info clean
+ make -C doc clean
install: install-stamp
install-stamp:
@@ -42,8 +44,13 @@
for py in $(PYVERS); do \
$$py setup.py install --root=debian/python-xlib; \
done
+ for py in $(PY3VERS); do \
+ $$py setup.py install --root=debian/python3-xlib; \
+ done
dh_installdocs -A
- dh_installexamples
+ dh_installexamples -A examples/*.py
+ # adjust python3 examples hashbang
+ sed -i '1 s/python$$/python3/' debian/python3-xlib/usr/share/doc/*/examples/*.py
dh_installinfo doc/info/*.info
touch install-stamp
@@ -57,7 +64,8 @@
dh_installchangelogs NEWS
dh_compress -X.py
dh_fixperms
- dh_pysupport
+ dh_python2
+ dh_python3
dh_installdeb
dh_gencontrol
dh_md5sums
diff -u python-xlib-0.14+20091101/debian/control python-xlib-0.14+20091101/debian/control
--- python-xlib-0.14+20091101/debian/control
+++ python-xlib-0.14+20091101/debian/control
@@ -6,18 +6,27 @@
-Build-Depends: debhelper (>= 5.0.37.2), python-all-dev (>= 2.3.5-11), quilt
-Build-Depends-Indep: python-support (>= 0.3), texlive, texinfo
+Build-Depends: debhelper (>= 5.0.37.2), python-all (>= 2.3.5-11), python3-all, quilt
+Build-Depends-Indep: texlive-latex-base, texinfo
Standards-Version: 3.8.3
Homepage: http://python-xlib.sourceforge.net/
Vcs-Svn: svn://svn.debian.org/python-modules/packages/python-xlib/trunk/
Vcs-Browser: http://svn.debian.org/viewsvn/python-modules/packages/python-xlib/trunk/
+X-Python-Version: >= 2.5
+X-Python3-Version: >= 3.1
Package: python-xlib
Architecture: all
Depends: ${python:Depends}, ${misc:Depends}, dpkg (>= 1.15.4) | install-info
Replaces: python2.3-xlib (<< 0.12-5.1), python2.4-xlib (<< 0.12-5.1), python-xlib-doc
Conflicts: python2.3-xlib (<< 0.12-5.1), python2.4-xlib (<< 0.12-5.1), python-xlib-doc
-XB-Python-Version: ${python:Versions}
Description: Interface for Python to the X11 Protocol
python-xlib is a 100% pure Python implementation of the X11
protocol. It currently implements client-side X11R6 fully, supports
the resource database, ICCM, and the Shape extension.
+Package: python3-xlib
+Architecture: all
+Depends: ${python3:Depends}, ${misc:Depends}, dpkg (>= 1.15.4) | install-info
+Description: Interface for Python 3 to the X11 Protocol
+ python-xlib is a 100% pure Python 3 implementation of the X11
+ protocol. It currently implements client-side X11R6 fully, supports
+ the resource database, ICCM, and the Shape extension.
+
diff -u python-xlib-0.14+20091101/debian/patches/series python-xlib-0.14+20091101/debian/patches/series
--- python-xlib-0.14+20091101/debian/patches/series
+++ python-xlib-0.14+20091101/debian/patches/series
@@ -5,0 +6 @@
+python3
only in patch2:
unchanged:
--- python-xlib-0.14+20091101.orig/debian/patches/python3
+++ python-xlib-0.14+20091101/debian/patches/python3
@@ -0,0 +1,10600 @@
+Description: Port code to work with Python 3
+Author: Martin Pitt <martin.pitt at ubuntu.com>
+Forwarded: http://sourceforge.net/p/python-xlib/patches/5/
+
+Index: python-xlib-0.14+20091101/Xlib/protocol/display.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/Xlib/protocol/display.py 2013-09-04 08:58:21.770241489 +0200
++++ python-xlib-0.14+20091101/Xlib/protocol/display.py 2013-09-04 08:58:21.742241488 +0200
+@@ -31,8 +31,17 @@
+ from Xlib.support import lock, connect
+
+ # Xlib.protocol modules
+-import rq
+-import event
++from Xlib.protocol import rq, event
++
++# in Python 3, bytes are an actual array; in python 2, bytes are still
++# string-like, so in order to get an array element we need to call ord()
++if sys.version[0] >= '3':
++ def _bytes_item(x):
++ return x
++else:
++ def _bytes_item(x):
++ return ord(x)
++
+
+ class Display:
+ resource_classes = {}
+@@ -83,8 +92,8 @@
+ # Data used by the send-and-recieve loop
+ self.sent_requests = []
+ self.request_length = 0
+- self.data_send = ''
+- self.data_recv = ''
++ self.data_send = b''
++ self.data_recv = b''
+ self.data_sent_bytes = 0
+
+ # Resource ID structures
+@@ -227,7 +236,7 @@
+ self.resource_id_lock.acquire()
+ try:
+ i = self.last_resource_id
+- while self.resource_ids.has_key(i):
++ while i in self.resource_ids:
+ i = i + 1
+ if i > self.info.resource_id_mask:
+ i = 0
+@@ -503,7 +512,7 @@
+
+ # Ignore errors caused by a signal recieved while blocking.
+ # All other errors are re-raised.
+- except select.error, err:
++ except select.error as err:
+ if err[0] != errno.EINTR:
+ raise err
+
+@@ -518,7 +527,7 @@
+ if ws:
+ try:
+ i = self.socket.send(self.data_send)
+- except socket.error, err:
++ except socket.error as err:
+ self.close_internal('server: %s' % err[1])
+ raise self.socket_error
+
+@@ -534,7 +543,7 @@
+ if recieving:
+ try:
+ bytes_recv = self.socket.recv(4096)
+- except socket.error, err:
++ except socket.error as err:
+ self.close_internal('server: %s' % err[1])
+ raise self.socket_error
+
+@@ -640,7 +649,7 @@
+ return gotreq
+
+ # Check the first byte to find out what kind of response it is
+- rtype = ord(self.data_recv[0])
++ rtype = _bytes_item(self.data_recv[0])
+
+ # Error resposne
+ if rtype == 0:
+@@ -660,13 +669,13 @@
+
+ def parse_error_response(self, request):
+ # Code is second byte
+- code = ord(self.data_recv[1])
++ code = _bytes_item(self.data_recv[1])
+
+ # Fetch error class
+ estruct = self.error_classes.get(code, error.XError)
+
+ e = estruct(self, self.data_recv[:32])
+- self.data_recv = buffer(self.data_recv, 32)
++ self.data_recv = self.data_recv[32:]
+
+ # print 'recv Error:', e
+
+@@ -720,7 +729,7 @@
+ req._parse_response(self.data_recv[:self.request_length])
+ # print 'recv Request:', req
+
+- self.data_recv = buffer(self.data_recv, self.request_length)
++ self.data_recv = self.data_recv[self.request_length:]
+ self.request_length = 0
+
+
+@@ -745,7 +754,7 @@
+
+ e = estruct(display = self, binarydata = self.data_recv[:32])
+
+- self.data_recv = buffer(self.data_recv, 32)
++ self.data_recv = self.data_recv[32:]
+
+ # Drop all requests having an error handler,
+ # but which obviously succeded.
+@@ -967,7 +976,7 @@
+
+
+ def __init__(self, display, *args, **keys):
+- self._binary = apply(self._request.to_binary, args, keys)
++ self._binary = self._request.to_binary(*args, **keys)
+ self._data = None
+
+ # Don't bother about locking, since no other threads have
+Index: python-xlib-0.14+20091101/Xlib/protocol/rq.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/Xlib/protocol/rq.py 2013-09-04 08:58:21.770241489 +0200
++++ python-xlib-0.14+20091101/Xlib/protocol/rq.py 2013-09-04 08:58:21.746241488 +0200
+@@ -16,21 +16,31 @@
+ # along with this program; if not, write to the Free Software
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
++import types
+
+ # Standard modules
+ import sys
+ import traceback
+ import struct
+-import string
+ from array import array
+ import types
+-import new
+
+ # Xlib modules
+ from Xlib import X
+ from Xlib.support import lock
+
+
++_PY3 = sys.version[0] >= '3'
++
++# in Python 3, bytes are an actual array; in python 2, bytes are still
++# string-like, so in order to get an array element we need to call ord()
++if _PY3:
++ def _bytes_item(x):
++ return x
++else:
++ def _bytes_item(x):
++ return ord(x)
++
+ class BadDataError(Exception): pass
+
+ # These are struct codes, we know their byte sizes
+@@ -52,10 +62,10 @@
+ for c in 'bhil':
+ size = array(c).itemsize
+
+- array_unsigned_codes[size] = string.upper(c)
++ array_unsigned_codes[size] = c.upper()
+ try:
+ struct_to_array_codes[signed_codes[size]] = c
+- struct_to_array_codes[unsigned_codes[size]] = string.upper(c)
++ struct_to_array_codes[unsigned_codes[size]] = c.upper()
+ except KeyError:
+ pass
+
+@@ -135,7 +145,7 @@
+ class Pad(Field):
+ def __init__(self, size):
+ self.size = size
+- self.value = '\0' * size
++ self.value = b'\0' * size
+ self.structcode = '%dx' % size
+ self.structvalues = 0
+
+@@ -190,14 +200,14 @@
+ structvalues = 1
+
+ def calc_length(self, length):
+- return length / 4
++ return length // 4
+
+ class ReplyLength(TotalLengthField):
+ structcode = 'L'
+ structvalues = 1
+
+ def calc_length(self, length):
+- return (length - 32) / 4
++ return (length - 32) // 4
+
+
+ class LengthOf(LengthField):
+@@ -280,9 +290,9 @@
+ self.codes = codes
+
+ def check_value(self, value):
+- if type(value) is types.InstanceType:
++ try:
+ return getattr(value, self.cast_function)()
+- else:
++ except AttributeError:
+ return value
+
+ def parse_value(self, value, display):
+@@ -380,21 +390,32 @@
+ def pack_value(self, val):
+ slen = len(val)
+
++ if _PY3 and type(val) is str:
++ val = val.encode('UTF-8')
++
+ if self.pad:
+- return val + '\0' * ((4 - slen % 4) % 4), slen, None
++ return val + b'\0' * ((4 - slen % 4) % 4), slen, None
+ else:
+ return val, slen, None
+
+ def parse_binary_value(self, data, display, length, format):
+ if length is None:
+- return str(data), ''
++ try:
++ return data.decode('UTF-8'), b''
++ except UnicodeDecodeError:
++ return data, b''
+
+ if self.pad:
+ slen = length + ((4 - length % 4) % 4)
+ else:
+ slen = length
+
+- return str(data[:length]), buffer(data, slen)
++ s = data[:length]
++ try:
++ s = s.decode('UTF-8')
++ except UnicodeDecodeError:
++ pass # return as bytes
++ return s, data[slen:]
+
+
+ class String16(ValueField):
+@@ -406,30 +427,30 @@
+
+ def pack_value(self, val):
+ # Convert 8-byte string into 16-byte list
+- if type(val) is types.StringType:
+- val = map(lambda c: ord(c), val)
++ if type(val) is str:
++ val = list(map(lambda c: ord(c), val))
+
+ slen = len(val)
+
+ if self.pad:
+- pad = '\0\0' * (slen % 2)
++ pad = b'\0\0' * (slen % 2)
+ else:
+- pad = ''
++ pad = b''
+
+- return apply(struct.pack, ('>' + 'H' * slen, ) + tuple(val)) + pad, slen, None
++ return struct.pack(*('>' + 'H' * slen, ) + tuple(val)) + pad, slen, None
+
+ def parse_binary_value(self, data, display, length, format):
+ if length == 'odd':
+- length = len(data) / 2 - 1
++ length = len(data) // 2 - 1
+ elif length == 'even':
+- length = len(data) / 2
++ length = len(data) // 2
+
+ if self.pad:
+ slen = length + (length % 2)
+ else:
+ slen = length
+
+- return struct.unpack('>' + 'H' * length, data[:length * 2]), buffer(data, slen * 2)
++ return struct.unpack('>' + 'H' * length, data[:length * 2]), data[slen * 2:]
+
+
+
+@@ -473,7 +494,7 @@
+
+ pos = pos + slen
+
+- data = buffer(data, pos)
++ data = data[pos:]
+
+ else:
+ ret = [None] * int(length)
+@@ -498,10 +519,10 @@
+
+ pos = pos + slen
+
+- data = buffer(data, pos)
++ data = data[pos:]
+
+ if self.pad:
+- data = buffer(data, len(data) % 4)
++ data = data[len(data) % 4:]
+
+ return ret, data
+
+@@ -515,11 +536,11 @@
+ for v in val:
+ data.append(self.type.pack_value(v))
+
+- data = string.join(data, '')
++ data = b''.join(data)
+
+ if self.pad:
+ dlen = len(data)
+- data = data + '\0' * ((4 - dlen % 4) % 4)
++ data = data + b'\0' * ((4 - dlen % 4) % 4)
+
+ return data, len(val), None
+
+@@ -562,7 +583,7 @@
+ if self.type.parse_value is not None:
+ v = self.type.parse_value(v, display)
+
+- return v, buffer(data, slen)
++ return v, data[slen:]
+
+ def parse_value(self, val, display):
+ if self.type.parse_value is None:
+@@ -581,10 +602,10 @@
+ if self.type.structcode is None:
+ return val
+
+- if type(val) is types.TupleType:
++ if type(val) is tuple:
+ return val
+
+- if type(val) is types.DictType:
++ if type(val) is dict:
+ data = val
+ elif isinstance(val, DictWrapper):
+ data = val._data
+@@ -604,7 +625,7 @@
+
+ def parse_binary_value(self, data, display, length, format):
+ if length is None:
+- length = len(data) / (format / 8)
++ length = len(data) // (format // 8)
+ else:
+ length = int(length)
+
+@@ -612,16 +633,22 @@
+ ret = None
+
+ elif format == 8:
+- ret = (8, str(data[:length]))
+- data = buffer(data, length + ((4 - length % 4) % 4))
++ ret = (8, data[:length])
++ data = data[length + ((4 - length % 4) % 4):]
+
+ elif format == 16:
+- ret = (16, array(array_unsigned_codes[2], str(data[:2 * length])))
+- data = buffer(data, 2 * (length + length % 2))
++ ret = (16, array(array_unsigned_codes[2], data[:2 * length]))
++ data = data[2 * (length + length % 2):]
+
+ elif format == 32:
+- ret = (32, array(array_unsigned_codes[4], str(data[:4 * length])))
+- data = buffer(data, 4 * length)
++ ret = (32, array(array_unsigned_codes[4], data[:4 * length]))
++ data = data[4 * length:]
++
++ if type(ret[1]) is bytes:
++ try:
++ ret = (ret[0], ret[1].decode('UTF-8'))
++ except UnicodeDecodeError:
++ pass # return as bytes
+
+ return ret, data
+
+@@ -631,8 +658,11 @@
+ if fmt not in (8, 16, 32):
+ raise BadDataError('Invalid property data format %d' % fmt)
+
+- if type(val) is types.StringType:
+- size = fmt / 8
++ if _PY3 and type(val) is str:
++ val = val.encode('UTF-8')
++
++ if type(val) is bytes:
++ size = fmt // 8
+ vlen = len(val)
+ if vlen % size:
+ vlen = vlen - vlen % size
+@@ -640,18 +670,18 @@
+ else:
+ data = val
+
+- dlen = vlen / size
++ dlen = vlen // size
+
+ else:
+- if type(val) is types.TupleType:
++ if type(val) is tuple:
+ val = list(val)
+
+- size = fmt / 8
++ size = fmt // 8
+ data = array(array_unsigned_codes[size], val).tostring()
+ dlen = len(val)
+
+ dl = len(data)
+- data = data + '\0' * ((4 - dl % 4) % 4)
++ data = data + b'\0' * ((4 - dl % 4) % 4)
+
+ return data, dlen, fmt
+
+@@ -663,7 +693,7 @@
+
+ def parse_binary_value(self, data, display, length, format):
+ return PropertyData.parse_binary_value(self, data, display,
+- self.size / (format / 8), format)
++ self.size // (format // 8), format)
+
+ def pack_value(self, value):
+ data, dlen, fmt = PropertyData.pack_value(self, value)
+@@ -694,13 +724,13 @@
+
+ def pack_value(self, arg, keys):
+ mask = 0
+- data = ''
++ data = b''
+
+ if arg == self.default:
+ arg = keys
+
+ for field, flag in self.fields:
+- if arg.has_key(field.name):
++ if field.name in arg:
+ mask = mask | flag
+
+ val = arg[field.name]
+@@ -708,7 +738,7 @@
+ val = field.check_value(val)
+
+ d = struct.pack('=' + field.structcode, val)
+- data = data + d + '\0' * (4 - len(d))
++ data = data + d + b'\0' * (4 - len(d))
+
+ return struct.pack(self.maskcode, mask) + data, None, None
+
+@@ -716,7 +746,7 @@
+ r = {}
+
+ mask = int(struct.unpack(self.maskcode, data[:self.maskcodelen])[0])
+- data = buffer(data, self.maskcodelen)
++ data = data[self.maskcodelen:]
+
+ for field, flag in self.fields:
+ if mask & flag:
+@@ -733,7 +763,7 @@
+ vals, d = field.parse_binary_value(data[:4], display, None, None)
+
+ r[field.name] = vals
+- data = buffer(data, 4)
++ data = data[4:]
+
+ return DictWrapper(r), data
+
+@@ -747,13 +777,13 @@
+ else:
+ dlen = 4 * length * format
+
+- a = array(array_unsigned_codes[4], str(data[:dlen]))
++ a = array(array_unsigned_codes[4], data[:dlen])
+
+ ret = []
+ for i in range(0, len(a), format):
+ ret.append(a[i : i + format])
+
+- return ret, buffer(data, dlen)
++ return ret, data[dlen:]
+
+ def pack_value(self, value):
+ keycodes = 0
+@@ -775,13 +805,13 @@
+ structcode = None
+
+ def parse_binary_value(self, data, display, length, format):
+- a = array(array_unsigned_codes[1], str(data[:8 * format]))
++ a = array(array_unsigned_codes[1], data[:8 * format])
+
+ ret = []
+ for i in range(0, 8):
+ ret.append(a[i * format : (i + 1) * format])
+
+- return ret, buffer(data, 8 * format)
++ return ret, data[8 * format:]
+
+ def pack_value(self, value):
+ if len(value) != 8:
+@@ -811,11 +841,11 @@
+ return value._binary, None, None
+
+ def parse_binary_value(self, data, display, length, format):
+- import event
++ from Xlib.protocol import event
+
+- estruct = display.event_classes.get(ord(data[0]) & 0x7f, event.AnyEvent)
++ estruct = display.event_classes.get(_bytes_item(data[0]) & 0x7f, event.AnyEvent)
+
+- return estruct(display = display, binarydata = data[:32]), buffer(data, 32)
++ return estruct(display = display, binarydata = data[:32]), data[32:]
+
+
+ #
+@@ -856,11 +886,22 @@
+ structcode = None
+
+ def pack_value(self, val):
+- return chr(len(val)) + val
++ if type(val) is not bytes:
++ val = val.encode('UTF-8')
++ if _PY3:
++ val = bytes([len(val)]) + val
++ else:
++ val = chr(len(val)) + val
++ return val
+
+ def parse_binary(self, data, display):
+- slen = ord(data[0]) + 1
+- return data[1:slen], buffer(data, slen)
++ slen = _bytes_item(data[0]) + 1
++ s = data[1:slen]
++ try:
++ s = s.decode('UTF-8')
++ except UnicodeDecodeError:
++ pass # return as bytes
++ return s, data[slen:]
+
+ Str = StrClass()
+
+@@ -979,6 +1020,7 @@
+ # static fields. First argument is the structcode, the
+ # remaining are values.
+
++
+ pack_args = ['"%s"' % self.static_codes]
+
+ i = 0
+@@ -1028,9 +1070,9 @@
+
+ if f.check_value is not None:
+ code = code + (' %s = self.static_fields[%d].check_value(%s)\n'
+- % (string.join(a, ', '), i, f.name))
++ % (', '.join(a), i, f.name))
+ else:
+- code = code + ' %s = %s\n' % (string.join(a, ', '), f.name)
++ code = code + ' %s = %s\n' % (', '.join(a), f.name)
+
+ pack_args = pack_args + a
+
+@@ -1043,14 +1085,13 @@
+
+ i = i + 1
+
+-
+ # Construct call to struct.pack
+- pack = 'struct.pack(%s)' % string.join(pack_args, ', ')
++ pack = 'struct.pack(%s)' % ', '.join(pack_args)
+
+ # If there are any varfields, we append the packed strings to build
+ # the resulting binary value
+ if self.var_fields:
+- code = code + ' return %s + %s\n' % (pack, string.join(joins, ' + '))
++ code = code + ' return %s + %s\n' % (pack, ' + '.join(joins))
+
+ # If there's only static fields, return the packed value
+ else:
+@@ -1070,7 +1111,7 @@
+ args.append('**_keyword_args')
+
+ # Add function header
+- code = 'def to_binary(self, %s):\n' % string.join(args, ', ') + code
++ code = 'def to_binary(self, %s):\n' % ', '.join(args) + code
+
+ # self._pack_code = code
+
+@@ -1088,11 +1129,12 @@
+ # memory leak isn't that serious. Besides, Python 2.0 has
+ # real garbage collect.
+
+- exec code
+- self.to_binary = new.instancemethod(to_binary, self, self.__class__)
++ g = globals().copy()
++ exec(code, g)
++ self.to_binary = types.MethodType(g['to_binary'], self)
+
+ # Finally call it manually
+- return apply(self.to_binary, varargs, keys)
++ return self.to_binary(*varargs, **keys)
+
+
+ def pack_value(self, value):
+@@ -1103,12 +1145,12 @@
+
+ """
+
+- if type(value) is types.TupleType:
+- return apply(self.to_binary, value, {})
+- elif type(value) is types.DictionaryType:
+- return apply(self.to_binary, (), value)
++ if type(value) is tuple:
++ return self.to_binary(*value, **{})
++ elif type(value) is dict:
++ return self.to_binary(*(), **value)
+ elif isinstance(value, DictWrapper):
+- return apply(self.to_binary, (), value._data)
++ return self.to_binary(*(), **value._data)
+ else:
+ raise BadDataError('%s is not a tuple or a list' % (value))
+
+@@ -1173,8 +1215,9 @@
+
+ # Finally, compile function as for to_binary.
+
+- exec code
+- self.parse_value = new.instancemethod(parse_value, self, self.__class__)
++ g = globals().copy()
++ exec(code, g)
++ self.parse_value = types.MethodType(g['parse_value'], self)
+
+ # Call it manually
+ return self.parse_value(val, display, rawdict)
+@@ -1249,7 +1292,7 @@
+ fno = fno + 1
+ vno = vno + f.structvalues
+
+- code = code + ' data = buffer(data, %d)\n' % self.static_size
++ code = code + ' data = data[%d:]\n' % self.static_size
+
+ # Call parse_binary_value for each var_field, passing the
+ # length and format values from the unpacked val.
+@@ -1273,8 +1316,9 @@
+
+ # Finally, compile function as for to_binary.
+
+- exec code
+- self.parse_binary = new.instancemethod(parse_binary, self, self.__class__)
++ g = globals().copy()
++ exec(code, g)
++ self.parse_binary = types.MethodType(g['parse_binary'], self)
+
+ # Call it manually
+ return self.parse_binary(data, display, rawdict)
+@@ -1286,46 +1330,49 @@
+ String8('string', pad = 0) )
+
+ def pack_value(self, value):
+- data = ''
++ data = b''
+ args = {}
+
+ for v in value:
+ # Let values be simple strings, meaning a delta of 0
+- if type(v) is types.StringType:
++ if _PY3 and type(v) is str:
++ v = v.encode('UTF-8')
++
++ if type(v) is bytes:
+ v = (0, v)
+
+ # A tuple, it should be (delta, string)
+ # Encode it as one or more textitems
+
+- if type(v) in (types.TupleType, types.DictType) or \
++ if type(v) in (tuple, dict) or \
+ isinstance(v, DictWrapper):
+
+- if type(v) is types.TupleType:
+- delta, str = v
++ if type(v) is tuple:
++ delta, s = v
+ else:
+ delta = v['delta']
+- str = v['string']
++ s = v['string']
+
+- while delta or str:
++ while delta or s:
+ args['delta'] = delta
+- args['string'] = str[:254]
++ args['string'] = s[:254]
+
+- data = data + apply(self.string_textitem.to_binary, (), args)
++ data = data + self.string_textitem.to_binary(*(), **args)
+
+ delta = 0
+- str = str[254:]
++ s = s[254:]
+
+ # Else an integer, i.e. a font change
+ else:
+ # Use fontable cast function if instance
+- if type(v) is types.InstanceType:
++ if hasattr(v, '__fontable__'):
+ v = v.__fontable__()
+
+ data = data + struct.pack('>BL', 255, v)
+
+ # Pad out to four byte length
+ dlen = len(data)
+- return data + '\0' * ((4 - dlen % 4) % 4), None, None
++ return data + b'\0' * ((4 - dlen % 4) % 4), None, None
+
+ def parse_binary_value(self, data, display, length, format):
+ values = []
+@@ -1334,20 +1381,20 @@
+ break
+
+ # font change
+- if ord(data[0]) == 255:
+- values.append(struct.unpack('>L', str(data[1:5]))[0])
+- data = buffer(data, 5)
++ if _bytes_item(data[0]) == 255:
++ values.append(struct.unpack('>L', data[1:5])[0])
++ data = data[5:]
+
+ # skip null strings
+- elif ord(data[0]) == 0 and ord(data[1]) == 0:
+- data = buffer(data, 2)
++ elif _bytes_item(data[0]) == 0 and _bytes_item(data[1]) == 0:
++ data = data[2:]
+
+ # string with delta
+ else:
+ v, data = self.string_textitem.parse_binary(data, display)
+ values.append(v)
+
+- return values, ''
++ return values, b''
+
+
+
+@@ -1358,7 +1405,7 @@
+
+
+
+-class GetAttrData:
++class GetAttrData(object):
+ def __getattr__(self, attr):
+ try:
+ if self._data:
+@@ -1393,17 +1440,19 @@
+ def __repr__(self):
+ return '%s(%s)' % (self.__class__, repr(self._data))
+
+- def __cmp__(self, other):
++ def __eq__(self, other):
+ if isinstance(other, DictWrapper):
+- return cmp(self._data, other._data)
++ return self._data == other._data
+ else:
+- return cmp(self._data, other)
++ return self._data == other
+
++ def __ne__(self, other):
++ return not self.__eq__(other)
+
+ class Request:
+ def __init__(self, display, onerror = None, *args, **keys):
+ self._errorhandler = onerror
+- self._binary = apply(self._request.to_binary, args, keys)
++ self._binary = self._request.to_binary(*args, **keys)
+ self._serial = None
+ display.send_request(self, onerror is not None)
+
+@@ -1416,7 +1465,7 @@
+ class ReplyRequest(GetAttrData):
+ def __init__(self, display, defer = 0, *args, **keys):
+ self._display = display
+- self._binary = apply(self._request.to_binary, args, keys)
++ self._binary = self._request.to_binary(*args, **keys)
+ self._serial = None
+ self._data = None
+ self._error = None
+@@ -1478,7 +1527,7 @@
+
+ keys['sequence_number'] = 0
+
+- self._binary = apply(self._fields.to_binary, (), keys)
++ self._binary = self._fields.to_binary(*(), **keys)
+
+ keys['send_event'] = 0
+ self._data = keys
+@@ -1492,16 +1541,15 @@
+ val = val | 0x80
+ kwlist.append('%s = %s' % (kw, repr(val)))
+
+- kws = string.join(kwlist, ', ')
++ kws = ', '.join(kwlist)
+ return '%s(%s)' % (self.__class__, kws)
+
+- def __cmp__(self, other):
++ def __eq__(self, other):
+ if isinstance(other, Event):
+- return cmp(self._data, other._data)
++ return self._data == other._data
+ else:
+ return cmp(self._data, other)
+
+-
+ def call_error_handler(handler, error, request):
+ try:
+ return handler(error, request)
+Index: python-xlib-0.14+20091101/Xlib/rdb.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/Xlib/rdb.py 2013-09-04 08:58:21.770241489 +0200
++++ python-xlib-0.14+20091101/Xlib/rdb.py 2013-09-04 08:58:21.746241488 +0200
+@@ -22,13 +22,12 @@
+
+
+ # Standard modules
+-import string
+-import types
+ import re
+ import sys
++import functools
+
+ # Xlib modules
+-from support import lock
++from Xlib.support import lock
+
+ # Set up a few regexpes for parsing string representation of resources
+
+@@ -69,7 +68,7 @@
+
+ """
+
+- if type(file) is types.StringType:
++ if type(file) is str:
+ file = open(file, 'r')
+
+ self.insert_string(file.read())
+@@ -84,7 +83,7 @@
+ """
+
+ # First split string into lines
+- lines = string.split(data, '\n')
++ lines = data.split('\n')
+
+ while lines:
+ line = lines[0]
+@@ -122,15 +121,15 @@
+ for i in range(1, len(splits), 2):
+ s = splits[i]
+ if len(s) == 3:
+- splits[i] = chr(string.atoi(s, 8))
++ splits[i] = chr(int(s, 8))
+ elif s == 'n':
+ splits[i] = '\n'
+
+ # strip the last value part to get rid of any
+ # unescaped blanks
+- splits[-1] = string.rstrip(splits[-1])
++ splits[-1] = splits[-1].rstrip()
+
+- value = string.join(splits, '')
++ value = ''.join(splits)
+
+ self.insert(res, value)
+
+@@ -172,7 +171,7 @@
+ for i in range(1, len(parts), 2):
+
+ # Create a new mapping/value group
+- if not db.has_key(parts[i - 1]):
++ if parts[i - 1] not in db:
+ db[parts[i - 1]] = ({}, {})
+
+ # Use second mapping if a loose binding, first otherwise
+@@ -182,24 +181,25 @@
+ db = db[parts[i - 1]][0]
+
+ # Insert value into the derived db
+- if db.has_key(parts[-1]):
++ if parts[-1] in db:
+ db[parts[-1]] = db[parts[-1]][:2] + (value, )
+ else:
+ db[parts[-1]] = ({}, {}, value)
+
+ self.lock.release()
+
+- def __getitem__(self, (name, cls)):
++ def __getitem__(self, nc):
+ """db[name, class]
+
+ Return the value matching the resource identified by NAME and
+ CLASS. If no match is found, KeyError is raised.
+ """
++ name, cls = nc
+
+ # Split name and class into their parts
+
+- namep = string.split(name, '.')
+- clsp = string.split(cls, '.')
++ namep = name.split('.')
++ clsp = cls.split('.')
+
+ # It is an error for name and class to have different number
+ # of parts
+@@ -218,13 +218,13 @@
+
+ # Precedence order: name -> class -> ?
+
+- if self.db.has_key(namep[0]):
++ if namep[0] in self.db:
+ bin_insert(matches, _Match((NAME_MATCH, ), self.db[namep[0]]))
+
+- if self.db.has_key(clsp[0]):
++ if clsp[0] in self.db:
+ bin_insert(matches, _Match((CLASS_MATCH, ), self.db[clsp[0]]))
+
+- if self.db.has_key('?'):
++ if '?' in self.db:
+ bin_insert(matches, _Match((WILD_MATCH, ), self.db['?']))
+
+
+@@ -240,7 +240,7 @@
+
+ # Special case for resources which begins with a loose
+ # binding, e.g. '*foo.bar'
+- if self.db.has_key(''):
++ if '' in self.db:
+ bin_insert(matches, _Match((), self.db[''][1]))
+
+
+@@ -376,11 +376,12 @@
+ return argv
+
+
++ at functools.total_ordering
+ class _Match:
+ def __init__(self, path, dbs):
+ self.path = path
+
+- if type(dbs) is types.TupleType:
++ if type(dbs) is tuple:
+ self.skip = 0
+ self.group = dbs
+
+@@ -388,22 +389,25 @@
+ self.skip = 1
+ self.db = dbs
+
+- def __cmp__(self, other):
+- return cmp(self.path, other.path)
++ def __eq__(self, other):
++ return self.path == other.path
++
++ def __lt__(self, other):
++ return self.path < other.path
+
+ def match_length(self):
+ return len(self.path)
+
+ def match(self, part, score):
+ if self.skip:
+- if self.db.has_key(part):
++ if part in self.db:
+ return _Match(self.path + (score, ), self.db[part])
+ else:
+ return None
+ else:
+- if self.group[0].has_key(part):
++ if part in self.group[0]:
+ return _Match(self.path + (score, ), self.group[0][part])
+- elif self.group[1].has_key(part):
++ elif part in self.group[1]:
+ return _Match(self.path + (score + 1, ), self.group[1][part])
+ else:
+ return None
+@@ -460,7 +464,7 @@
+ upper = len(list) - 1
+
+ while lower <= upper:
+- center = (lower + upper) / 2
++ center = (lower + upper) // 2
+ if element < list[center]:
+ upper = center - 1
+ elif element > list[center]:
+@@ -482,7 +486,7 @@
+ for comp, group in src.items():
+
+ # DEST already contains this component, update it
+- if dest.has_key(comp):
++ if comp in dest:
+
+ # Update tight and loose binding databases
+ update_db(dest[comp][0], group[0])
+@@ -536,7 +540,7 @@
+ ('\000', '\\000'),
+ ('\n', '\\n')):
+
+- value = string.replace(value, char, esc)
++ value = value.replace(char, esc)
+
+ # If first or last character is space or tab, escape them.
+ if value[0] in ' \t':
+Index: python-xlib-0.14+20091101/Xlib/support/unix_connect.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/Xlib/support/unix_connect.py 2013-09-04 08:58:21.770241489 +0200
++++ python-xlib-0.14+20091101/Xlib/support/unix_connect.py 2013-09-04 08:58:21.746241488 +0200
+@@ -17,7 +17,6 @@
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ import re
+-import string
+ import os
+ import platform
+ import socket
+@@ -88,7 +87,7 @@
+ else:
+ s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
+ s.connect('/tmp/.X11-unix/X%d' % dno)
+- except socket.error, val:
++ except socket.error as val:
+ raise error.DisplayConnectionError(dname, str(val))
+
+ # Make sure that the connection isn't inherited in child processes
+@@ -108,8 +107,8 @@
+
+ # Convert the prettyprinted IP number into 4-octet string.
+ # Sometimes these modules are too damn smart...
+- octets = string.split(sock.getpeername()[0], '.')
+- addr = string.join(map(lambda x: chr(int(x)), octets), '')
++ octets = sock.getpeername()[0].split('.')
++ addr = ''.join(map(lambda x: chr(int(x)), octets))
+ else:
+ family = xauth.FamilyLocal
+ addr = socket.gethostname()
+@@ -145,9 +144,9 @@
+ # DISPLAY SCHEME COOKIE
+ # We're interested in the two last parts for the
+ # connection establishment
+- lines = string.split(data, '\n')
++ lines = data.split('\n')
+ if len(lines) >= 1:
+- parts = string.split(lines[0], None, 2)
++ parts = lines[0].split(None, 2)
+ if len(parts) == 3:
+ auth_name = parts[1]
+ hexauth = parts[2]
+@@ -155,7 +154,7 @@
+
+ # Translate hexcode into binary
+ for i in range(0, len(hexauth), 2):
+- auth = auth + chr(string.atoi(hexauth[i:i+2], 16))
++ auth = auth + chr(int(hexauth[i:i+2], 16))
+
+ auth_data = auth
+ except os.error:
+@@ -167,7 +166,7 @@
+ # There might be more ways to spell 127.0.0.1 but
+ # 'localhost', yet this code fixes a the case of
+ # OpenSSH tunneling X.
+- return get_auth('unix:%d' % dno, 'unix', dno)
++ return get_auth('unix:%d' % dno, 'unix', dno)
+
+ return auth_name, auth_data
+
+Index: python-xlib-0.14+20091101/Xlib/support/vms_connect.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/Xlib/support/vms_connect.py 2013-09-04 08:58:21.770241489 +0200
++++ python-xlib-0.14+20091101/Xlib/support/vms_connect.py 2013-09-04 08:58:21.746241488 +0200
+@@ -60,7 +60,7 @@
+ s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ s.connect((host, 6000 + dno))
+
+- except socket.error, val:
++ except socket.error as val:
+ raise error.DisplayConnectionError(dname, str(val))
+
+ return s
+Index: python-xlib-0.14+20091101/Xlib/xauth.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/Xlib/xauth.py 2013-09-04 08:58:21.770241489 +0200
++++ python-xlib-0.14+20091101/Xlib/xauth.py 2013-09-04 08:58:21.746241488 +0200
+@@ -40,7 +40,7 @@
+
+ try:
+ raw = open(filename, 'rb').read()
+- except IOError, err:
++ except IOError as err:
+ raise error.XauthError('~/.Xauthority: %s' % err)
+
+ self.entries = []
+@@ -82,12 +82,12 @@
+ break
+
+ self.entries.append((family, addr, num, name, data))
+- except struct.error, e:
+- print "Xlib.xauth: warning, failed to parse part of xauthority file (%s), aborting all further parsing" % filename
++ except struct.error as e:
++ print ("Xlib.xauth: warning, failed to parse part of xauthority file (%s), aborting all further parsing" % filename)
+ #pass
+
+ if len(self.entries) == 0:
+- print "Xlib.xauth: warning, no xauthority details available"
++ print ("Xlib.xauth: warning, no xauthority details available")
+ # raise an error? this should get partially caught by the XNoAuthError in get_best_auth..
+
+ def __len__(self):
+Index: python-xlib-0.14+20091101/Xlib/xobject/cursor.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/Xlib/xobject/cursor.py 2013-09-04 08:58:21.770241489 +0200
++++ python-xlib-0.14+20091101/Xlib/xobject/cursor.py 2013-09-04 08:58:21.750241488 +0200
+@@ -17,8 +17,7 @@
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ from Xlib.protocol import request
+-
+-import resource
++from Xlib.xobject import resource
+
+ class Cursor(resource.Resource):
+ __cursor__ = resource.Resource.__resource__
+@@ -29,9 +28,9 @@
+ cursor = self.id)
+ self.display.free_resource_id(self.id)
+
+- def recolor(self, (fore_red, fore_green, fore_blue),
+- (back_red, back_green, back_blue), onerror = None):
+-
++ def recolor(self, f_rgb, b_rgb, onerror = None):
++ back_red, back_green, back_blue = b_rgb
++ fore_red, fore_green, fore_blue = f_rgb
+ request.RecolorCursor(display = self.display,
+ onerror = onerror,
+ cursor = self.id,
+Index: python-xlib-0.14+20091101/Xlib/xobject/drawable.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/Xlib/xobject/drawable.py 2013-09-04 08:58:21.770241489 +0200
++++ python-xlib-0.14+20091101/Xlib/xobject/drawable.py 2013-09-04 08:58:21.750241488 +0200
+@@ -16,19 +16,12 @@
+ # along with this program; if not, write to the Free Software
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+-import string
+
+ from Xlib import X, Xatom, Xutil
+ from Xlib.protocol import request, rq
+
+ # Other X resource objects
+-import resource
+-import colormap
+-import cursor
+-import fontable
+-
+-# Inter-client communication conventions
+-import icccm
++from Xlib.xobject import resource, colormap, cursor, fontable, icccm
+
+ class Drawable(resource.Resource):
+ __drawable__ = resource.Resource.__resource__
+@@ -231,11 +224,11 @@
+ unit = self.display.info.bitmap_format_scanline_unit
+ stride = roundup(width * unit, pad) >> 3
+ else:
+- raise ValueError, 'Unknown data format'
++ raise ValueError('Unknown data format')
+
+ maxlen = (self.display.info.max_request_length << 2) \
+ - request.PutImage._request.static_size
+- split = maxlen / stride
++ split = maxlen // stride
+
+ x1 = 0
+ x2 = width
+@@ -461,7 +454,7 @@
+ val = prop.value
+ if prop.bytes_after:
+ prop = self.get_property(property, type, sizehint,
+- prop.bytes_after / 4 + 1)
++ prop.bytes_after // 4) + 1
+ val = val + prop.value
+
+ prop.value = val
+@@ -668,7 +661,7 @@
+ if d is None or d.format != 8:
+ return None
+ else:
+- parts = string.split(d.value, '\0')
++ parts = d.value.split('\0')
+ if len(parts) < 2:
+ return None
+ else:
+@@ -765,7 +758,7 @@
+ # Returns a DictWrapper, or None
+
+ def _get_struct_prop(self, pname, ptype, pstruct):
+- r = self.get_property(pname, ptype, 0, pstruct.static_size / 4)
++ r = self.get_property(pname, ptype, 0, pstruct.static_size // 4)
+ if r and r.format == 32:
+ value = r.value.tostring()
+ if len(value) == pstruct.static_size:
+@@ -784,7 +777,7 @@
+ else:
+ keys.update(hints)
+
+- value = apply(pstruct.to_binary, (), keys)
++ value = pstruct.to_binary(*(), **keys)
+
+ self.change_property(pname, ptype, 32, value, onerror = onerror)
+
+@@ -800,9 +793,10 @@
+ self.display.free_resource_id(self.id)
+
+ def create_cursor(self, mask,
+- (fore_red, fore_green, fore_blue),
+- (back_red, back_green, back_blue),
++ f_rgb, b_rgb,
+ x, y):
++ fore_red, fore_green, fore_blue = f_rgb
++ back_red, back_green, back_blue = b_rgb
+ cid = self.display.allocate_resource_id()
+ request.CreateCursor(display = self.display,
+ cid = cid,
+Index: python-xlib-0.14+20091101/Xlib/xobject/fontable.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/Xlib/xobject/fontable.py 2013-09-04 08:58:21.770241489 +0200
++++ python-xlib-0.14+20091101/Xlib/xobject/fontable.py 2013-09-04 08:58:21.750241488 +0200
+@@ -17,9 +17,7 @@
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ from Xlib.protocol import request
+-
+-import resource
+-import cursor
++from Xlib.xobject import resource, cursor
+
+ class Fontable(resource.Resource):
+ __fontable__ = resource.Resource.__resource__
+@@ -85,8 +83,9 @@
+ self.display.free_resource_id(self.id)
+
+ def create_glyph_cursor(self, mask, source_char, mask_char,
+- (fore_red, fore_green, fore_blue),
+- (back_red, back_green, back_blue)):
++ f_rgb, b_rgb):
++ fore_red, fore_green, fore_blue = f_rgb
++ back_red, back_green, back_blue = b_rgb
+
+ cid = self.display.allocate_resource_id()
+ request.CreateGlyphCursor(display = self.display,
+Index: python-xlib-0.14+20091101/examples/childwin.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/examples/childwin.py 2013-09-04 08:58:21.770241489 +0200
++++ python-xlib-0.14+20091101/examples/childwin.py 2013-09-04 08:58:21.750241488 +0200
+@@ -54,10 +54,10 @@
+
+ bggc.change(foreground=self.screen.white_pixel)
+
+- bgpm.arc(bggc, -bgsize / 2, 0, bgsize, bgsize, 0, 360 * 64)
+- bgpm.arc(bggc, bgsize / 2, 0, bgsize, bgsize, 0, 360 * 64)
+- bgpm.arc(bggc, 0, -bgsize / 2, bgsize, bgsize, 0, 360 * 64)
+- bgpm.arc(bggc, 0, bgsize / 2, bgsize, bgsize, 0, 360 * 64)
++ bgpm.arc(bggc, -bgsize // 2, 0, bgsize, bgsize, 0, 360 * 64)
++ bgpm.arc(bggc, bgsize // 2, 0, bgsize, bgsize, 0, 360 * 64)
++ bgpm.arc(bggc, 0, -bgsize // 2, bgsize, bgsize, 0, 360 * 64)
++ bgpm.arc(bggc, 0, bgsize // 2, bgsize, bgsize, 0, 360 * 64)
+
+ # Actual window
+ self.window = self.screen.root.create_window(
+@@ -127,10 +127,10 @@
+ # Button released, add or subtract
+ elif e.type == X.ButtonRelease:
+ if e.detail == 1:
+- print "Moving child window."
++ print("Moving child window.")
+ self.childWindow.configure(
+- x=e.event_x - self.childWidth / 2,
+- y=e.event_y - self.childHeight / 2
++ x=e.event_x - self.childWidth // 2,
++ y=e.event_y - self.childHeight // 2
+ )
+ self.d.flush()
+
+Index: python-xlib-0.14+20091101/examples/profilex.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/examples/profilex.py 2013-09-04 08:58:21.770241489 +0200
++++ python-xlib-0.14+20091101/examples/profilex.py 2013-09-04 08:58:21.750241488 +0200
+@@ -18,9 +18,9 @@
+ r = d.screen().root
+ cm = d.screen().default_colormap
+
+- for i in xrange(0, 1000):
++ for i in range(0, 1000):
+ if i % 50 == 0:
+- print 'Iteration', i
++ print('Iteration %i' % i)
+
+ r.delete_property(Xatom.WM_NORMAL_HINTS)
+ r.delete_property(Xatom.WM_NORMAL_HINTS)
+@@ -39,4 +39,4 @@
+ if len(sys.argv) == 2:
+ main(sys.argv[1])
+ else:
+- print sys.argv[0], "<filename to write profile output to>"
++ print(sys.argv[0] + " <filename to write profile output to>")
+Index: python-xlib-0.14+20091101/examples/record_demo.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/examples/record_demo.py 2013-09-04 08:58:21.770241489 +0200
++++ python-xlib-0.14+20091101/examples/record_demo.py 2013-09-04 08:58:21.750241488 +0200
+@@ -44,9 +44,9 @@
+ if reply.category != record.FromServer:
+ return
+ if reply.client_swapped:
+- print "* received swapped protocol data, cowardly ignored"
++ print("* received swapped protocol data, cowardly ignored")
+ return
+- if not len(reply.data) or ord(reply.data[0]) < 2:
++ if not len(reply.data) or reply.data[0] < 2:
+ # not an event
+ return
+
+@@ -59,28 +59,28 @@
+
+ keysym = local_dpy.keycode_to_keysym(event.detail, 0)
+ if not keysym:
+- print "KeyCode%s" % pr, event.detail
++ print("KeyCode%s %s" % (pr, event.detail))
+ else:
+- print "KeyStr%s" % pr, lookup_keysym(keysym)
++ print("KeyStr%s %s" % (pr, lookup_keysym(keysym)))
+
+ if event.type == X.KeyPress and keysym == XK.XK_Escape:
+ local_dpy.record_disable_context(ctx)
+ local_dpy.flush()
+ return
+ elif event.type == X.ButtonPress:
+- print "ButtonPress", event.detail
++ print("ButtonPress %s" % event.detail)
+ elif event.type == X.ButtonRelease:
+- print "ButtonRelease", event.detail
++ print("ButtonRelease %s" % event.detail)
+ elif event.type == X.MotionNotify:
+- print "MotionNotify", event.root_x, event.root_y
++ print("MotionNotify %i %i" % (event.root_x, event.root_y))
+
+
+ # Check if the extension is present
+ if not record_dpy.has_extension("RECORD"):
+- print "RECORD extension not found"
++ print("RECORD extension not found")
+ sys.exit(1)
+ r = record_dpy.record_get_version(0, 0)
+-print "RECORD extension version %d.%d" % (r.major_version, r.minor_version)
++print("RECORD extension version %d.%d" % (r.major_version, r.minor_version))
+
+ # Create a recording context; we only want key and mouse events
+ ctx = record_dpy.record_create_context(
+Index: python-xlib-0.14+20091101/examples/shapewin.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/examples/shapewin.py 2013-09-04 08:58:21.770241489 +0200
++++ python-xlib-0.14+20091101/examples/shapewin.py 2013-09-04 08:58:21.750241488 +0200
+@@ -41,7 +41,7 @@
+
+ # print version
+ r = self.d.shape_query_version()
+- print 'SHAPE version %d.%d' % (r.major_version, r.minor_version)
++ print('SHAPE version %d.%d' % (r.major_version, r.minor_version))
+
+
+ # Find which screen to open the window on
+@@ -59,10 +59,10 @@
+
+ bggc.change(foreground = self.screen.white_pixel)
+
+- bgpm.arc(bggc, -bgsize / 2, 0, bgsize, bgsize, 0, 360 * 64)
+- bgpm.arc(bggc, bgsize / 2, 0, bgsize, bgsize, 0, 360 * 64)
+- bgpm.arc(bggc, 0, -bgsize / 2, bgsize, bgsize, 0, 360 * 64)
+- bgpm.arc(bggc, 0, bgsize / 2, bgsize, bgsize, 0, 360 * 64)
++ bgpm.arc(bggc, -bgsize // 2, 0, bgsize, bgsize, 0, 360 * 64)
++ bgpm.arc(bggc, bgsize // 2, 0, bgsize, bgsize, 0, 360 * 64)
++ bgpm.arc(bggc, 0, -bgsize // 2, bgsize, bgsize, 0, 360 * 64)
++ bgpm.arc(bggc, 0, bgsize // 2, bgsize, bgsize, 0, 360 * 64)
+
+ # Actual window
+ self.window = self.screen.root.create_window(
+@@ -112,10 +112,10 @@
+ self.sub_pm.fill_rectangle(gc, 0, 0, self.sub_size, self.sub_size)
+ gc.change(foreground = 1)
+ self.sub_pm.fill_poly(gc, X.Convex, X.CoordModeOrigin,
+- [(self.sub_size / 2, 0),
+- (self.sub_size, self.sub_size / 2),
+- (self.sub_size / 2, self.sub_size),
+- (0, self.sub_size / 2)])
++ [(self.sub_size // 2, 0),
++ (self.sub_size, self.sub_size // 2),
++ (self.sub_size // 2, self.sub_size),
++ (0, self.sub_size // 2)])
+ gc.free()
+
+ # Set initial mask
+@@ -151,19 +151,19 @@
+ if e.detail == 1:
+ self.window.shape_mask(shape.ShapeUnion,
+ shape.ShapeBounding,
+- e.event_x - self.add_size / 2,
+- e.event_y - self.add_size / 2,
++ e.event_x - self.add_size // 2,
++ e.event_y - self.add_size // 2,
+ self.add_pm)
+ elif e.detail == 3:
+ self.window.shape_mask(shape.ShapeSubtract,
+ shape.ShapeBounding,
+- e.event_x - self.sub_size / 2,
+- e.event_y - self.sub_size / 2,
++ e.event_x - self.sub_size // 2,
++ e.event_y - self.sub_size // 2,
+ self.sub_pm)
+
+ # Shape has changed
+ elif e.type == self.d.extension_event.ShapeNotify:
+- print 'Shape change'
++ print('Shape change')
+
+ # Somebody wants to tell us something
+ elif e.type == X.ClientMessage:
+Index: python-xlib-0.14+20091101/examples/threadtest.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/examples/threadtest.py 2013-09-04 08:58:21.770241489 +0200
++++ python-xlib-0.14+20091101/examples/threadtest.py 2013-09-04 08:58:21.754241489 +0200
+@@ -7,7 +7,13 @@
+
+ from Xlib import display, X, threaded
+ import time
+-import thread
++
++try:
++ # Python 3
++ import _thread as thread
++except ImportError:
++ # Python 2
++ import thread
+
+ def redraw(win, gc):
+ # win.clear_area()
+@@ -16,7 +22,7 @@
+ def blink(display, win, gc, cols):
+ while 1:
+ time.sleep(2)
+- print 'Changing color', cols[0]
++ print('Changing color %i' % cols[0])
+ gc.change(foreground = cols[0])
+ cols = (cols[1], cols[0])
+ redraw(win, gc)
+Index: python-xlib-0.14+20091101/examples/xinerama.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/examples/xinerama.py 2013-09-04 08:58:21.770241489 +0200
++++ python-xlib-0.14+20091101/examples/xinerama.py 2013-09-04 08:58:21.754241489 +0200
+@@ -36,14 +36,14 @@
+ if not self.d.has_extension('XINERAMA'):
+ sys.stderr.write('%s: server does not have the XINERAMA extension\n'
+ % sys.argv[0])
+- print self.d.query_extension('XINERAMA')
++ print(self.d.query_extension('XINERAMA'))
+ sys.stderr.write("\n".join(self.d.list_extensions()))
+ if self.d.query_extension('XINERAMA') is None:
+ sys.exit(1)
+
+ # print version
+ r = self.d.xinerama_query_version()
+- print 'XINERAMA version %d.%d' % (r.major_version, r.minor_version)
++ print('XINERAMA version %d.%d' % (r.major_version, r.minor_version))
+
+
+ # Grab the current screen
+@@ -93,23 +93,23 @@
+
+ self.pp = pprint.PrettyPrinter(indent=4)
+
+- print "Xinerama active:", bool(self.d.xinerama_is_active())
++ print("Xinerama active:" + str(bool(self.d.xinerama_is_active())))
+
+- print "Screen info:"
++ print("Screen info:")
+ self.pp.pprint(self.d.xinerama_query_screens()._data)
+
+ # FIXME: This doesn't work!
+ #print "Xinerama info:"
+ #self.pp.pprint(self.d.xinerama_get_info(self.d.screen().root_visual)._data)
+
+- print "Xinerama state:"
++ print("Xinerama state:")
+ self.pp.pprint(self.window.xinerama_get_state()._data)
+
+- print "Screen count:"
++ print("Screen count:")
+ self.pp.pprint(self.window.xinerama_get_screen_count()._data)
+
+ for screennum in range(self.window.xinerama_get_screen_count().screen_count):
+- print "Screen %d size:" % (screennum, )
++ print("Screen %d size:" % (screennum, ))
+ self.pp.pprint(self.window.xinerama_get_screen_size(screennum)._data)
+
+ def parseModes(self, mode_names, modes):
+Index: python-xlib-0.14+20091101/examples/xrandr.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/examples/xrandr.py 2013-09-04 08:58:21.770241489 +0200
++++ python-xlib-0.14+20091101/examples/xrandr.py 2013-09-04 08:58:21.754241489 +0200
+@@ -36,14 +36,14 @@
+ if not self.d.has_extension('RANDR'):
+ sys.stderr.write('%s: server does not have the RANDR extension\n'
+ % sys.argv[0])
+- print self.d.query_extension('RANDR')
++ print(self.d.query_extension('RANDR'))
+ sys.stderr.write("\n".join(self.d.list_extensions()))
+ if self.d.query_extension('RANDR') is None:
+ sys.exit(1)
+
+ # print version
+ r = self.d.xrandr_query_version()
+- print 'RANDR version %d.%d' % (r.major_version, r.minor_version)
++ print('RANDR version %d.%d' % (r.major_version, r.minor_version))
+
+
+ # Grab the current screen
+@@ -101,30 +101,30 @@
+
+ self.pp = pprint.PrettyPrinter(indent=4)
+
+- print "Screen info:"
++ print("Screen info:")
+ self.pp.pprint(self.window.xrandr_get_screen_info()._data)
+
+- print "Screen size range:"
++ print("Screen size range:")
+ self.pp.pprint(self.window.xrandr_get_screen_size_range()._data)
+
+- print "Primary output:"
++ print("Primary output:")
+ self.pp.pprint(self.window.xrandr_get_output_primary()._data)
+
+ resources = self.window.xrandr_get_screen_resources()._data
+
+- print "Modes:"
+- for mode_id, mode in self.parseModes(resources['mode_names'], resources['modes']).iteritems():
+- print " %d: %s" % (mode_id, mode['name'])
++ print("Modes:")
++ for mode_id, mode in self.parseModes(resources['mode_names'], resources['modes']).items():
++ print(" %d: %s" % (mode_id, mode['name']))
+
+ for output in resources['outputs']:
+- print "Output %d info:" % (output, )
++ print("Output %d info:" % (output, ))
+ self.pp.pprint(self.d.xrandr_get_output_info(output, resources['config_timestamp'])._data)
+
+ for crtc in resources['crtcs']:
+- print "CRTC %d info:" % (crtc, )
++ print("CRTC %d info:" % (crtc, ))
+ self.pp.pprint(self.d.xrandr_get_crtc_info(crtc, resources['config_timestamp'])._data)
+
+- print "Raw screen resources:"
++ print("Raw screen resources:")
+ self.pp.pprint(resources)
+
+ def parseModes(self, mode_names, modes):
+@@ -149,23 +149,23 @@
+
+ # Screen information has changed
+ elif e.type == self.d.extension_event.ScreenChangeNotify:
+- print 'Screen change'
+- print self.pp.pprint(e._data)
++ print('Screen change')
++ print(self.pp.pprint(e._data))
+
+ # CRTC information has changed
+ elif e.type == self.d.extension_event.CrtcChangeNotify:
+- print 'CRTC change'
+- print self.pp.pprint(e._data)
++ print('CRTC change')
++ print(self.pp.pprint(e._data))
+
+ # Output information has changed
+ elif e.type == self.d.extension_event.OutputChangeNotify:
+- print 'Output change'
+- print self.pp.pprint(e._data)
++ print('Output change')
++ print(self.pp.pprint(e._data))
+
+ # Output property information has changed
+ elif e.type == self.d.extension_event.OutputPropertyNotify:
+- print 'Output property change'
+- print self.pp.pprint(e._data)
++ print('Output property change')
++ print(self.pp.pprint(e._data))
+
+ # Somebody wants to tell us something
+ elif e.type == X.ClientMessage:
+Index: python-xlib-0.14+20091101/Xlib/display.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/Xlib/display.py 2013-09-04 08:58:21.770241489 +0200
++++ python-xlib-0.14+20091101/Xlib/display.py 2013-09-04 08:58:21.754241489 +0200
+@@ -17,34 +17,31 @@
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ # Python modules
+-import new
++import types
+
+ # Xlib modules
+-import error
+-import ext
+-import X
++from Xlib import error, ext, X
+
+ # Xlib.protocol modules
+-import protocol.display
+-from protocol import request, event, rq
++from Xlib.protocol import display, request, event, rq
+
+ # Xlib.xobjects modules
+-import xobject.resource
+-import xobject.drawable
+-import xobject.fontable
+-import xobject.colormap
+-import xobject.cursor
++import Xlib.xobject.resource
++import Xlib.xobject.drawable
++import Xlib.xobject.fontable
++import Xlib.xobject.colormap
++import Xlib.xobject.cursor
+
+ _resource_baseclasses = {
+- 'resource': xobject.resource.Resource,
+- 'drawable': xobject.drawable.Drawable,
+- 'window': xobject.drawable.Window,
+- 'pixmap': xobject.drawable.Pixmap,
+- 'fontable': xobject.fontable.Fontable,
+- 'font': xobject.fontable.Font,
+- 'gc': xobject.fontable.GC,
+- 'colormap': xobject.colormap.Colormap,
+- 'cursor': xobject.cursor.Cursor,
++ 'resource': Xlib.xobject.resource.Resource,
++ 'drawable': Xlib.xobject.drawable.Drawable,
++ 'window': Xlib.xobject.drawable.Window,
++ 'pixmap': Xlib.xobject.drawable.Pixmap,
++ 'fontable': Xlib.xobject.fontable.Fontable,
++ 'font': Xlib.xobject.fontable.Font,
++ 'gc': Xlib.xobject.fontable.GC,
++ 'colormap': Xlib.xobject.colormap.Colormap,
++ 'cursor': Xlib.xobject.cursor.Cursor,
+ }
+
+ _resource_hierarchy = {
+@@ -55,18 +52,18 @@
+ 'fontable': ('font', 'gc')
+ }
+
+-class _BaseDisplay(protocol.display.Display):
++class _BaseDisplay(display.Display):
+ resource_classes = _resource_baseclasses.copy()
+
+ # Implement a cache of atom names, used by Window objects when
+ # dealing with some ICCCM properties not defined in Xlib.Xatom
+
+ def __init__(self, *args, **keys):
+- apply(protocol.display.Display.__init__, (self, ) + args, keys)
++ display.Display.__init__(*(self, ) + args, **keys)
+ self._atom_cache = {}
+
+ def get_atom(self, atomname, only_if_exists=0):
+- if self._atom_cache.has_key(atomname):
++ if atomname in self._atom_cache:
+ return self._atom_cache[atomname]
+
+ r = request.InternAtom(display = self, name = atomname, only_if_exists = only_if_exists)
+@@ -119,11 +116,11 @@
+
+
+ # Finalize extensions by creating new classes
+- for type, dict in self.class_extension_dicts.items():
+- origcls = self.display.resource_classes[type]
+- self.display.resource_classes[type] = new.classobj(origcls.__name__,
+- (origcls,),
+- dict)
++ for type_, dict in self.class_extension_dicts.items():
++ origcls = self.display.resource_classes[type_]
++ self.display.resource_classes[type_] = type(origcls.__name__,
++ (origcls, object),
++ dict)
+
+ # Problem: we have already created some objects without the
+ # extensions: the screen roots and default colormaps.
+@@ -211,7 +208,7 @@
+ def __getattr__(self, attr):
+ try:
+ function = self.display_extension_methods[attr]
+- return new.instancemethod(function, self, self.__class__)
++ return types.MethodType(function, self)
+ except KeyError:
+ raise AttributeError(attr)
+
+@@ -272,13 +269,11 @@
+ if hasattr(cls, name):
+ raise error.MethodOverrideError('attempting to replace %s method: %s' % (type, name))
+
+- method = new.instancemethod(function, None, cls)
+-
+ # Maybe should check extension overrides too
+ try:
+- self.class_extension_dicts[type][name] = method
++ self.class_extension_dicts[type][name] = function
+ except KeyError:
+- self.class_extension_dicts[type] = { name: method }
++ self.class_extension_dicts[type] = { name: function }
+
+ def extension_add_event(self, code, evt, name = None):
+ """extension_add_event(code, evt, [name])
+@@ -292,8 +287,8 @@
+ extension_event.
+ """
+
+- newevt = new.classobj(evt.__name__, evt.__bases__,
+- evt.__dict__.copy())
++ newevt = type(evt.__name__, evt.__bases__,
++ evt.__dict__.copy())
+ newevt._code = code
+
+ self.display.add_extension_event(code, newevt)
+@@ -395,7 +390,7 @@
+ index = 0
+ for sym in syms:
+ if sym != X.NoSymbol:
+- if self._keymap_syms.has_key(sym):
++ if sym in self._keymap_syms:
+ symcodes = self._keymap_syms[sym]
+ symcodes.append((index, code))
+ symcodes.sort()
+@@ -595,7 +590,7 @@
+ self.display.free_resource_id(fid)
+ return None
+ else:
+- cls = self.display.get_resource_class('font', xobject.fontable.Font)
++ cls = self.display.get_resource_class('font', Xlib.xobject.fontable.Font)
+ return cls(self.display, fid, owner = 1)
+
+ def list_fonts(self, pattern, max_names):
+Index: python-xlib-0.14+20091101/Xlib/protocol/request.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/Xlib/protocol/request.py 2013-09-04 08:58:21.770241489 +0200
++++ python-xlib-0.14+20091101/Xlib/protocol/request.py 2013-09-04 08:58:21.754241489 +0200
+@@ -21,8 +21,7 @@
+ from Xlib import X
+
+ # Xlib.protocol modules
+-import rq
+-import structs
++from Xlib.protocol import rq, structs
+
+
+ class CreateWindow(rq.Request):
+@@ -784,7 +783,7 @@
+
+ def __init__(self, *args, **keys):
+ self._fonts = []
+- apply(ReplyRequest.__init__, (self, ) + args, keys)
++ ReplyRequest.__init__(*(self, ) + args, **keys)
+
+ def _parse_response(self, data):
+
+Index: python-xlib-0.14+20091101/Xlib/protocol/structs.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/Xlib/protocol/structs.py 2013-09-04 08:58:21.770241489 +0200
++++ python-xlib-0.14+20091101/Xlib/protocol/structs.py 2013-09-04 08:58:21.754241489 +0200
+@@ -20,7 +20,7 @@
+ from Xlib import X
+
+ # Xlib.protocol modules
+-import rq
++from Xlib.protocol import rq
+
+ def WindowValues(arg):
+ return rq.ValueList( arg, 4, 0,
+Index: python-xlib-0.14+20091101/Xlib/support/connect.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/Xlib/support/connect.py 2013-09-04 08:58:21.770241489 +0200
++++ python-xlib-0.14+20091101/Xlib/support/connect.py 2013-09-04 08:58:21.754241489 +0200
+@@ -17,7 +17,6 @@
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ import sys
+-import string
+
+ # List the modules which contain the corresponding functions
+
+@@ -43,7 +42,7 @@
+ # Figure out which OS we're using.
+ # sys.platform is either "OS-ARCH" or just "OS".
+
+-_parts = string.split(sys.platform, '-')
++_parts = sys.platform.split('-')
+ platform = _parts[0]
+ del _parts
+
+@@ -61,8 +60,8 @@
+ """
+
+ modname = _display_mods.get(platform, _default_display_mod)
+- mod = __import__(modname, globals())
+- return mod.get_display(display)
++ mod = __import__('Xlib.support', globals(), fromlist=(modname,))
++ return getattr(mod, modname).get_display(display)
+
+
+ def get_socket(dname, host, dno):
+@@ -75,8 +74,8 @@
+ """
+
+ modname = _socket_mods.get(platform, _default_socket_mod)
+- mod = __import__(modname, globals())
+- return mod.get_socket(dname, host, dno)
++ mod = __import__('Xlib.support', globals(), fromlist=(modname,))
++ return getattr(mod, modname).get_socket(dname, host, dno)
+
+
+ def get_auth(sock, dname, host, dno):
+@@ -90,5 +89,5 @@
+ """
+
+ modname = _auth_mods.get(platform, _default_auth_mod)
+- mod = __import__(modname, globals())
+- return mod.get_auth(sock, dname, host, dno)
++ mod = __import__('Xlib.support', globals(), fromlist=(modname,))
++ return getattr(mod, modname).get_auth(sock, dname, host, dno)
+Index: python-xlib-0.14+20091101/test/test_events_be.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/test/test_events_be.py 2013-09-04 08:58:21.770241489 +0200
++++ python-xlib-0.14+20091101/test/test_events_be.py 2013-09-04 08:58:21.754241489 +0200
+@@ -3,7 +3,6 @@
+ import sys, os
+ sys.path.insert(1, os.path.join(sys.path[0], '..'))
+
+-import string
+ import unittest
+ from Xlib.protocol import request, rq, event
+ import Xlib.protocol.event
+@@ -13,7 +12,7 @@
+
+ class CmpArray:
+ def __init__(self, *args, **kws):
+- self.array = apply(array.array, args, kws)
++ self.array = array.array(*args, **kws)
+
+ def __len__(self):
+ return len(self.array)
+@@ -24,13 +23,16 @@
+ def __getattr__(self, attr):
+ return getattr(self.array, attr)
+
+- def __cmp__(self, other):
+- return cmp(self.array.tolist(), other)
++ def __eq__(self, other):
++ return self.array.tolist() == other
++
++ def __ne__(self, other):
++ return self.array.tolist() != other
+
+ rq.array = CmpArray
+
+ def tohex(bin):
+- bin = string.join(map(lambda c: '\\x%02x' % ord(c), bin), '')
++ bin = ''.join(map(lambda c: '\\x%02x' % c, bin))
+
+ bins = []
+ for i in range(0, len(bin), 16):
+@@ -43,7 +45,7 @@
+ except IndexError:
+ bins2.append("'%s'" % bins[i])
+
+- return string.join(bins2, ' \\\n ')
++ return ' \\\n '.join(bins2)
+
+ class DummyDisplay:
+ def get_resource_class(self, x):
+@@ -66,14 +68,14 @@
+ 'type': 154,
+ 'data': [160, 192, 133, 223, 245, 128, 133, 188, 208, 142, 202, 142, 218, 238, 145, 150, 211, 150, 165, 230, 149, 162, 139, 159, 135, 255, 246, 202, 232, 185, 164],
+ }
+- self.evt_bin_0 = '\x9a\xa0\xc0\x85' '\xdf\xf5\x80\x85' \
+- '\xbc\xd0\x8e\xca' '\x8e\xda\xee\x91' \
+- '\x96\xd3\x96\xa5' '\xe6\x95\xa2\x8b' \
+- '\x9f\x87\xff\xf6' '\xca\xe8\xb9\xa4'
++ self.evt_bin_0 = b'\x9a\xa0\xc0\x85' b'\xdf\xf5\x80\x85' \
++ b'\xbc\xd0\x8e\xca' b'\x8e\xda\xee\x91' \
++ b'\x96\xd3\x96\xa5' b'\xe6\x95\xa2\x8b' \
++ b'\x9f\x87\xff\xf6' b'\xca\xe8\xb9\xa4'
+
+
+ def testPack0(self):
+- bin = apply(event.KeymapNotify._fields.to_binary, (), self.evt_args_0)
++ bin = event.KeymapNotify._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -103,14 +105,14 @@
+ 'width': 26369,
+ 'count': 60118,
+ }
+- self.evt_bin_0 = '\xfe\x00\xdb\xcc' '\x52\x5b\x35\x64' \
+- '\x42\x4e\x4d\x28' '\x67\x01\x56\xc6' \
+- '\xea\xd6\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xfe\x00\xdb\xcc' b'\x52\x5b\x35\x64' \
++ b'\x42\x4e\x4d\x28' b'\x67\x01\x56\xc6' \
++ b'\xea\xd6\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.Expose._fields.to_binary, (), self.evt_args_0)
++ bin = event.Expose._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -142,14 +144,14 @@
+ 'width': 58556,
+ 'minor_event': 22632,
+ }
+- self.evt_bin_0 = '\xf2\x00\x18\xec' '\x30\xe6\x7b\x80' \
+- '\xe0\xf9\xa3\x22' '\xe4\xbc\x01\x60' \
+- '\x58\x68\xf7\x59' '\xd8\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xf2\x00\x18\xec' b'\x30\xe6\x7b\x80' \
++ b'\xe0\xf9\xa3\x22' b'\xe4\xbc\x01\x60' \
++ b'\x58\x68\xf7\x59' b'\xd8\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.GraphicsExpose._fields.to_binary, (), self.evt_args_0)
++ bin = event.GraphicsExpose._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -176,14 +178,14 @@
+ 'window': 1319843810,
+ 'minor_event': 45687,
+ }
+- self.evt_bin_0 = '\xbb\x00\xb4\x5b' '\x4e\xab\x37\xe2' \
+- '\xb2\x77\xf2\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xbb\x00\xb4\x5b' b'\x4e\xab\x37\xe2' \
++ b'\xb2\x77\xf2\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.NoExpose._fields.to_binary, (), self.evt_args_0)
++ bin = event.NoExpose._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -209,14 +211,14 @@
+ 'type': 242,
+ 'window': 1543431298,
+ }
+- self.evt_bin_0 = '\xf2\x00\xce\x45' '\x5b\xfe\xe4\x82' \
+- '\xee\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xf2\x00\xce\x45' b'\x5b\xfe\xe4\x82' \
++ b'\xee\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.VisibilityNotify._fields.to_binary, (), self.evt_args_0)
++ bin = event.VisibilityNotify._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -248,14 +250,14 @@
+ 'window': 8505372,
+ 'width': 8871,
+ }
+- self.evt_bin_0 = '\xff\x00\x20\x3d' '\x27\x00\x3a\x54' \
+- '\x00\x81\xc8\x1c' '\x86\x1c\xa2\x9c' \
+- '\x22\xa7\x3c\x92' '\xd0\xa6\x01\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xff\x00\x20\x3d' b'\x27\x00\x3a\x54' \
++ b'\x00\x81\xc8\x1c' b'\x86\x1c\xa2\x9c' \
++ b'\x22\xa7\x3c\x92' b'\xd0\xa6\x01\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.CreateNotify._fields.to_binary, (), self.evt_args_0)
++ bin = event.CreateNotify._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -281,14 +283,14 @@
+ 'type': 223,
+ 'window': 1716558237,
+ }
+- self.evt_bin_0 = '\xdf\x00\xbf\xf1' '\x18\x56\x02\x91' \
+- '\x66\x50\x99\x9d' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xdf\x00\xbf\xf1' b'\x18\x56\x02\x91' \
++ b'\x66\x50\x99\x9d' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.DestroyNotify._fields.to_binary, (), self.evt_args_0)
++ bin = event.DestroyNotify._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -315,14 +317,14 @@
+ 'type': 217,
+ 'window': 1455493798,
+ }
+- self.evt_bin_0 = '\xd9\x00\x11\x3c' '\x42\xe1\xef\x20' \
+- '\x56\xc1\x12\xa6' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xd9\x00\x11\x3c' b'\x42\xe1\xef\x20' \
++ b'\x56\xc1\x12\xa6' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.UnmapNotify._fields.to_binary, (), self.evt_args_0)
++ bin = event.UnmapNotify._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -349,14 +351,14 @@
+ 'window': 1882369959,
+ 'override': 0,
+ }
+- self.evt_bin_0 = '\xe4\x00\xfe\x48' '\x13\x96\x31\xdc' \
+- '\x70\x32\xaf\xa7' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xe4\x00\xfe\x48' b'\x13\x96\x31\xdc' \
++ b'\x70\x32\xaf\xa7' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.MapNotify._fields.to_binary, (), self.evt_args_0)
++ bin = event.MapNotify._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -382,14 +384,14 @@
+ 'type': 171,
+ 'window': 488763730,
+ }
+- self.evt_bin_0 = '\xab\x00\xc9\x60' '\x63\x32\x36\x90' \
+- '\x1d\x21\xf1\x52' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xab\x00\xc9\x60' b'\x63\x32\x36\x90' \
++ b'\x1d\x21\xf1\x52' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.MapRequest._fields.to_binary, (), self.evt_args_0)
++ bin = event.MapRequest._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -419,14 +421,14 @@
+ 'parent': 912114770,
+ 'window': 1142506827,
+ }
+- self.evt_bin_0 = '\xe5\x00\x24\x28' '\x77\x39\xbd\xd5' \
+- '\x44\x19\x45\x4b' '\x36\x5d\xc4\x52' \
+- '\x90\x55\xd2\xb3' '\x01\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xe5\x00\x24\x28' b'\x77\x39\xbd\xd5' \
++ b'\x44\x19\x45\x4b' b'\x36\x5d\xc4\x52' \
++ b'\x90\x55\xd2\xb3' b'\x01\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.ReparentNotify._fields.to_binary, (), self.evt_args_0)
++ bin = event.ReparentNotify._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -459,14 +461,14 @@
+ 'window': 2046157981,
+ 'width': 8604,
+ }
+- self.evt_bin_0 = '\xbf\x00\xf3\x9c' '\x51\xdd\x44\x66' \
+- '\x79\xf5\xe4\x9d' '\x41\x8b\x95\xa2' \
+- '\xce\x1d\xc4\x84' '\x21\x9c\x3f\x73' \
+- '\x1c\x4c\x01\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xbf\x00\xf3\x9c' b'\x51\xdd\x44\x66' \
++ b'\x79\xf5\xe4\x9d' b'\x41\x8b\x95\xa2' \
++ b'\xce\x1d\xc4\x84' b'\x21\x9c\x3f\x73' \
++ b'\x1c\x4c\x01\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.ConfigureNotify._fields.to_binary, (), self.evt_args_0)
++ bin = event.ConfigureNotify._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -500,14 +502,14 @@
+ 'stack_mode': 199,
+ 'parent': 176713389,
+ }
+- self.evt_bin_0 = '\x9c\xc7\x7a\x91' '\x0a\x88\x6e\xad' \
+- '\x49\x60\x48\x53' '\x44\xd3\x8b\x96' \
+- '\xb8\xf1\xbb\x01' '\xc9\xa4\xb7\xf6' \
+- '\xd5\xfb\x4b\x91' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\x9c\xc7\x7a\x91' b'\x0a\x88\x6e\xad' \
++ b'\x49\x60\x48\x53' b'\x44\xd3\x8b\x96' \
++ b'\xb8\xf1\xbb\x01' b'\xc9\xa4\xb7\xf6' \
++ b'\xd5\xfb\x4b\x91' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.ConfigureRequest._fields.to_binary, (), self.evt_args_0)
++ bin = event.ConfigureRequest._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -535,14 +537,14 @@
+ 'x': -21924,
+ 'y': -4866,
+ }
+- self.evt_bin_0 = '\xc0\x00\xa9\x70' '\x26\x3d\x12\xa5' \
+- '\x03\x14\xd8\x1a' '\xaa\x5c\xec\xfe' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xc0\x00\xa9\x70' b'\x26\x3d\x12\xa5' \
++ b'\x03\x14\xd8\x1a' b'\xaa\x5c\xec\xfe' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.GravityNotify._fields.to_binary, (), self.evt_args_0)
++ bin = event.GravityNotify._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -569,14 +571,14 @@
+ 'window': 1698104652,
+ 'width': 41494,
+ }
+- self.evt_bin_0 = '\x95\x00\x53\x64' '\x65\x37\x05\x4c' \
+- '\xa2\x16\xe9\x68' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\x95\x00\x53\x64' b'\x65\x37\x05\x4c' \
++ b'\xa2\x16\xe9\x68' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.ResizeRequest._fields.to_binary, (), self.evt_args_0)
++ bin = event.ResizeRequest._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -604,14 +606,14 @@
+ 'state': 181,
+ 'window': 334365400,
+ }
+- self.evt_bin_0 = '\xbc\x00\x73\xe6' '\x13\xee\x02\xd8' \
+- '\x2d\x74\x24\x38' '\x6a\xc2\x4b\x25' \
+- '\xb5\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xbc\x00\x73\xe6' b'\x13\xee\x02\xd8' \
++ b'\x2d\x74\x24\x38' b'\x6a\xc2\x4b\x25' \
++ b'\xb5\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.PropertyNotify._fields.to_binary, (), self.evt_args_0)
++ bin = event.PropertyNotify._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -638,14 +640,14 @@
+ 'type': 170,
+ 'window': 355039782,
+ }
+- self.evt_bin_0 = '\xaa\x00\x35\x7b' '\x22\x74\xca\x43' \
+- '\x15\x29\x7a\x26' '\x52\x94\x54\x73' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xaa\x00\x35\x7b' b'\x22\x74\xca\x43' \
++ b'\x15\x29\x7a\x26' b'\x52\x94\x54\x73' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.SelectionClear._fields.to_binary, (), self.evt_args_0)
++ bin = event.SelectionClear._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -675,14 +677,14 @@
+ 'selection': 1972323175,
+ 'requestor': 178195168,
+ }
+- self.evt_bin_0 = '\xa2\x00\x33\xc6' '\x44\xd2\x57\x9a' \
+- '\x7b\xba\xc5\x57' '\x0a\x9f\x0a\xe0' \
+- '\x75\x8f\x43\x67' '\x4e\x3b\xb0\x83' \
+- '\x17\xac\x30\xe9' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xa2\x00\x33\xc6' b'\x44\xd2\x57\x9a' \
++ b'\x7b\xba\xc5\x57' b'\x0a\x9f\x0a\xe0' \
++ b'\x75\x8f\x43\x67' b'\x4e\x3b\xb0\x83' \
++ b'\x17\xac\x30\xe9' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.SelectionRequest._fields.to_binary, (), self.evt_args_0)
++ bin = event.SelectionRequest._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -711,14 +713,14 @@
+ 'selection': 781895626,
+ 'requestor': 1242076588,
+ }
+- self.evt_bin_0 = '\xc7\x00\x9b\x38' '\x34\x95\x2f\x5e' \
+- '\x4a\x08\x95\xac' '\x2e\x9a\xc7\xca' \
+- '\x7f\x0b\x8a\x2d' '\x12\x05\xd7\x93' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xc7\x00\x9b\x38' b'\x34\x95\x2f\x5e' \
++ b'\x4a\x08\x95\xac' b'\x2e\x9a\xc7\xca' \
++ b'\x7f\x0b\x8a\x2d' b'\x12\x05\xd7\x93' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.SelectionNotify._fields.to_binary, (), self.evt_args_0)
++ bin = event.SelectionNotify._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -746,14 +748,14 @@
+ 'window': 1591667531,
+ 'new': 1,
+ }
+- self.evt_bin_0 = '\xe9\x00\xf5\xb6' '\x5e\xde\xeb\x4b' \
+- '\x11\xed\xd7\x06' '\x01\xd1\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xe9\x00\xf5\xb6' b'\x5e\xde\xeb\x4b' \
++ b'\x11\xed\xd7\x06' b'\x01\xd1\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.ColormapNotify._fields.to_binary, (), self.evt_args_0)
++ bin = event.ColormapNotify._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -780,10 +782,10 @@
+ 'client_type': 1340394836,
+ 'window': 1256861040,
+ }
+- self.evt_bin_0 = '\xf5\x08\xbe\x48' '\x4a\xea\x2d\x70' \
+- '\x4f\xe4\xcd\x54' '\x30\x31\x32\x33' \
+- '\x34\x35\x36\x37' '\x38\x39\x30\x31' \
+- '\x32\x33\x34\x35' '\x36\x37\x38\x39'
++ self.evt_bin_0 = b'\xf5\x08\xbe\x48' b'\x4a\xea\x2d\x70' \
++ b'\x4f\xe4\xcd\x54' b'\x30\x31\x32\x33' \
++ b'\x34\x35\x36\x37' b'\x38\x39\x30\x31' \
++ b'\x32\x33\x34\x35' b'\x36\x37\x38\x39'
+
+ self.evt_args_1 = {
+ 'sequence_number': 62804,
+@@ -792,10 +794,10 @@
+ 'client_type': 214585025,
+ 'window': 151327338,
+ }
+- self.evt_bin_1 = '\xfa\x10\xf5\x54' '\x09\x05\x12\x6a' \
+- '\x0c\xca\x4e\xc1' '\x00\x01\x00\x02' \
+- '\x00\x03\x00\x04' '\x00\x05\x00\x06' \
+- '\x00\x07\x00\x08' '\x00\x09\x00\x0a'
++ self.evt_bin_1 = b'\xfa\x10\xf5\x54' b'\x09\x05\x12\x6a' \
++ b'\x0c\xca\x4e\xc1' b'\x00\x01\x00\x02' \
++ b'\x00\x03\x00\x04' b'\x00\x05\x00\x06' \
++ b'\x00\x07\x00\x08' b'\x00\x09\x00\x0a'
+
+ self.evt_args_2 = {
+ 'sequence_number': 3122,
+@@ -804,14 +806,14 @@
+ 'client_type': 698151018,
+ 'window': 725159371,
+ }
+- self.evt_bin_2 = '\xf3\x20\x0c\x32' '\x2b\x39\x0d\xcb' \
+- '\x29\x9c\xf0\x6a' '\x00\x00\x00\x01' \
+- '\x00\x00\x00\x02' '\x00\x00\x00\x03' \
+- '\x00\x00\x00\x04' '\x00\x00\x00\x05'
++ self.evt_bin_2 = b'\xf3\x20\x0c\x32' b'\x2b\x39\x0d\xcb' \
++ b'\x29\x9c\xf0\x6a' b'\x00\x00\x00\x01' \
++ b'\x00\x00\x00\x02' b'\x00\x00\x00\x03' \
++ b'\x00\x00\x00\x04' b'\x00\x00\x00\x05'
+
+
+ def testPack0(self):
+- bin = apply(event.ClientMessage._fields.to_binary, (), self.evt_args_0)
++ bin = event.ClientMessage._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -829,7 +831,7 @@
+ raise AssertionError(args)
+
+ def testPack1(self):
+- bin = apply(event.ClientMessage._fields.to_binary, (), self.evt_args_1)
++ bin = event.ClientMessage._fields.to_binary(*(), **self.evt_args_1)
+ try:
+ assert bin == self.evt_bin_1
+ except AssertionError:
+@@ -847,7 +849,7 @@
+ raise AssertionError(args)
+
+ def testPack2(self):
+- bin = apply(event.ClientMessage._fields.to_binary, (), self.evt_args_2)
++ bin = event.ClientMessage._fields.to_binary(*(), **self.evt_args_2)
+ try:
+ assert bin == self.evt_bin_2
+ except AssertionError:
+@@ -874,14 +876,14 @@
+ 'type': 252,
+ 'first_keycode': 218,
+ }
+- self.evt_bin_0 = '\xfc\x00\xd1\x25' '\x8d\xda\x97\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xfc\x00\xd1\x25' b'\x8d\xda\x97\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.MappingNotify._fields.to_binary, (), self.evt_args_0)
++ bin = event.MappingNotify._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+Index: python-xlib-0.14+20091101/test/test_events_le.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/test/test_events_le.py 2013-09-04 08:58:21.770241489 +0200
++++ python-xlib-0.14+20091101/test/test_events_le.py 2013-09-04 08:58:21.758241489 +0200
+@@ -3,7 +3,6 @@
+ import sys, os
+ sys.path.insert(1, os.path.join(sys.path[0], '..'))
+
+-import string
+ import unittest
+ from Xlib.protocol import request, rq, event
+ import Xlib.protocol.event
+@@ -13,7 +12,7 @@
+
+ class CmpArray:
+ def __init__(self, *args, **kws):
+- self.array = apply(array.array, args, kws)
++ self.array = array.array(*args, **kws)
+
+ def __len__(self):
+ return len(self.array)
+@@ -24,13 +23,16 @@
+ def __getattr__(self, attr):
+ return getattr(self.array, attr)
+
+- def __cmp__(self, other):
+- return cmp(self.array.tolist(), other)
++ def __eq__(self, other):
++ return self.array.tolist() == other
++
++ def __ne__(self, other):
++ return self.array.tolist() != other
+
+ rq.array = CmpArray
+
+ def tohex(bin):
+- bin = string.join(map(lambda c: '\\x%02x' % ord(c), bin), '')
++ bin = ''.join(map(lambda c: '\\x%02x' % c, bin))
+
+ bins = []
+ for i in range(0, len(bin), 16):
+@@ -43,7 +45,7 @@
+ except IndexError:
+ bins2.append("'%s'" % bins[i])
+
+- return string.join(bins2, ' \\\n ')
++ return ' \\\n '.join(bins2)
+
+ class DummyDisplay:
+ def get_resource_class(self, x):
+@@ -66,14 +68,14 @@
+ 'type': 173,
+ 'data': [130, 181, 177, 244, 167, 144, 216, 185, 228, 220, 254, 130, 239, 213, 142, 240, 233, 248, 161, 238, 160, 205, 212, 205, 166, 156, 241, 169, 198, 147, 144],
+ }
+- self.evt_bin_0 = '\xad\x82\xb5\xb1' '\xf4\xa7\x90\xd8' \
+- '\xb9\xe4\xdc\xfe' '\x82\xef\xd5\x8e' \
+- '\xf0\xe9\xf8\xa1' '\xee\xa0\xcd\xd4' \
+- '\xcd\xa6\x9c\xf1' '\xa9\xc6\x93\x90'
++ self.evt_bin_0 = b'\xad\x82\xb5\xb1' b'\xf4\xa7\x90\xd8' \
++ b'\xb9\xe4\xdc\xfe' b'\x82\xef\xd5\x8e' \
++ b'\xf0\xe9\xf8\xa1' b'\xee\xa0\xcd\xd4' \
++ b'\xcd\xa6\x9c\xf1' b'\xa9\xc6\x93\x90'
+
+
+ def testPack0(self):
+- bin = apply(event.KeymapNotify._fields.to_binary, (), self.evt_args_0)
++ bin = event.KeymapNotify._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -103,14 +105,14 @@
+ 'sequence_number': 45668,
+ 'height': 29709,
+ }
+- self.evt_bin_0 = '\xc0\x00\x64\xb2' '\xb0\x95\xcc\x76' \
+- '\x24\x3d\xe2\x71' '\xc0\xde\x0d\x74' \
+- '\x57\x79\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xc0\x00\x64\xb2' b'\xb0\x95\xcc\x76' \
++ b'\x24\x3d\xe2\x71' b'\xc0\xde\x0d\x74' \
++ b'\x57\x79\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.Expose._fields.to_binary, (), self.evt_args_0)
++ bin = event.Expose._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -142,14 +144,14 @@
+ 'sequence_number': 9516,
+ 'height': 10465,
+ }
+- self.evt_bin_0 = '\x8a\x00\x2c\x25' '\xb1\xf4\xa7\x38' \
+- '\x79\xc3\x6c\x09' '\x92\x54\xe1\x28' \
+- '\x50\xad\x5a\x1b' '\xee\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\x8a\x00\x2c\x25' b'\xb1\xf4\xa7\x38' \
++ b'\x79\xc3\x6c\x09' b'\x92\x54\xe1\x28' \
++ b'\x50\xad\x5a\x1b' b'\xee\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.GraphicsExpose._fields.to_binary, (), self.evt_args_0)
++ bin = event.GraphicsExpose._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -176,14 +178,14 @@
+ 'major_event': 149,
+ 'sequence_number': 51301,
+ }
+- self.evt_bin_0 = '\xc6\x00\x65\xc8' '\x22\x92\xd6\x52' \
+- '\xa2\xbf\x95\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xc6\x00\x65\xc8' b'\x22\x92\xd6\x52' \
++ b'\xa2\xbf\x95\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.NoExpose._fields.to_binary, (), self.evt_args_0)
++ bin = event.NoExpose._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -209,14 +211,14 @@
+ 'state': 239,
+ 'sequence_number': 38248,
+ }
+- self.evt_bin_0 = '\xe9\x00\x68\x95' '\x72\xac\x93\x32' \
+- '\xef\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xe9\x00\x68\x95' b'\x72\xac\x93\x32' \
++ b'\xef\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.VisibilityNotify._fields.to_binary, (), self.evt_args_0)
++ bin = event.VisibilityNotify._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -248,14 +250,14 @@
+ 'sequence_number': 14268,
+ 'height': 8803,
+ }
+- self.evt_bin_0 = '\xe6\x00\xbc\x37' '\x55\x6b\xb4\x06' \
+- '\x58\x8e\x2b\x4f' '\x94\xca\x74\x85' \
+- '\xef\x5f\x63\x22' '\x2c\x80\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xe6\x00\xbc\x37' b'\x55\x6b\xb4\x06' \
++ b'\x58\x8e\x2b\x4f' b'\x94\xca\x74\x85' \
++ b'\xef\x5f\x63\x22' b'\x2c\x80\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.CreateNotify._fields.to_binary, (), self.evt_args_0)
++ bin = event.CreateNotify._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -281,14 +283,14 @@
+ 'event': 1596763581,
+ 'sequence_number': 37839,
+ }
+- self.evt_bin_0 = '\xb7\x00\xcf\x93' '\xbd\xad\x2c\x5f' \
+- '\x39\xd4\x86\x52' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xb7\x00\xcf\x93' b'\xbd\xad\x2c\x5f' \
++ b'\x39\xd4\x86\x52' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.DestroyNotify._fields.to_binary, (), self.evt_args_0)
++ bin = event.DestroyNotify._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -315,14 +317,14 @@
+ 'sequence_number': 55135,
+ 'from_configure': 0,
+ }
+- self.evt_bin_0 = '\xc0\x00\x5f\xd7' '\x1a\x88\x73\x36' \
+- '\xf4\xb1\x87\x4b' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xc0\x00\x5f\xd7' b'\x1a\x88\x73\x36' \
++ b'\xf4\xb1\x87\x4b' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.UnmapNotify._fields.to_binary, (), self.evt_args_0)
++ bin = event.UnmapNotify._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -349,14 +351,14 @@
+ 'event': 1566597012,
+ 'sequence_number': 8920,
+ }
+- self.evt_bin_0 = '\xd8\x00\xd8\x22' '\x94\x5f\x60\x5d' \
+- '\xe8\xb1\x5a\x77' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xd8\x00\xd8\x22' b'\x94\x5f\x60\x5d' \
++ b'\xe8\xb1\x5a\x77' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.MapNotify._fields.to_binary, (), self.evt_args_0)
++ bin = event.MapNotify._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -382,14 +384,14 @@
+ 'parent': 1188866605,
+ 'sequence_number': 6729,
+ }
+- self.evt_bin_0 = '\xf2\x00\x49\x1a' '\x2d\xaa\xdc\x46' \
+- '\x4d\x6b\xba\x67' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xf2\x00\x49\x1a' b'\x2d\xaa\xdc\x46' \
++ b'\x4d\x6b\xba\x67' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.MapRequest._fields.to_binary, (), self.evt_args_0)
++ bin = event.MapRequest._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -419,14 +421,14 @@
+ 'event': 1344092894,
+ 'sequence_number': 31034,
+ }
+- self.evt_bin_0 = '\xb9\x00\x3a\x79' '\xde\x3a\x1d\x50' \
+- '\xff\xf9\xc4\x36' '\x1e\x3e\x65\x3e' \
+- '\xda\xd1\xfd\xd5' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xb9\x00\x3a\x79' b'\xde\x3a\x1d\x50' \
++ b'\xff\xf9\xc4\x36' b'\x1e\x3e\x65\x3e' \
++ b'\xda\xd1\xfd\xd5' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.ReparentNotify._fields.to_binary, (), self.evt_args_0)
++ bin = event.ReparentNotify._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -459,14 +461,14 @@
+ 'event': 2102634753,
+ 'sequence_number': 21818,
+ }
+- self.evt_bin_0 = '\xbf\x00\x3a\x55' '\x01\xa9\x53\x7d' \
+- '\xe9\xba\x4c\x65' '\x29\x26\x2f\x44' \
+- '\x5f\xa3\xb9\x80' '\x7f\x5e\x4d\xad' \
+- '\x55\xca\x01\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xbf\x00\x3a\x55' b'\x01\xa9\x53\x7d' \
++ b'\xe9\xba\x4c\x65' b'\x29\x26\x2f\x44' \
++ b'\x5f\xa3\xb9\x80' b'\x7f\x5e\x4d\xad' \
++ b'\x55\xca\x01\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.ConfigureNotify._fields.to_binary, (), self.evt_args_0)
++ bin = event.ConfigureNotify._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -500,14 +502,14 @@
+ 'type': 140,
+ 'sequence_number': 48820,
+ }
+- self.evt_bin_0 = '\x8c\x9b\xb4\xbe' '\xfc\xc8\x80\x58' \
+- '\xdd\x64\xbd\x20' '\xfe\xe2\xc1\x44' \
+- '\xfc\xd2\x05\xfc' '\x4a\xb6\x90\x6a' \
+- '\x53\xa1\x1b\xa3' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\x8c\x9b\xb4\xbe' b'\xfc\xc8\x80\x58' \
++ b'\xdd\x64\xbd\x20' b'\xfe\xe2\xc1\x44' \
++ b'\xfc\xd2\x05\xfc' b'\x4a\xb6\x90\x6a' \
++ b'\x53\xa1\x1b\xa3' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.ConfigureRequest._fields.to_binary, (), self.evt_args_0)
++ bin = event.ConfigureRequest._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -535,14 +537,14 @@
+ 'event': 860169186,
+ 'sequence_number': 48472,
+ }
+- self.evt_bin_0 = '\xbf\x00\x58\xbd' '\xe2\x23\x45\x33' \
+- '\x38\x1b\xb0\x57' '\x7e\xd5\x27\x97' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xbf\x00\x58\xbd' b'\xe2\x23\x45\x33' \
++ b'\x38\x1b\xb0\x57' b'\x7e\xd5\x27\x97' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.GravityNotify._fields.to_binary, (), self.evt_args_0)
++ bin = event.GravityNotify._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -569,14 +571,14 @@
+ 'sequence_number': 9443,
+ 'height': 58942,
+ }
+- self.evt_bin_0 = '\x8b\x00\xe3\x24' '\x73\xcf\x4f\x3b' \
+- '\x8a\x22\x3e\xe6' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\x8b\x00\xe3\x24' b'\x73\xcf\x4f\x3b' \
++ b'\x8a\x22\x3e\xe6' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.ResizeRequest._fields.to_binary, (), self.evt_args_0)
++ bin = event.ResizeRequest._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -604,14 +606,14 @@
+ 'state': 241,
+ 'sequence_number': 47586,
+ }
+- self.evt_bin_0 = '\xcd\x00\xe2\xb9' '\xbe\x45\x1b\x69' \
+- '\x60\x2c\xd0\x02' '\xca\x79\xd2\x37' \
+- '\xf1\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xcd\x00\xe2\xb9' b'\xbe\x45\x1b\x69' \
++ b'\x60\x2c\xd0\x02' b'\xca\x79\xd2\x37' \
++ b'\xf1\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.PropertyNotify._fields.to_binary, (), self.evt_args_0)
++ bin = event.PropertyNotify._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -638,14 +640,14 @@
+ 'sequence_number': 26660,
+ 'time': 1732839301,
+ }
+- self.evt_bin_0 = '\xe8\x00\x24\x68' '\x85\x07\x49\x67' \
+- '\x51\x65\x0b\x14' '\xff\x27\x49\x0f' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xe8\x00\x24\x68' b'\x85\x07\x49\x67' \
++ b'\x51\x65\x0b\x14' b'\xff\x27\x49\x0f' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.SelectionClear._fields.to_binary, (), self.evt_args_0)
++ bin = event.SelectionClear._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -675,14 +677,14 @@
+ 'type': 147,
+ 'sequence_number': 20571,
+ }
+- self.evt_bin_0 = '\x93\x00\x5b\x50' '\xe9\x35\xda\x54' \
+- '\xf3\x3e\x97\x2d' '\x41\xc6\xca\x0f' \
+- '\xc0\x1f\x8c\x5b' '\x07\xdb\x38\x24' \
+- '\x26\x99\x6e\x44' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\x93\x00\x5b\x50' b'\xe9\x35\xda\x54' \
++ b'\xf3\x3e\x97\x2d' b'\x41\xc6\xca\x0f' \
++ b'\xc0\x1f\x8c\x5b' b'\x07\xdb\x38\x24' \
++ b'\x26\x99\x6e\x44' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.SelectionRequest._fields.to_binary, (), self.evt_args_0)
++ bin = event.SelectionRequest._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -711,14 +713,14 @@
+ 'type': 133,
+ 'sequence_number': 30741,
+ }
+- self.evt_bin_0 = '\x85\x00\x15\x78' '\xab\x44\xee\x3c' \
+- '\xb1\x59\xe8\x39' '\x06\x6d\x83\x13' \
+- '\xd1\xfe\xb7\x6f' '\xbe\x02\xcd\x6a' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\x85\x00\x15\x78' b'\xab\x44\xee\x3c' \
++ b'\xb1\x59\xe8\x39' b'\x06\x6d\x83\x13' \
++ b'\xd1\xfe\xb7\x6f' b'\xbe\x02\xcd\x6a' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.SelectionNotify._fields.to_binary, (), self.evt_args_0)
++ bin = event.SelectionNotify._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -746,14 +748,14 @@
+ 'state': 168,
+ 'sequence_number': 8684,
+ }
+- self.evt_bin_0 = '\xd3\x00\xec\x21' '\xbb\x4b\xb1\x50' \
+- '\x9d\xab\x52\x27' '\x01\xa8\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xd3\x00\xec\x21' b'\xbb\x4b\xb1\x50' \
++ b'\x9d\xab\x52\x27' b'\x01\xa8\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.ColormapNotify._fields.to_binary, (), self.evt_args_0)
++ bin = event.ColormapNotify._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -780,10 +782,10 @@
+ 'data': (8, '01234567890123456789'),
+ 'sequence_number': 14854,
+ }
+- self.evt_bin_0 = '\xed\x08\x06\x3a' '\x82\xab\x90\x6b' \
+- '\x49\x39\x23\x1b' '\x30\x31\x32\x33' \
+- '\x34\x35\x36\x37' '\x38\x39\x30\x31' \
+- '\x32\x33\x34\x35' '\x36\x37\x38\x39'
++ self.evt_bin_0 = b'\xed\x08\x06\x3a' b'\x82\xab\x90\x6b' \
++ b'\x49\x39\x23\x1b' b'\x30\x31\x32\x33' \
++ b'\x34\x35\x36\x37' b'\x38\x39\x30\x31' \
++ b'\x32\x33\x34\x35' b'\x36\x37\x38\x39'
+
+ self.evt_args_1 = {
+ 'type': 160,
+@@ -792,10 +794,10 @@
+ 'data': (16, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]),
+ 'sequence_number': 28171,
+ }
+- self.evt_bin_1 = '\xa0\x10\x0b\x6e' '\x3e\xb2\x8e\x38' \
+- '\xac\x66\xa7\x0c' '\x01\x00\x02\x00' \
+- '\x03\x00\x04\x00' '\x05\x00\x06\x00' \
+- '\x07\x00\x08\x00' '\x09\x00\x0a\x00'
++ self.evt_bin_1 = b'\xa0\x10\x0b\x6e' b'\x3e\xb2\x8e\x38' \
++ b'\xac\x66\xa7\x0c' b'\x01\x00\x02\x00' \
++ b'\x03\x00\x04\x00' b'\x05\x00\x06\x00' \
++ b'\x07\x00\x08\x00' b'\x09\x00\x0a\x00'
+
+ self.evt_args_2 = {
+ 'type': 243,
+@@ -804,14 +806,14 @@
+ 'data': (32, [1, 2, 3, 4, 5]),
+ 'sequence_number': 63569,
+ }
+- self.evt_bin_2 = '\xf3\x20\x51\xf8' '\x46\x88\xaf\x22' \
+- '\xfe\x65\xa1\x39' '\x01\x00\x00\x00' \
+- '\x02\x00\x00\x00' '\x03\x00\x00\x00' \
+- '\x04\x00\x00\x00' '\x05\x00\x00\x00'
++ self.evt_bin_2 = b'\xf3\x20\x51\xf8' b'\x46\x88\xaf\x22' \
++ b'\xfe\x65\xa1\x39' b'\x01\x00\x00\x00' \
++ b'\x02\x00\x00\x00' b'\x03\x00\x00\x00' \
++ b'\x04\x00\x00\x00' b'\x05\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.ClientMessage._fields.to_binary, (), self.evt_args_0)
++ bin = event.ClientMessage._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+@@ -829,7 +831,7 @@
+ raise AssertionError(args)
+
+ def testPack1(self):
+- bin = apply(event.ClientMessage._fields.to_binary, (), self.evt_args_1)
++ bin = event.ClientMessage._fields.to_binary(*(), **self.evt_args_1)
+ try:
+ assert bin == self.evt_bin_1
+ except AssertionError:
+@@ -847,7 +849,7 @@
+ raise AssertionError(args)
+
+ def testPack2(self):
+- bin = apply(event.ClientMessage._fields.to_binary, (), self.evt_args_2)
++ bin = event.ClientMessage._fields.to_binary(*(), **self.evt_args_2)
+ try:
+ assert bin == self.evt_bin_2
+ except AssertionError:
+@@ -874,14 +876,14 @@
+ 'count': 201,
+ 'sequence_number': 32665,
+ }
+- self.evt_bin_0 = '\xc6\x00\x99\x7f' '\xbd\xf6\xc9\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.evt_bin_0 = b'\xc6\x00\x99\x7f' b'\xbd\xf6\xc9\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPack0(self):
+- bin = apply(event.MappingNotify._fields.to_binary, (), self.evt_args_0)
++ bin = event.MappingNotify._fields.to_binary(*(), **self.evt_args_0)
+ try:
+ assert bin == self.evt_bin_0
+ except AssertionError:
+Index: python-xlib-0.14+20091101/test/test_requests_be.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/test/test_requests_be.py 2013-09-04 08:58:21.770241489 +0200
++++ python-xlib-0.14+20091101/test/test_requests_be.py 2013-09-04 08:58:21.758241489 +0200
+@@ -3,7 +3,6 @@
+ import sys, os
+ sys.path.insert(1, os.path.join(sys.path[0], '..'))
+
+-import string
+ import unittest
+ from Xlib.protocol import request, rq, event
+ import Xlib.protocol.event
+@@ -13,7 +12,7 @@
+
+ class CmpArray:
+ def __init__(self, *args, **kws):
+- self.array = apply(array.array, args, kws)
++ self.array = array.array(*args, **kws)
+
+ def __len__(self):
+ return len(self.array)
+@@ -21,16 +20,25 @@
+ def __getslice__(self, x, y):
+ return list(self.array[x:y])
+
++ def __getitem__(self, n):
++ if isinstance(n, slice):
++ return list(self.array.__getitem__(n))
++ else:
++ return self.array[n]
++
+ def __getattr__(self, attr):
+ return getattr(self.array, attr)
+
+- def __cmp__(self, other):
+- return cmp(self.array.tolist(), other)
++ def __eq__(self, other):
++ return self.array.tolist() == other
++
++ def __ne__(self, other):
++ return self.array.tolist() != other
+
+ rq.array = CmpArray
+
+ def tohex(bin):
+- bin = string.join(map(lambda c: '\\x%02x' % ord(c), bin), '')
++ bin = ''.join(map(lambda c: '\\x%02x' % c, bin))
+
+ bins = []
+ for i in range(0, len(bin), 16):
+@@ -43,7 +51,7 @@
+ except IndexError:
+ bins2.append("'%s'" % bins[i])
+
+- return string.join(bins2, ' \\\n ')
++ return ' \\\n '.join(bins2)
+
+ class DummyDisplay:
+ def get_resource_class(self, x):
+@@ -75,22 +83,22 @@
+ 'depth': 186,
+ 'width': 51466,
+ }
+- self.req_bin_0 = '\x01\xba\x00\x17' '\x6d\x03\x01\x24' \
+- '\x74\xdb\x41\x4e' '\xae\xdd\xf0\x2f' \
+- '\xc9\x0a\x96\xd0' '\x86\x93\x00\x00' \
+- '\x17\xba\x10\x13' '\x00\x00\x7f\xff' \
+- '\x5e\x67\x63\x43' '\x0c\x77\x07\x07' \
+- '\x76\xc4\x0c\xaa' '\x7f\x48\x9d\x8c' \
+- '\x00\x00\x00\x00' '\x03\x00\x00\x00' \
+- '\x02\x00\x00\x00' '\x56\xac\x9b\x9d' \
+- '\x21\x76\x49\x57' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x15\xf2\xee\x1c' \
+- '\x23\x97\xad\x71' '\x16\x7e\xec\x01' \
+- '\x55\xfd\xbc\xc5'
++ self.req_bin_0 = b'\x01\xba\x00\x17' b'\x6d\x03\x01\x24' \
++ b'\x74\xdb\x41\x4e' b'\xae\xdd\xf0\x2f' \
++ b'\xc9\x0a\x96\xd0' b'\x86\x93\x00\x00' \
++ b'\x17\xba\x10\x13' b'\x00\x00\x7f\xff' \
++ b'\x5e\x67\x63\x43' b'\x0c\x77\x07\x07' \
++ b'\x76\xc4\x0c\xaa' b'\x7f\x48\x9d\x8c' \
++ b'\x00\x00\x00\x00' b'\x03\x00\x00\x00' \
++ b'\x02\x00\x00\x00' b'\x56\xac\x9b\x9d' \
++ b'\x21\x76\x49\x57' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x15\xf2\xee\x1c' \
++ b'\x23\x97\xad\x71' b'\x16\x7e\xec\x01' \
++ b'\x55\xfd\xbc\xc5'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.CreateWindow._request.to_binary, (), self.req_args_0)
++ bin = request.CreateWindow._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -114,19 +122,19 @@
+ 'window': 1813552124,
+ 'attrs': {'backing_pixel': 59516078, 'cursor': 1682969315, 'background_pixmap': 370313360, 'border_pixmap': 1158771722, 'backing_planes': 1432315664, 'win_gravity': 3, 'backing_store': 1, 'event_mask': 1054128649, 'save_under': 0, 'background_pixel': 1953340842, 'colormap': 1462101672, 'border_pixel': 287436510, 'bit_gravity': 10, 'do_not_propagate_mask': 1283834625, 'override_redirect': 0},
+ }
+- self.req_bin_0 = '\x02\x00\x00\x12' '\x6c\x18\x9b\xfc' \
+- '\x00\x00\x7f\xff' '\x16\x12\x88\x90' \
+- '\x74\x6d\x9d\xaa' '\x45\x11\x74\x0a' \
+- '\x11\x21\xee\xde' '\x0a\x00\x00\x00' \
+- '\x03\x00\x00\x00' '\x01\x00\x00\x00' \
+- '\x55\x5f\x67\x10' '\x03\x8c\x24\xae' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x3e\xd4\xba\x09' '\x4c\x85\xc3\x01' \
+- '\x57\x25\xe6\xa8' '\x64\x50\x12\xe3'
++ self.req_bin_0 = b'\x02\x00\x00\x12' b'\x6c\x18\x9b\xfc' \
++ b'\x00\x00\x7f\xff' b'\x16\x12\x88\x90' \
++ b'\x74\x6d\x9d\xaa' b'\x45\x11\x74\x0a' \
++ b'\x11\x21\xee\xde' b'\x0a\x00\x00\x00' \
++ b'\x03\x00\x00\x00' b'\x01\x00\x00\x00' \
++ b'\x55\x5f\x67\x10' b'\x03\x8c\x24\xae' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x3e\xd4\xba\x09' b'\x4c\x85\xc3\x01' \
++ b'\x57\x25\xe6\xa8' b'\x64\x50\x12\xe3'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ChangeWindowAttributes._request.to_binary, (), self.req_args_0)
++ bin = request.ChangeWindowAttributes._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -149,7 +157,7 @@
+ self.req_args_0 = {
+ 'window': 1931593850,
+ }
+- self.req_bin_0 = '\x03\x00\x00\x02' '\x73\x21\xc8\x7a'
++ self.req_bin_0 = b'\x03\x00\x00\x02' b'\x73\x21\xc8\x7a'
+
+ self.reply_args_0 = {
+ 'sequence_number': 60057,
+@@ -169,16 +177,16 @@
+ 'do_not_propagate_mask': 33787,
+ 'override_redirect': 0,
+ }
+- self.reply_bin_0 = '\x01\x93\xea\x99' '\x00\x00\x00\x03' \
+- '\x28\xf8\xb5\x19' '\x47\x6c\xfd\x9d' \
+- '\x3b\x04\x67\x99' '\x08\x23\xc5\x49' \
+- '\x00\x00\xb9\x00' '\x45\x39\x51\x8e' \
+- '\x10\x1b\x49\x0c' '\x4f\x6a\xcc\x0f' \
+- '\x83\xfb\x00\x00'
++ self.reply_bin_0 = b'\x01\x93\xea\x99' b'\x00\x00\x00\x03' \
++ b'\x28\xf8\xb5\x19' b'\x47\x6c\xfd\x9d' \
++ b'\x3b\x04\x67\x99' b'\x08\x23\xc5\x49' \
++ b'\x00\x00\xb9\x00' b'\x45\x39\x51\x8e' \
++ b'\x10\x1b\x49\x0c' b'\x4f\x6a\xcc\x0f' \
++ b'\x83\xfb\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GetWindowAttributes._request.to_binary, (), self.req_args_0)
++ bin = request.GetWindowAttributes._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -196,7 +204,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GetWindowAttributes._reply.to_binary, (), self.reply_args_0)
++ bin = request.GetWindowAttributes._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -219,11 +227,11 @@
+ self.req_args_0 = {
+ 'window': 1622184267,
+ }
+- self.req_bin_0 = '\x04\x00\x00\x02' '\x60\xb0\x91\x4b'
++ self.req_bin_0 = b'\x04\x00\x00\x02' b'\x60\xb0\x91\x4b'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.DestroyWindow._request.to_binary, (), self.req_args_0)
++ bin = request.DestroyWindow._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -246,11 +254,11 @@
+ self.req_args_0 = {
+ 'window': 1000376476,
+ }
+- self.req_bin_0 = '\x05\x00\x00\x02' '\x3b\xa0\x88\x9c'
++ self.req_bin_0 = b'\x05\x00\x00\x02' b'\x3b\xa0\x88\x9c'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.DestroySubWindows._request.to_binary, (), self.req_args_0)
++ bin = request.DestroySubWindows._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -274,11 +282,11 @@
+ 'window': 1577523459,
+ 'mode': 0,
+ }
+- self.req_bin_0 = '\x06\x00\x00\x02' '\x5e\x07\x19\x03'
++ self.req_bin_0 = b'\x06\x00\x00\x02' b'\x5e\x07\x19\x03'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ChangeSaveSet._request.to_binary, (), self.req_args_0)
++ bin = request.ChangeSaveSet._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -304,12 +312,12 @@
+ 'x': -5207,
+ 'y': -22675,
+ }
+- self.req_bin_0 = '\x07\x00\x00\x04' '\x4d\x87\xa0\xa0' \
+- '\x04\x4d\x83\x68' '\xeb\xa9\xa7\x6d'
++ self.req_bin_0 = b'\x07\x00\x00\x04' b'\x4d\x87\xa0\xa0' \
++ b'\x04\x4d\x83\x68' b'\xeb\xa9\xa7\x6d'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ReparentWindow._request.to_binary, (), self.req_args_0)
++ bin = request.ReparentWindow._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -332,11 +340,11 @@
+ self.req_args_0 = {
+ 'window': 61469476,
+ }
+- self.req_bin_0 = '\x08\x00\x00\x02' '\x03\xa9\xf3\x24'
++ self.req_bin_0 = b'\x08\x00\x00\x02' b'\x03\xa9\xf3\x24'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.MapWindow._request.to_binary, (), self.req_args_0)
++ bin = request.MapWindow._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -359,11 +367,11 @@
+ self.req_args_0 = {
+ 'window': 818738118,
+ }
+- self.req_bin_0 = '\x09\x00\x00\x02' '\x30\xcc\xf3\xc6'
++ self.req_bin_0 = b'\x09\x00\x00\x02' b'\x30\xcc\xf3\xc6'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.MapSubwindows._request.to_binary, (), self.req_args_0)
++ bin = request.MapSubwindows._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -386,11 +394,11 @@
+ self.req_args_0 = {
+ 'window': 1923663468,
+ }
+- self.req_bin_0 = '\x0a\x00\x00\x02' '\x72\xa8\xc6\x6c'
++ self.req_bin_0 = b'\x0a\x00\x00\x02' b'\x72\xa8\xc6\x6c'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.UnmapWindow._request.to_binary, (), self.req_args_0)
++ bin = request.UnmapWindow._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -413,11 +421,11 @@
+ self.req_args_0 = {
+ 'window': 999740194,
+ }
+- self.req_bin_0 = '\x0b\x00\x00\x02' '\x3b\x96\xd3\x22'
++ self.req_bin_0 = b'\x0b\x00\x00\x02' b'\x3b\x96\xd3\x22'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.UnmapSubwindows._request.to_binary, (), self.req_args_0)
++ bin = request.UnmapSubwindows._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -441,15 +449,15 @@
+ 'window': 190634459,
+ 'attrs': {'height': 57788, 'stack_mode': 2, 'border_width': -320, 'width': 53674, 'x': -2248, 'y': -29960, 'sibling': 1012823324},
+ }
+- self.req_bin_0 = '\x0c\x00\x00\x0a' '\x0b\x5c\xd9\xdb' \
+- '\x00\x7f\x00\x00' '\xf7\x38\x00\x00' \
+- '\x8a\xf8\x00\x00' '\xd1\xaa\x00\x00' \
+- '\xe1\xbc\x00\x00' '\xfe\xc0\x00\x00' \
+- '\x3c\x5e\x75\x1c' '\x02\x00\x00\x00'
++ self.req_bin_0 = b'\x0c\x00\x00\x0a' b'\x0b\x5c\xd9\xdb' \
++ b'\x00\x7f\x00\x00' b'\xf7\x38\x00\x00' \
++ b'\x8a\xf8\x00\x00' b'\xd1\xaa\x00\x00' \
++ b'\xe1\xbc\x00\x00' b'\xfe\xc0\x00\x00' \
++ b'\x3c\x5e\x75\x1c' b'\x02\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ConfigureWindow._request.to_binary, (), self.req_args_0)
++ bin = request.ConfigureWindow._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -473,11 +481,11 @@
+ 'window': 1712979067,
+ 'direction': 1,
+ }
+- self.req_bin_0 = '\x0d\x01\x00\x02' '\x66\x19\xfc\x7b'
++ self.req_bin_0 = b'\x0d\x01\x00\x02' b'\x66\x19\xfc\x7b'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.CirculateWindow._request.to_binary, (), self.req_args_0)
++ bin = request.CirculateWindow._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -500,7 +508,7 @@
+ self.req_args_0 = {
+ 'drawable': 680179490,
+ }
+- self.req_bin_0 = '\x0e\x00\x00\x02' '\x28\x8a\xb7\x22'
++ self.req_bin_0 = b'\x0e\x00\x00\x02' b'\x28\x8a\xb7\x22'
+
+ self.reply_args_0 = {
+ 'height': 64954,
+@@ -512,14 +520,14 @@
+ 'depth': 204,
+ 'width': 38433,
+ }
+- self.reply_bin_0 = '\x01\xcc\x9a\x2d' '\x00\x00\x00\x00' \
+- '\x24\x55\x8d\x71' '\xfb\x1b\xd4\x54' \
+- '\x96\x21\xfd\xba' '\x01\xf0\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\xcc\x9a\x2d' b'\x00\x00\x00\x00' \
++ b'\x24\x55\x8d\x71' b'\xfb\x1b\xd4\x54' \
++ b'\x96\x21\xfd\xba' b'\x01\xf0\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GetGeometry._request.to_binary, (), self.req_args_0)
++ bin = request.GetGeometry._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -537,7 +545,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GetGeometry._reply.to_binary, (), self.reply_args_0)
++ bin = request.GetGeometry._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -560,7 +568,7 @@
+ self.req_args_0 = {
+ 'window': 2052496265,
+ }
+- self.req_bin_0 = '\x0f\x00\x00\x02' '\x7a\x56\x9b\x89'
++ self.req_bin_0 = b'\x0f\x00\x00\x02' b'\x7a\x56\x9b\x89'
+
+ self.reply_args_0 = {
+ 'sequence_number': 33887,
+@@ -568,18 +576,18 @@
+ 'root': 1856577120,
+ 'parent': 2105827407,
+ }
+- self.reply_bin_0 = '\x01\x00\x84\x5f' '\x00\x00\x00\x07' \
+- '\x6e\xa9\x1e\x60' '\x7d\x84\x60\x4f' \
+- '\x00\x07\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x6b\x09\x3d\x72' '\x59\x14\x21\xa5' \
+- '\x2c\x9a\x2c\x42' '\x2b\x7b\x78\xa1' \
+- '\x4b\x39\x79\x79' '\x03\xd4\x32\x73' \
+- '\x40\xdd\x8e\x53'
++ self.reply_bin_0 = b'\x01\x00\x84\x5f' b'\x00\x00\x00\x07' \
++ b'\x6e\xa9\x1e\x60' b'\x7d\x84\x60\x4f' \
++ b'\x00\x07\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x6b\x09\x3d\x72' b'\x59\x14\x21\xa5' \
++ b'\x2c\x9a\x2c\x42' b'\x2b\x7b\x78\xa1' \
++ b'\x4b\x39\x79\x79' b'\x03\xd4\x32\x73' \
++ b'\x40\xdd\x8e\x53'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.QueryTree._request.to_binary, (), self.req_args_0)
++ bin = request.QueryTree._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -597,7 +605,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.QueryTree._reply.to_binary, (), self.reply_args_0)
++ bin = request.QueryTree._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -621,22 +629,22 @@
+ 'only_if_exists': 0,
+ 'name': 'fuzzy_prop',
+ }
+- self.req_bin_0 = '\x10\x00\x00\x05' '\x00\x0a\x00\x00' \
+- '\x66\x75\x7a\x7a' '\x79\x5f\x70\x72' \
+- '\x6f\x70\x00\x00'
++ self.req_bin_0 = b'\x10\x00\x00\x05' b'\x00\x0a\x00\x00' \
++ b'\x66\x75\x7a\x7a' b'\x79\x5f\x70\x72' \
++ b'\x6f\x70\x00\x00'
+
+ self.reply_args_0 = {
+ 'atom': 48723297,
+ 'sequence_number': 35223,
+ }
+- self.reply_bin_0 = '\x01\x00\x89\x97' '\x00\x00\x00\x00' \
+- '\x02\xe7\x75\x61' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x00\x89\x97' b'\x00\x00\x00\x00' \
++ b'\x02\xe7\x75\x61' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.InternAtom._request.to_binary, (), self.req_args_0)
++ bin = request.InternAtom._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -654,7 +662,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.InternAtom._reply.to_binary, (), self.reply_args_0)
++ bin = request.InternAtom._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -677,21 +685,21 @@
+ self.req_args_0 = {
+ 'atom': 1022286544,
+ }
+- self.req_bin_0 = '\x11\x00\x00\x02' '\x3c\xee\xda\xd0'
++ self.req_bin_0 = b'\x11\x00\x00\x02' b'\x3c\xee\xda\xd0'
+
+ self.reply_args_0 = {
+ 'sequence_number': 22699,
+ 'name': 'WM_CLASS',
+ }
+- self.reply_bin_0 = '\x01\x00\x58\xab' '\x00\x00\x00\x02' \
+- '\x00\x08\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x57\x4d\x5f\x43' '\x4c\x41\x53\x53'
++ self.reply_bin_0 = b'\x01\x00\x58\xab' b'\x00\x00\x00\x02' \
++ b'\x00\x08\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x57\x4d\x5f\x43' b'\x4c\x41\x53\x53'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GetAtomName._request.to_binary, (), self.req_args_0)
++ bin = request.GetAtomName._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -709,7 +717,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GetAtomName._reply.to_binary, (), self.reply_args_0)
++ bin = request.GetAtomName._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -736,9 +744,9 @@
+ 'window': 266197951,
+ 'type': 1343008022,
+ }
+- self.req_bin_0 = '\x12\x00\x00\x06' '\x0f\xdd\xdb\xbf' \
+- '\x7c\x4c\x97\x11' '\x50\x0c\xad\x16' \
+- '\x08\x00\x00\x00' '\x00\x00\x00\x00'
++ self.req_bin_0 = b'\x12\x00\x00\x06' b'\x0f\xdd\xdb\xbf' \
++ b'\x7c\x4c\x97\x11' b'\x50\x0c\xad\x16' \
++ b'\x08\x00\x00\x00' b'\x00\x00\x00\x00'
+
+ self.req_args_1 = {
+ 'mode': 2,
+@@ -747,10 +755,10 @@
+ 'window': 1522118044,
+ 'type': 121096013,
+ }
+- self.req_bin_1 = '\x12\x02\x00\x07' '\x5a\xb9\xad\x9c' \
+- '\x1a\xce\x2e\xab' '\x07\x37\xc7\x4d' \
+- '\x08\x00\x00\x00' '\x00\x00\x00\x03' \
+- '\x66\x6f\x6f\x00'
++ self.req_bin_1 = b'\x12\x02\x00\x07' b'\x5a\xb9\xad\x9c' \
++ b'\x1a\xce\x2e\xab' b'\x07\x37\xc7\x4d' \
++ b'\x08\x00\x00\x00' b'\x00\x00\x00\x03' \
++ b'\x66\x6f\x6f\x00'
+
+ self.req_args_2 = {
+ 'mode': 2,
+@@ -759,10 +767,10 @@
+ 'window': 286324270,
+ 'type': 1547457396,
+ }
+- self.req_bin_2 = '\x12\x02\x00\x07' '\x11\x10\xf6\x2e' \
+- '\x3c\x30\xf5\x5a' '\x5c\x3c\x53\x74' \
+- '\x08\x00\x00\x00' '\x00\x00\x00\x04' \
+- '\x7a\x6f\x6f\x6d'
++ self.req_bin_2 = b'\x12\x02\x00\x07' b'\x11\x10\xf6\x2e' \
++ b'\x3c\x30\xf5\x5a' b'\x5c\x3c\x53\x74' \
++ b'\x08\x00\x00\x00' b'\x00\x00\x00\x04' \
++ b'\x7a\x6f\x6f\x6d'
+
+ self.req_args_3 = {
+ 'mode': 0,
+@@ -771,9 +779,9 @@
+ 'window': 1964921608,
+ 'type': 692879036,
+ }
+- self.req_bin_3 = '\x12\x00\x00\x06' '\x75\x1e\x53\x08' \
+- '\x19\x73\x3e\xc0' '\x29\x4c\x7e\xbc' \
+- '\x10\x00\x00\x00' '\x00\x00\x00\x00'
++ self.req_bin_3 = b'\x12\x00\x00\x06' b'\x75\x1e\x53\x08' \
++ b'\x19\x73\x3e\xc0' b'\x29\x4c\x7e\xbc' \
++ b'\x10\x00\x00\x00' b'\x00\x00\x00\x00'
+
+ self.req_args_4 = {
+ 'mode': 0,
+@@ -782,10 +790,10 @@
+ 'window': 560040176,
+ 'type': 2030208993,
+ }
+- self.req_bin_4 = '\x12\x00\x00\x08' '\x21\x61\x88\xf0' \
+- '\x2f\xbe\x64\xa4' '\x79\x02\x87\xe1' \
+- '\x10\x00\x00\x00' '\x00\x00\x00\x03' \
+- '\x00\x01\x00\x02' '\x00\x03\x00\x00'
++ self.req_bin_4 = b'\x12\x00\x00\x08' b'\x21\x61\x88\xf0' \
++ b'\x2f\xbe\x64\xa4' b'\x79\x02\x87\xe1' \
++ b'\x10\x00\x00\x00' b'\x00\x00\x00\x03' \
++ b'\x00\x01\x00\x02' b'\x00\x03\x00\x00'
+
+ self.req_args_5 = {
+ 'mode': 0,
+@@ -794,10 +802,10 @@
+ 'window': 2016421454,
+ 'type': 434059096,
+ }
+- self.req_bin_5 = '\x12\x00\x00\x08' '\x78\x30\x26\x4e' \
+- '\x53\x8c\x0f\x22' '\x19\xdf\x37\x58' \
+- '\x10\x00\x00\x00' '\x00\x00\x00\x04' \
+- '\x00\x01\x00\x02' '\x00\x03\x00\x04'
++ self.req_bin_5 = b'\x12\x00\x00\x08' b'\x78\x30\x26\x4e' \
++ b'\x53\x8c\x0f\x22' b'\x19\xdf\x37\x58' \
++ b'\x10\x00\x00\x00' b'\x00\x00\x00\x04' \
++ b'\x00\x01\x00\x02' b'\x00\x03\x00\x04'
+
+ self.req_args_6 = {
+ 'mode': 2,
+@@ -806,9 +814,9 @@
+ 'window': 461926013,
+ 'type': 613217208,
+ }
+- self.req_bin_6 = '\x12\x02\x00\x06' '\x1b\x88\x6e\x7d' \
+- '\x3c\x23\x1c\xbb' '\x24\x8c\xf3\xb8' \
+- '\x20\x00\x00\x00' '\x00\x00\x00\x00'
++ self.req_bin_6 = b'\x12\x02\x00\x06' b'\x1b\x88\x6e\x7d' \
++ b'\x3c\x23\x1c\xbb' b'\x24\x8c\xf3\xb8' \
++ b'\x20\x00\x00\x00' b'\x00\x00\x00\x00'
+
+ self.req_args_7 = {
+ 'mode': 1,
+@@ -817,15 +825,15 @@
+ 'window': 367636986,
+ 'type': 1085552939,
+ }
+- self.req_bin_7 = '\x12\x01\x00\x09' '\x15\xe9\xb1\xfa' \
+- '\x57\xc4\x9f\x58' '\x40\xb4\x39\x2b' \
+- '\x20\x00\x00\x00' '\x00\x00\x00\x03' \
+- '\x00\x00\x00\x01' '\x00\x00\x00\x02' \
+- '\x00\x00\x00\x03'
++ self.req_bin_7 = b'\x12\x01\x00\x09' b'\x15\xe9\xb1\xfa' \
++ b'\x57\xc4\x9f\x58' b'\x40\xb4\x39\x2b' \
++ b'\x20\x00\x00\x00' b'\x00\x00\x00\x03' \
++ b'\x00\x00\x00\x01' b'\x00\x00\x00\x02' \
++ b'\x00\x00\x00\x03'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ChangeProperty._request.to_binary, (), self.req_args_0)
++ bin = request.ChangeProperty._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -843,7 +851,7 @@
+ raise AssertionError(args)
+
+ def testPackRequest1(self):
+- bin = apply(request.ChangeProperty._request.to_binary, (), self.req_args_1)
++ bin = request.ChangeProperty._request.to_binary(*(), **self.req_args_1)
+ try:
+ assert bin == self.req_bin_1
+ except AssertionError:
+@@ -861,7 +869,7 @@
+ raise AssertionError(args)
+
+ def testPackRequest2(self):
+- bin = apply(request.ChangeProperty._request.to_binary, (), self.req_args_2)
++ bin = request.ChangeProperty._request.to_binary(*(), **self.req_args_2)
+ try:
+ assert bin == self.req_bin_2
+ except AssertionError:
+@@ -879,7 +887,7 @@
+ raise AssertionError(args)
+
+ def testPackRequest3(self):
+- bin = apply(request.ChangeProperty._request.to_binary, (), self.req_args_3)
++ bin = request.ChangeProperty._request.to_binary(*(), **self.req_args_3)
+ try:
+ assert bin == self.req_bin_3
+ except AssertionError:
+@@ -897,7 +905,7 @@
+ raise AssertionError(args)
+
+ def testPackRequest4(self):
+- bin = apply(request.ChangeProperty._request.to_binary, (), self.req_args_4)
++ bin = request.ChangeProperty._request.to_binary(*(), **self.req_args_4)
+ try:
+ assert bin == self.req_bin_4
+ except AssertionError:
+@@ -915,7 +923,7 @@
+ raise AssertionError(args)
+
+ def testPackRequest5(self):
+- bin = apply(request.ChangeProperty._request.to_binary, (), self.req_args_5)
++ bin = request.ChangeProperty._request.to_binary(*(), **self.req_args_5)
+ try:
+ assert bin == self.req_bin_5
+ except AssertionError:
+@@ -933,7 +941,7 @@
+ raise AssertionError(args)
+
+ def testPackRequest6(self):
+- bin = apply(request.ChangeProperty._request.to_binary, (), self.req_args_6)
++ bin = request.ChangeProperty._request.to_binary(*(), **self.req_args_6)
+ try:
+ assert bin == self.req_bin_6
+ except AssertionError:
+@@ -951,7 +959,7 @@
+ raise AssertionError(args)
+
+ def testPackRequest7(self):
+- bin = apply(request.ChangeProperty._request.to_binary, (), self.req_args_7)
++ bin = request.ChangeProperty._request.to_binary(*(), **self.req_args_7)
+ try:
+ assert bin == self.req_bin_7
+ except AssertionError:
+@@ -975,12 +983,12 @@
+ 'property': 506897017,
+ 'window': 381870530,
+ }
+- self.req_bin_0 = '\x13\x00\x00\x03' '\x16\xc2\xe1\xc2' \
+- '\x1e\x36\xa2\x79'
++ self.req_bin_0 = b'\x13\x00\x00\x03' b'\x16\xc2\xe1\xc2' \
++ b'\x1e\x36\xa2\x79'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.DeleteProperty._request.to_binary, (), self.req_args_0)
++ bin = request.DeleteProperty._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1008,9 +1016,9 @@
+ 'window': 1477792536,
+ 'long_length': 1346507413,
+ }
+- self.req_bin_0 = '\x14\x00\x00\x06' '\x58\x15\x53\x18' \
+- '\x3c\x11\x6b\x13' '\x5c\xc5\x9b\xa0' \
+- '\x5d\x30\x8c\xce' '\x50\x42\x12\x95'
++ self.req_bin_0 = b'\x14\x00\x00\x06' b'\x58\x15\x53\x18' \
++ b'\x3c\x11\x6b\x13' b'\x5c\xc5\x9b\xa0' \
++ b'\x5d\x30\x8c\xce' b'\x50\x42\x12\x95'
+
+ self.reply_args_0 = {
+ 'value': (8, ''),
+@@ -1018,10 +1026,10 @@
+ 'property_type': 1392423916,
+ 'bytes_after': 2046056935,
+ }
+- self.reply_bin_0 = '\x01\x08\x77\x8e' '\x00\x00\x00\x00' \
+- '\x52\xfe\xb3\xec' '\x79\xf4\x59\xe7' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x08\x77\x8e' b'\x00\x00\x00\x00' \
++ b'\x52\xfe\xb3\xec' b'\x79\xf4\x59\xe7' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+ self.reply_args_1 = {
+ 'value': (8, 'foo'),
+@@ -1029,11 +1037,11 @@
+ 'property_type': 186441230,
+ 'bytes_after': 469299413,
+ }
+- self.reply_bin_1 = '\x01\x08\xac\xf7' '\x00\x00\x00\x01' \
+- '\x0b\x1c\xde\x0e' '\x1b\xf8\xf0\xd5' \
+- '\x00\x00\x00\x03' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x66\x6f\x6f\x00'
++ self.reply_bin_1 = b'\x01\x08\xac\xf7' b'\x00\x00\x00\x01' \
++ b'\x0b\x1c\xde\x0e' b'\x1b\xf8\xf0\xd5' \
++ b'\x00\x00\x00\x03' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x66\x6f\x6f\x00'
+
+ self.reply_args_2 = {
+ 'value': (8, 'zoom'),
+@@ -1041,11 +1049,11 @@
+ 'property_type': 1802804296,
+ 'bytes_after': 1968158856,
+ }
+- self.reply_bin_2 = '\x01\x08\x31\x82' '\x00\x00\x00\x01' \
+- '\x6b\x74\x9c\x48' '\x75\x4f\xb8\x88' \
+- '\x00\x00\x00\x04' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x7a\x6f\x6f\x6d'
++ self.reply_bin_2 = b'\x01\x08\x31\x82' b'\x00\x00\x00\x01' \
++ b'\x6b\x74\x9c\x48' b'\x75\x4f\xb8\x88' \
++ b'\x00\x00\x00\x04' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x7a\x6f\x6f\x6d'
+
+ self.reply_args_3 = {
+ 'value': (16, []),
+@@ -1053,10 +1061,10 @@
+ 'property_type': 536196393,
+ 'bytes_after': 1874157309,
+ }
+- self.reply_bin_3 = '\x01\x10\x62\xdf' '\x00\x00\x00\x00' \
+- '\x1f\xf5\xb5\x29' '\x6f\xb5\x5e\xfd' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_3 = b'\x01\x10\x62\xdf' b'\x00\x00\x00\x00' \
++ b'\x1f\xf5\xb5\x29' b'\x6f\xb5\x5e\xfd' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+ self.reply_args_4 = {
+ 'value': (16, [1, 2, 3]),
+@@ -1064,11 +1072,11 @@
+ 'property_type': 1046879880,
+ 'bytes_after': 1952710167,
+ }
+- self.reply_bin_4 = '\x01\x10\x58\x89' '\x00\x00\x00\x02' \
+- '\x3e\x66\x1e\x88' '\x74\x63\xfe\x17' \
+- '\x00\x00\x00\x03' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x01\x00\x02' '\x00\x03\x00\x00'
++ self.reply_bin_4 = b'\x01\x10\x58\x89' b'\x00\x00\x00\x02' \
++ b'\x3e\x66\x1e\x88' b'\x74\x63\xfe\x17' \
++ b'\x00\x00\x00\x03' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x01\x00\x02' b'\x00\x03\x00\x00'
+
+ self.reply_args_5 = {
+ 'value': (16, [1, 2, 3, 4]),
+@@ -1076,11 +1084,11 @@
+ 'property_type': 1014173132,
+ 'bytes_after': 1791090668,
+ }
+- self.reply_bin_5 = '\x01\x10\x4a\x54' '\x00\x00\x00\x02' \
+- '\x3c\x73\x0d\xcc' '\x6a\xc1\xdf\xec' \
+- '\x00\x00\x00\x04' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x01\x00\x02' '\x00\x03\x00\x04'
++ self.reply_bin_5 = b'\x01\x10\x4a\x54' b'\x00\x00\x00\x02' \
++ b'\x3c\x73\x0d\xcc' b'\x6a\xc1\xdf\xec' \
++ b'\x00\x00\x00\x04' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x01\x00\x02' b'\x00\x03\x00\x04'
+
+ self.reply_args_6 = {
+ 'value': (32, []),
+@@ -1088,10 +1096,10 @@
+ 'property_type': 2053870497,
+ 'bytes_after': 1727548898,
+ }
+- self.reply_bin_6 = '\x01\x20\xb8\x7a' '\x00\x00\x00\x00' \
+- '\x7a\x6b\x93\xa1' '\x66\xf8\x4d\xe2' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_6 = b'\x01\x20\xb8\x7a' b'\x00\x00\x00\x00' \
++ b'\x7a\x6b\x93\xa1' b'\x66\xf8\x4d\xe2' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+ self.reply_args_7 = {
+ 'value': (32, [1, 2, 3]),
+@@ -1099,16 +1107,16 @@
+ 'property_type': 704363625,
+ 'bytes_after': 1957409055,
+ }
+- self.reply_bin_7 = '\x01\x20\x90\xe6' '\x00\x00\x00\x03' \
+- '\x29\xfb\xbc\x69' '\x74\xab\xb1\x1f' \
+- '\x00\x00\x00\x03' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x01' '\x00\x00\x00\x02' \
+- '\x00\x00\x00\x03'
++ self.reply_bin_7 = b'\x01\x20\x90\xe6' b'\x00\x00\x00\x03' \
++ b'\x29\xfb\xbc\x69' b'\x74\xab\xb1\x1f' \
++ b'\x00\x00\x00\x03' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x01' b'\x00\x00\x00\x02' \
++ b'\x00\x00\x00\x03'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GetProperty._request.to_binary, (), self.req_args_0)
++ bin = request.GetProperty._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1126,7 +1134,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GetProperty._reply.to_binary, (), self.reply_args_0)
++ bin = request.GetProperty._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -1144,7 +1152,7 @@
+ raise AssertionError(args)
+
+ def testPackReply1(self):
+- bin = apply(request.GetProperty._reply.to_binary, (), self.reply_args_1)
++ bin = request.GetProperty._reply.to_binary(*(), **self.reply_args_1)
+ try:
+ assert bin == self.reply_bin_1
+ except AssertionError:
+@@ -1162,7 +1170,7 @@
+ raise AssertionError(args)
+
+ def testPackReply2(self):
+- bin = apply(request.GetProperty._reply.to_binary, (), self.reply_args_2)
++ bin = request.GetProperty._reply.to_binary(*(), **self.reply_args_2)
+ try:
+ assert bin == self.reply_bin_2
+ except AssertionError:
+@@ -1180,7 +1188,7 @@
+ raise AssertionError(args)
+
+ def testPackReply3(self):
+- bin = apply(request.GetProperty._reply.to_binary, (), self.reply_args_3)
++ bin = request.GetProperty._reply.to_binary(*(), **self.reply_args_3)
+ try:
+ assert bin == self.reply_bin_3
+ except AssertionError:
+@@ -1198,7 +1206,7 @@
+ raise AssertionError(args)
+
+ def testPackReply4(self):
+- bin = apply(request.GetProperty._reply.to_binary, (), self.reply_args_4)
++ bin = request.GetProperty._reply.to_binary(*(), **self.reply_args_4)
+ try:
+ assert bin == self.reply_bin_4
+ except AssertionError:
+@@ -1216,7 +1224,7 @@
+ raise AssertionError(args)
+
+ def testPackReply5(self):
+- bin = apply(request.GetProperty._reply.to_binary, (), self.reply_args_5)
++ bin = request.GetProperty._reply.to_binary(*(), **self.reply_args_5)
+ try:
+ assert bin == self.reply_bin_5
+ except AssertionError:
+@@ -1234,7 +1242,7 @@
+ raise AssertionError(args)
+
+ def testPackReply6(self):
+- bin = apply(request.GetProperty._reply.to_binary, (), self.reply_args_6)
++ bin = request.GetProperty._reply.to_binary(*(), **self.reply_args_6)
+ try:
+ assert bin == self.reply_bin_6
+ except AssertionError:
+@@ -1252,7 +1260,7 @@
+ raise AssertionError(args)
+
+ def testPackReply7(self):
+- bin = apply(request.GetProperty._reply.to_binary, (), self.reply_args_7)
++ bin = request.GetProperty._reply.to_binary(*(), **self.reply_args_7)
+ try:
+ assert bin == self.reply_bin_7
+ except AssertionError:
+@@ -1275,32 +1283,32 @@
+ self.req_args_0 = {
+ 'window': 91262675,
+ }
+- self.req_bin_0 = '\x15\x00\x00\x02' '\x05\x70\x8e\xd3'
++ self.req_bin_0 = b'\x15\x00\x00\x02' b'\x05\x70\x8e\xd3'
+
+ self.reply_args_0 = {
+ 'atoms': [580972634, 926488735, 714741529, 408777797, 679906858, 705092899, 2063243279, 893967755, 1591182471, 571137996, 1677110101, 1783836762, 1678219148, 1992402577, 871298793, 1182885899, 1155013854, 1822076326, 2117552706, 1972668469, 1660227078, 1523268962, 694042433],
+ 'sequence_number': 42191,
+ }
+- self.reply_bin_0 = '\x01\x00\xa4\xcf' '\x00\x00\x00\x17' \
+- '\x00\x17\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x22\xa0\xf0\x5a' '\x37\x39\x18\x9f' \
+- '\x2a\x9a\x17\x19' '\x18\x5d\x74\x45' \
+- '\x28\x86\x8e\x2a' '\x2a\x06\xdd\x23' \
+- '\x7a\xfa\x98\x0f' '\x35\x48\xdd\x8b' \
+- '\x5e\xd7\x84\x87' '\x22\x0a\xdf\xcc' \
+- '\x63\xf6\xab\x55' '\x6a\x53\x30\x5a' \
+- '\x64\x07\x97\x8c' '\x76\xc1\xa6\x91' \
+- '\x33\xee\xf6\xe9' '\x46\x81\x68\x0b' \
+- '\x44\xd8\x1c\xde' '\x6c\x9a\xad\xa6' \
+- '\x7e\x37\x4a\x42' '\x75\x94\x88\x35' \
+- '\x62\xf5\x0e\x06' '\x5a\xcb\x3d\x62' \
+- '\x29\x5e\x3f\x41'
++ self.reply_bin_0 = b'\x01\x00\xa4\xcf' b'\x00\x00\x00\x17' \
++ b'\x00\x17\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x22\xa0\xf0\x5a' b'\x37\x39\x18\x9f' \
++ b'\x2a\x9a\x17\x19' b'\x18\x5d\x74\x45' \
++ b'\x28\x86\x8e\x2a' b'\x2a\x06\xdd\x23' \
++ b'\x7a\xfa\x98\x0f' b'\x35\x48\xdd\x8b' \
++ b'\x5e\xd7\x84\x87' b'\x22\x0a\xdf\xcc' \
++ b'\x63\xf6\xab\x55' b'\x6a\x53\x30\x5a' \
++ b'\x64\x07\x97\x8c' b'\x76\xc1\xa6\x91' \
++ b'\x33\xee\xf6\xe9' b'\x46\x81\x68\x0b' \
++ b'\x44\xd8\x1c\xde' b'\x6c\x9a\xad\xa6' \
++ b'\x7e\x37\x4a\x42' b'\x75\x94\x88\x35' \
++ b'\x62\xf5\x0e\x06' b'\x5a\xcb\x3d\x62' \
++ b'\x29\x5e\x3f\x41'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ListProperties._request.to_binary, (), self.req_args_0)
++ bin = request.ListProperties._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1318,7 +1326,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.ListProperties._reply.to_binary, (), self.reply_args_0)
++ bin = request.ListProperties._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -1343,12 +1351,12 @@
+ 'window': 1190911777,
+ 'time': 1606660593,
+ }
+- self.req_bin_0 = '\x16\x00\x00\x04' '\x46\xfb\xdf\x21' \
+- '\x7b\x74\xe4\x1b' '\x5f\xc3\xb1\xf1'
++ self.req_bin_0 = b'\x16\x00\x00\x04' b'\x46\xfb\xdf\x21' \
++ b'\x7b\x74\xe4\x1b' b'\x5f\xc3\xb1\xf1'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.SetSelectionOwner._request.to_binary, (), self.req_args_0)
++ bin = request.SetSelectionOwner._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1371,20 +1379,20 @@
+ self.req_args_0 = {
+ 'selection': 819576555,
+ }
+- self.req_bin_0 = '\x17\x00\x00\x02' '\x30\xd9\xbe\xeb'
++ self.req_bin_0 = b'\x17\x00\x00\x02' b'\x30\xd9\xbe\xeb'
+
+ self.reply_args_0 = {
+ 'sequence_number': 14152,
+ 'owner': 1922331178,
+ }
+- self.reply_bin_0 = '\x01\x00\x37\x48' '\x00\x00\x00\x00' \
+- '\x72\x94\x72\x2a' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x00\x37\x48' b'\x00\x00\x00\x00' \
++ b'\x72\x94\x72\x2a' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GetSelectionOwner._request.to_binary, (), self.req_args_0)
++ bin = request.GetSelectionOwner._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1402,7 +1410,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GetSelectionOwner._reply.to_binary, (), self.reply_args_0)
++ bin = request.GetSelectionOwner._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -1429,13 +1437,13 @@
+ 'selection': 125139929,
+ 'requestor': 300355135,
+ }
+- self.req_bin_0 = '\x18\x00\x00\x06' '\x11\xe7\x0e\x3f' \
+- '\x07\x75\x7b\xd9' '\x75\x8e\x82\x08' \
+- '\x7f\x6c\x1d\xb7' '\x5f\x0c\x79\xd6'
++ self.req_bin_0 = b'\x18\x00\x00\x06' b'\x11\xe7\x0e\x3f' \
++ b'\x07\x75\x7b\xd9' b'\x75\x8e\x82\x08' \
++ b'\x7f\x6c\x1d\xb7' b'\x5f\x0c\x79\xd6'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ConvertSelection._request.to_binary, (), self.req_args_0)
++ bin = request.ConvertSelection._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1461,16 +1469,16 @@
+ 'destination': 1369243800,
+ 'event_mask': 1594482936,
+ }
+- self.req_bin_0 = '\x19\x01\x00\x0b' '\x51\x9d\x00\x98' \
+- '\x5f\x09\xe0\xf8' '\x0c\x00\x00\x00' \
+- '\x4e\xce\xfa\x94' '\xcd\x42\xdb\xfc' \
+- '\x40\xe4\xfd\x10' '\x37\x54\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00'
++ self.req_bin_0 = b'\x19\x01\x00\x0b' b'\x51\x9d\x00\x98' \
++ b'\x5f\x09\xe0\xf8' b'\x0c\x00\x00\x00' \
++ b'\x4e\xce\xfa\x94' b'\xcd\x42\xdb\xfc' \
++ b'\x40\xe4\xfd\x10' b'\x37\x54\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.SendEvent._request.to_binary, (), self.req_args_0)
++ bin = request.SendEvent._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1500,22 +1508,22 @@
+ 'keyboard_mode': 1,
+ 'cursor': 17101598,
+ }
+- self.req_bin_0 = '\x1a\x01\x00\x06' '\x7d\x75\x91\xbc' \
+- '\x08\x1b\x00\x01' '\x76\x82\xb9\x57' \
+- '\x01\x04\xf3\x1e' '\x4e\x77\x17\xcc'
++ self.req_bin_0 = b'\x1a\x01\x00\x06' b'\x7d\x75\x91\xbc' \
++ b'\x08\x1b\x00\x01' b'\x76\x82\xb9\x57' \
++ b'\x01\x04\xf3\x1e' b'\x4e\x77\x17\xcc'
+
+ self.reply_args_0 = {
+ 'sequence_number': 47539,
+ 'status': 149,
+ }
+- self.reply_bin_0 = '\x01\x95\xb9\xb3' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x95\xb9\xb3' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GrabPointer._request.to_binary, (), self.req_args_0)
++ bin = request.GrabPointer._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1533,7 +1541,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GrabPointer._reply.to_binary, (), self.reply_args_0)
++ bin = request.GrabPointer._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -1556,11 +1564,11 @@
+ self.req_args_0 = {
+ 'time': 209008422,
+ }
+- self.req_bin_0 = '\x1b\x00\x00\x02' '\x0c\x75\x37\x26'
++ self.req_bin_0 = b'\x1b\x00\x00\x02' b'\x0c\x75\x37\x26'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.UngrabPointer._request.to_binary, (), self.req_args_0)
++ bin = request.UngrabPointer._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1591,13 +1599,13 @@
+ 'keyboard_mode': 1,
+ 'cursor': 1070323643,
+ }
+- self.req_bin_0 = '\x1c\x01\x00\x06' '\x1f\x60\x42\x88' \
+- '\x3f\x97\x01\x01' '\x6d\xe8\x6c\x5b' \
+- '\x3f\xcb\xd7\xbb' '\xd0\x00\x3c\xe5'
++ self.req_bin_0 = b'\x1c\x01\x00\x06' b'\x1f\x60\x42\x88' \
++ b'\x3f\x97\x01\x01' b'\x6d\xe8\x6c\x5b' \
++ b'\x3f\xcb\xd7\xbb' b'\xd0\x00\x3c\xe5'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GrabButton._request.to_binary, (), self.req_args_0)
++ bin = request.GrabButton._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1622,12 +1630,12 @@
+ 'button': 240,
+ 'modifiers': 51717,
+ }
+- self.req_bin_0 = '\x1d\xf0\x00\x03' '\x2f\x69\x0e\x86' \
+- '\xca\x05\x00\x00'
++ self.req_bin_0 = b'\x1d\xf0\x00\x03' b'\x2f\x69\x0e\x86' \
++ b'\xca\x05\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.UngrabButton._request.to_binary, (), self.req_args_0)
++ bin = request.UngrabButton._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1652,12 +1660,12 @@
+ 'event_mask': 23423,
+ 'cursor': 1696594928,
+ }
+- self.req_bin_0 = '\x1e\x00\x00\x04' '\x65\x1f\xfb\xf0' \
+- '\x35\x20\xbb\x64' '\x5b\x7f\x00\x00'
++ self.req_bin_0 = b'\x1e\x00\x00\x04' b'\x65\x1f\xfb\xf0' \
++ b'\x35\x20\xbb\x64' b'\x5b\x7f\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ChangeActivePointerGrab._request.to_binary, (), self.req_args_0)
++ bin = request.ChangeActivePointerGrab._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1684,21 +1692,21 @@
+ 'pointer_mode': 1,
+ 'keyboard_mode': 1,
+ }
+- self.req_bin_0 = '\x1f\x00\x00\x04' '\x04\x89\xaf\x67' \
+- '\x5d\x23\x78\xd9' '\x01\x01\x00\x00'
++ self.req_bin_0 = b'\x1f\x00\x00\x04' b'\x04\x89\xaf\x67' \
++ b'\x5d\x23\x78\xd9' b'\x01\x01\x00\x00'
+
+ self.reply_args_0 = {
+ 'sequence_number': 9648,
+ 'status': 129,
+ }
+- self.reply_bin_0 = '\x01\x81\x25\xb0' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x81\x25\xb0' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GrabKeyboard._request.to_binary, (), self.req_args_0)
++ bin = request.GrabKeyboard._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1716,7 +1724,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GrabKeyboard._reply.to_binary, (), self.reply_args_0)
++ bin = request.GrabKeyboard._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -1739,11 +1747,11 @@
+ self.req_args_0 = {
+ 'time': 1352311886,
+ }
+- self.req_bin_0 = '\x20\x00\x00\x02' '\x50\x9a\xa4\x4e'
++ self.req_bin_0 = b'\x20\x00\x00\x02' b'\x50\x9a\xa4\x4e'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.UngrabKeyboard._request.to_binary, (), self.req_args_0)
++ bin = request.UngrabKeyboard._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1771,12 +1779,12 @@
+ 'modifiers': 28819,
+ 'key': 193,
+ }
+- self.req_bin_0 = '\x21\x01\x00\x04' '\x57\x78\x21\xf0' \
+- '\x70\x93\xc1\x00' '\x00\x00\x00\x00'
++ self.req_bin_0 = b'\x21\x01\x00\x04' b'\x57\x78\x21\xf0' \
++ b'\x70\x93\xc1\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GrabKey._request.to_binary, (), self.req_args_0)
++ bin = request.GrabKey._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1801,12 +1809,12 @@
+ 'key': 215,
+ 'modifiers': 60588,
+ }
+- self.req_bin_0 = '\x22\xd7\x00\x03' '\x2d\xe4\x31\xbb' \
+- '\xec\xac\x00\x00'
++ self.req_bin_0 = b'\x22\xd7\x00\x03' b'\x2d\xe4\x31\xbb' \
++ b'\xec\xac\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.UngrabKey._request.to_binary, (), self.req_args_0)
++ bin = request.UngrabKey._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1830,11 +1838,11 @@
+ 'time': 342147129,
+ 'mode': 1,
+ }
+- self.req_bin_0 = '\x23\x01\x00\x02' '\x14\x64\xc0\x39'
++ self.req_bin_0 = b'\x23\x01\x00\x02' b'\x14\x64\xc0\x39'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.AllowEvents._request.to_binary, (), self.req_args_0)
++ bin = request.AllowEvents._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1856,11 +1864,11 @@
+ def setUp(self):
+ self.req_args_0 = {
+ }
+- self.req_bin_0 = '\x24\x00\x00\x01'
++ self.req_bin_0 = b'\x24\x00\x00\x01'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GrabServer._request.to_binary, (), self.req_args_0)
++ bin = request.GrabServer._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1882,11 +1890,11 @@
+ def setUp(self):
+ self.req_args_0 = {
+ }
+- self.req_bin_0 = '\x25\x00\x00\x01'
++ self.req_bin_0 = b'\x25\x00\x00\x01'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.UngrabServer._request.to_binary, (), self.req_args_0)
++ bin = request.UngrabServer._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1909,7 +1917,7 @@
+ self.req_args_0 = {
+ 'window': 561336799,
+ }
+- self.req_bin_0 = '\x26\x00\x00\x02' '\x21\x75\x51\xdf'
++ self.req_bin_0 = b'\x26\x00\x00\x02' b'\x21\x75\x51\xdf'
+
+ self.reply_args_0 = {
+ 'win_y': -25733,
+@@ -1922,14 +1930,14 @@
+ 'child': 1075058918,
+ 'win_x': -18858,
+ }
+- self.reply_bin_0 = '\x01\x00\xa1\xe8' '\x00\x00\x00\x00' \
+- '\x5f\x52\x73\x56' '\x40\x14\x18\xe6' \
+- '\xef\xa7\xe8\x20' '\xb6\x56\x9b\x7b' \
+- '\x8c\x73\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x00\xa1\xe8' b'\x00\x00\x00\x00' \
++ b'\x5f\x52\x73\x56' b'\x40\x14\x18\xe6' \
++ b'\xef\xa7\xe8\x20' b'\xb6\x56\x9b\x7b' \
++ b'\x8c\x73\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.QueryPointer._request.to_binary, (), self.req_args_0)
++ bin = request.QueryPointer._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1947,7 +1955,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.QueryPointer._reply.to_binary, (), self.reply_args_0)
++ bin = request.QueryPointer._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -1972,26 +1980,26 @@
+ 'start': 1520150500,
+ 'stop': 11115313,
+ }
+- self.req_bin_0 = '\x27\x00\x00\x04' '\x32\x49\x8f\xf4' \
+- '\x5a\x9b\xa7\xe4' '\x00\xa9\x9b\x31'
++ self.req_bin_0 = b'\x27\x00\x00\x04' b'\x32\x49\x8f\xf4' \
++ b'\x5a\x9b\xa7\xe4' b'\x00\xa9\x9b\x31'
+
+ self.reply_args_0 = {
+ 'sequence_number': 52222,
+ 'events': [{'time': 2107444516, 'x': -649, 'y': -11631}, {'time': 1827536960, 'x': -18061, 'y': -2301}, {'time': 554175146, 'x': -32111, 'y': -13522}, {'time': 608168588, 'x': -5963, 'y': -24618}, {'time': 590416221, 'x': -3325, 'y': -19656}],
+ }
+- self.reply_bin_0 = '\x01\x00\xcb\xfe' '\x00\x00\x00\x0a' \
+- '\x00\x00\x00\x05' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x7d\x9d\x0d\x24' '\xfd\x77\xd2\x91' \
+- '\x6c\xee\x00\x40' '\xb9\x73\xf7\x03' \
+- '\x21\x08\x0a\xaa' '\x82\x91\xcb\x2e' \
+- '\x24\x3f\xea\x8c' '\xe8\xb5\x9f\xd6' \
+- '\x23\x31\x09\x5d' '\xf3\x03\xb3\x38'
++ self.reply_bin_0 = b'\x01\x00\xcb\xfe' b'\x00\x00\x00\x0a' \
++ b'\x00\x00\x00\x05' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x7d\x9d\x0d\x24' b'\xfd\x77\xd2\x91' \
++ b'\x6c\xee\x00\x40' b'\xb9\x73\xf7\x03' \
++ b'\x21\x08\x0a\xaa' b'\x82\x91\xcb\x2e' \
++ b'\x24\x3f\xea\x8c' b'\xe8\xb5\x9f\xd6' \
++ b'\x23\x31\x09\x5d' b'\xf3\x03\xb3\x38'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GetMotionEvents._request.to_binary, (), self.req_args_0)
++ bin = request.GetMotionEvents._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2009,7 +2017,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GetMotionEvents._reply.to_binary, (), self.reply_args_0)
++ bin = request.GetMotionEvents._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -2035,8 +2043,8 @@
+ 'src_wid': 257619448,
+ 'dst_wid': 1238981863,
+ }
+- self.req_bin_0 = '\x28\x00\x00\x04' '\x0f\x5a\xf5\xf8' \
+- '\x49\xd9\x5c\xe7' '\x9d\x0d\x95\x91'
++ self.req_bin_0 = b'\x28\x00\x00\x04' b'\x0f\x5a\xf5\xf8' \
++ b'\x49\xd9\x5c\xe7' b'\x9d\x0d\x95\x91'
+
+ self.reply_args_0 = {
+ 'child': 2050350678,
+@@ -2045,14 +2053,14 @@
+ 'x': -18096,
+ 'y': -5252,
+ }
+- self.reply_bin_0 = '\x01\x01\x97\x01' '\x00\x00\x00\x00' \
+- '\x7a\x35\xde\x56' '\xb9\x50\xeb\x7c' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x01\x97\x01' b'\x00\x00\x00\x00' \
++ b'\x7a\x35\xde\x56' b'\xb9\x50\xeb\x7c' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.TranslateCoords._request.to_binary, (), self.req_args_0)
++ bin = request.TranslateCoords._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2070,7 +2078,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.TranslateCoords._reply.to_binary, (), self.reply_args_0)
++ bin = request.TranslateCoords._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -2100,13 +2108,13 @@
+ 'dst_x': -30516,
+ 'dst_y': -24204,
+ }
+- self.req_bin_0 = '\x29\x00\x00\x06' '\x4f\x93\xba\xef' \
+- '\x28\x44\x07\xf4' '\x96\x11\x9a\x29' \
+- '\x55\x31\xdd\x3a' '\x88\xcc\xa1\x74'
++ self.req_bin_0 = b'\x29\x00\x00\x06' b'\x4f\x93\xba\xef' \
++ b'\x28\x44\x07\xf4' b'\x96\x11\x9a\x29' \
++ b'\x55\x31\xdd\x3a' b'\x88\xcc\xa1\x74'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.WarpPointer._request.to_binary, (), self.req_args_0)
++ bin = request.WarpPointer._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2131,12 +2139,12 @@
+ 'time': 1079702500,
+ 'focus': 1026400247,
+ }
+- self.req_bin_0 = '\x2a\x01\x00\x03' '\x3d\x2d\x9f\xf7' \
+- '\x40\x5a\xf3\xe4'
++ self.req_bin_0 = b'\x2a\x01\x00\x03' b'\x3d\x2d\x9f\xf7' \
++ b'\x40\x5a\xf3\xe4'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.SetInputFocus._request.to_binary, (), self.req_args_0)
++ bin = request.SetInputFocus._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2158,21 +2166,21 @@
+ def setUp(self):
+ self.req_args_0 = {
+ }
+- self.req_bin_0 = '\x2b\x00\x00\x01'
++ self.req_bin_0 = b'\x2b\x00\x00\x01'
+
+ self.reply_args_0 = {
+ 'revert_to': 152,
+ 'sequence_number': 16002,
+ 'focus': 2024022965,
+ }
+- self.reply_bin_0 = '\x01\x98\x3e\x82' '\x00\x00\x00\x00' \
+- '\x78\xa4\x23\xb5' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x98\x3e\x82' b'\x00\x00\x00\x00' \
++ b'\x78\xa4\x23\xb5' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GetInputFocus._request.to_binary, (), self.req_args_0)
++ bin = request.GetInputFocus._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2190,7 +2198,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GetInputFocus._reply.to_binary, (), self.reply_args_0)
++ bin = request.GetInputFocus._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -2212,21 +2220,21 @@
+ def setUp(self):
+ self.req_args_0 = {
+ }
+- self.req_bin_0 = '\x2c\x00\x00\x01'
++ self.req_bin_0 = b'\x2c\x00\x00\x01'
+
+ self.reply_args_0 = {
+ 'sequence_number': 16233,
+ 'map': [186, 167, 191, 213, 241, 231, 234, 175, 154, 169, 132, 146, 215, 191, 196, 212, 158, 156, 177, 233, 220, 192, 130, 226, 181, 233, 238, 141, 129, 215, 245, 215],
+ }
+- self.reply_bin_0 = '\x01\x00\x3f\x69' '\x00\x00\x00\x02' \
+- '\xba\xa7\xbf\xd5' '\xf1\xe7\xea\xaf' \
+- '\x9a\xa9\x84\x92' '\xd7\xbf\xc4\xd4' \
+- '\x9e\x9c\xb1\xe9' '\xdc\xc0\x82\xe2' \
+- '\xb5\xe9\xee\x8d' '\x81\xd7\xf5\xd7'
++ self.reply_bin_0 = b'\x01\x00\x3f\x69' b'\x00\x00\x00\x02' \
++ b'\xba\xa7\xbf\xd5' b'\xf1\xe7\xea\xaf' \
++ b'\x9a\xa9\x84\x92' b'\xd7\xbf\xc4\xd4' \
++ b'\x9e\x9c\xb1\xe9' b'\xdc\xc0\x82\xe2' \
++ b'\xb5\xe9\xee\x8d' b'\x81\xd7\xf5\xd7'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.QueryKeymap._request.to_binary, (), self.req_args_0)
++ bin = request.QueryKeymap._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2244,7 +2252,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.QueryKeymap._reply.to_binary, (), self.reply_args_0)
++ bin = request.QueryKeymap._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -2268,13 +2276,13 @@
+ 'fid': 1728036313,
+ 'name': 'foofont',
+ }
+- self.req_bin_0 = '\x2d\x00\x00\x05' '\x66\xff\xbd\xd9' \
+- '\x00\x07\x00\x00' '\x66\x6f\x6f\x66' \
+- '\x6f\x6e\x74\x00'
++ self.req_bin_0 = b'\x2d\x00\x00\x05' b'\x66\xff\xbd\xd9' \
++ b'\x00\x07\x00\x00' b'\x66\x6f\x6f\x66' \
++ b'\x6f\x6e\x74\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.OpenFont._request.to_binary, (), self.req_args_0)
++ bin = request.OpenFont._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2297,11 +2305,11 @@
+ self.req_args_0 = {
+ 'font': 1139770507,
+ }
+- self.req_bin_0 = '\x2e\x00\x00\x02' '\x43\xef\x84\x8b'
++ self.req_bin_0 = b'\x2e\x00\x00\x02' b'\x43\xef\x84\x8b'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.CloseFont._request.to_binary, (), self.req_args_0)
++ bin = request.CloseFont._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2324,7 +2332,7 @@
+ self.req_args_0 = {
+ 'font': 1867659050,
+ }
+- self.req_bin_0 = '\x2f\x00\x00\x02' '\x6f\x52\x37\x2a'
++ self.req_bin_0 = b'\x2f\x00\x00\x02' b'\x6f\x52\x37\x2a'
+
+ self.reply_args_0 = {
+ 'sequence_number': 8877,
+@@ -2342,23 +2350,23 @@
+ 'font_descent': -23067,
+ 'max_bounds': {'descent': -24292, 'ascent': -26972, 'character_width': -19286, 'left_side_bearing': -16363, 'right_side_bearing': -3149, 'attributes': 35968},
+ }
+- self.reply_bin_0 = '\x01\x00\x22\xad' '\x00\x00\x00\x12' \
+- '\xae\xfc\xab\x3e' '\xeb\x5a\x96\x67' \
+- '\x8b\x8b\x2c\x80' '\x00\x00\x00\x00' \
+- '\xc0\x15\xf3\xb3' '\xb4\xaa\x96\xa4' \
+- '\xa1\x1c\x8c\x80' '\x00\x00\x00\x00' \
+- '\xc0\xd0\x09\xd4' '\x23\x22\x00\x01' \
+- '\x8f\xbe\xa8\x01' '\xc2\xe2\xa5\xe5' \
+- '\x00\x00\x00\x03' '\x56\x76\x30\xf3' \
+- '\x7d\xc9\x5e\x19' '\xee\x57\xd9\x6d' \
+- '\x90\x97\xc7\x8a' '\xfe\xb5\xd7\x97' \
+- '\xb0\x53\x9d\x9d' '\xee\x4c\xe7\x7a' \
+- '\xb6\xcd\x73\x24' '\xb1\x9c\xfc\x76' \
+- '\xaa\xa1\xf6\xb6' '\xb8\x33\x86\x51'
++ self.reply_bin_0 = b'\x01\x00\x22\xad' b'\x00\x00\x00\x12' \
++ b'\xae\xfc\xab\x3e' b'\xeb\x5a\x96\x67' \
++ b'\x8b\x8b\x2c\x80' b'\x00\x00\x00\x00' \
++ b'\xc0\x15\xf3\xb3' b'\xb4\xaa\x96\xa4' \
++ b'\xa1\x1c\x8c\x80' b'\x00\x00\x00\x00' \
++ b'\xc0\xd0\x09\xd4' b'\x23\x22\x00\x01' \
++ b'\x8f\xbe\xa8\x01' b'\xc2\xe2\xa5\xe5' \
++ b'\x00\x00\x00\x03' b'\x56\x76\x30\xf3' \
++ b'\x7d\xc9\x5e\x19' b'\xee\x57\xd9\x6d' \
++ b'\x90\x97\xc7\x8a' b'\xfe\xb5\xd7\x97' \
++ b'\xb0\x53\x9d\x9d' b'\xee\x4c\xe7\x7a' \
++ b'\xb6\xcd\x73\x24' b'\xb1\x9c\xfc\x76' \
++ b'\xaa\xa1\xf6\xb6' b'\xb8\x33\x86\x51'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.QueryFont._request.to_binary, (), self.req_args_0)
++ bin = request.QueryFont._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2376,7 +2384,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.QueryFont._reply.to_binary, (), self.reply_args_0)
++ bin = request.QueryFont._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -2400,8 +2408,8 @@
+ 'font': 1562125736,
+ 'string': (102, 111, 111),
+ }
+- self.req_bin_0 = '\x30\x01\x00\x04' '\x5d\x1c\x25\xa8' \
+- '\x00\x66\x00\x6f' '\x00\x6f\x00\x00'
++ self.req_bin_0 = b'\x30\x01\x00\x04' b'\x5d\x1c\x25\xa8' \
++ b'\x00\x66\x00\x6f' b'\x00\x6f\x00\x00'
+
+ self.reply_args_0 = {
+ 'overall_width': -1378352414,
+@@ -2414,14 +2422,14 @@
+ 'overall_left': -1046976699,
+ 'font_descent': -14179,
+ }
+- self.reply_bin_0 = '\x01\xdb\x1a\x87' '\x00\x00\x00\x00' \
+- '\xbd\xed\xc8\x9d' '\xa6\x82\xf8\xfd' \
+- '\xad\xd8\x02\xe2' '\xc1\x98\x67\x45' \
+- '\xe0\x64\x80\xea' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\xdb\x1a\x87' b'\x00\x00\x00\x00' \
++ b'\xbd\xed\xc8\x9d' b'\xa6\x82\xf8\xfd' \
++ b'\xad\xd8\x02\xe2' b'\xc1\x98\x67\x45' \
++ b'\xe0\x64\x80\xea' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.QueryTextExtents._request.to_binary, (), self.req_args_0)
++ bin = request.QueryTextExtents._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2439,7 +2447,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.QueryTextExtents._reply.to_binary, (), self.reply_args_0)
++ bin = request.QueryTextExtents._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -2463,24 +2471,24 @@
+ 'max_names': 53961,
+ 'pattern': 'bhazr',
+ }
+- self.req_bin_0 = '\x31\x00\x00\x04' '\xd2\xc9\x00\x05' \
+- '\x62\x68\x61\x7a' '\x72\x00\x00\x00'
++ self.req_bin_0 = b'\x31\x00\x00\x04' b'\xd2\xc9\x00\x05' \
++ b'\x62\x68\x61\x7a' b'\x72\x00\x00\x00'
+
+ self.reply_args_0 = {
+ 'fonts': ['fie', 'fuzzy', 'foozooom'],
+ 'sequence_number': 38267,
+ }
+- self.reply_bin_0 = '\x01\x00\x95\x7b' '\x00\x00\x00\x05' \
+- '\x00\x03\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x03\x66\x69\x65' '\x05\x66\x75\x7a' \
+- '\x7a\x79\x08\x66' '\x6f\x6f\x7a\x6f' \
+- '\x6f\x6f\x6d\x00'
++ self.reply_bin_0 = b'\x01\x00\x95\x7b' b'\x00\x00\x00\x05' \
++ b'\x00\x03\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x03\x66\x69\x65' b'\x05\x66\x75\x7a' \
++ b'\x7a\x79\x08\x66' b'\x6f\x6f\x7a\x6f' \
++ b'\x6f\x6f\x6d\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ListFonts._request.to_binary, (), self.req_args_0)
++ bin = request.ListFonts._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2498,7 +2506,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.ListFonts._reply.to_binary, (), self.reply_args_0)
++ bin = request.ListFonts._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -2522,8 +2530,8 @@
+ 'max_names': 46571,
+ 'pattern': 'bhazr2',
+ }
+- self.req_bin_0 = '\x32\x00\x00\x04' '\xb5\xeb\x00\x06' \
+- '\x62\x68\x61\x7a' '\x72\x32\x00\x00'
++ self.req_bin_0 = b'\x32\x00\x00\x04' b'\xb5\xeb\x00\x06' \
++ b'\x62\x68\x61\x7a' b'\x72\x32\x00\x00'
+
+ self.reply_args_0 = {
+ 'sequence_number': 20014,
+@@ -2542,20 +2550,20 @@
+ 'font_descent': -28978,
+ 'max_bounds': {'descent': -20692, 'ascent': -6999, 'character_width': -15180, 'left_side_bearing': -7789, 'right_side_bearing': -5339, 'attributes': 1068},
+ }
+- self.reply_bin_0 = '\x01\x08\x4e\x2e' '\x00\x00\x00\x0b' \
+- '\x8b\xb9\x83\x5c' '\xcd\x1e\xc6\x49' \
+- '\x93\x43\x09\xa1' '\x00\x00\x00\x00' \
+- '\xe1\x93\xeb\x25' '\xc4\xb4\xe4\xa9' \
+- '\xaf\x2c\x04\x2c' '\x00\x00\x00\x00' \
+- '\x68\x0e\x09\xaf' '\x42\x91\x00\x01' \
+- '\xc0\xd6\xd9\x00' '\x88\xaa\x8e\xce' \
+- '\x76\x53\x9a\xa2' '\x19\xfc\x2b\xb0' \
+- '\x7d\xca\x9c\xc9' '\x66\x6f\x6e\x74' \
+- '\x66\x6f\x6e\x74'
++ self.reply_bin_0 = b'\x01\x08\x4e\x2e' b'\x00\x00\x00\x0b' \
++ b'\x8b\xb9\x83\x5c' b'\xcd\x1e\xc6\x49' \
++ b'\x93\x43\x09\xa1' b'\x00\x00\x00\x00' \
++ b'\xe1\x93\xeb\x25' b'\xc4\xb4\xe4\xa9' \
++ b'\xaf\x2c\x04\x2c' b'\x00\x00\x00\x00' \
++ b'\x68\x0e\x09\xaf' b'\x42\x91\x00\x01' \
++ b'\xc0\xd6\xd9\x00' b'\x88\xaa\x8e\xce' \
++ b'\x76\x53\x9a\xa2' b'\x19\xfc\x2b\xb0' \
++ b'\x7d\xca\x9c\xc9' b'\x66\x6f\x6e\x74' \
++ b'\x66\x6f\x6e\x74'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ListFontsWithInfo._request.to_binary, (), self.req_args_0)
++ bin = request.ListFontsWithInfo._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2573,7 +2581,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.ListFontsWithInfo._reply.to_binary, (), self.reply_args_0)
++ bin = request.ListFontsWithInfo._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -2596,18 +2604,18 @@
+ self.req_args_0 = {
+ 'path': ['foo', 'bar', 'gazonk'],
+ }
+- self.req_bin_0 = '\x33\x00\x00\x06' '\x00\x03\x00\x00' \
+- '\x03\x66\x6f\x6f' '\x03\x62\x61\x72' \
+- '\x06\x67\x61\x7a' '\x6f\x6e\x6b\x00'
++ self.req_bin_0 = b'\x33\x00\x00\x06' b'\x00\x03\x00\x00' \
++ b'\x03\x66\x6f\x6f' b'\x03\x62\x61\x72' \
++ b'\x06\x67\x61\x7a' b'\x6f\x6e\x6b\x00'
+
+ self.req_args_1 = {
+ 'path': [],
+ }
+- self.req_bin_1 = '\x33\x00\x00\x02' '\x00\x00\x00\x00'
++ self.req_bin_1 = b'\x33\x00\x00\x02' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.SetFontPath._request.to_binary, (), self.req_args_0)
++ bin = request.SetFontPath._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2625,7 +2633,7 @@
+ raise AssertionError(args)
+
+ def testPackRequest1(self):
+- bin = apply(request.SetFontPath._request.to_binary, (), self.req_args_1)
++ bin = request.SetFontPath._request.to_binary(*(), **self.req_args_1)
+ try:
+ assert bin == self.req_bin_1
+ except AssertionError:
+@@ -2647,31 +2655,31 @@
+ def setUp(self):
+ self.req_args_0 = {
+ }
+- self.req_bin_0 = '\x34\x00\x00\x01'
++ self.req_bin_0 = b'\x34\x00\x00\x01'
+
+ self.reply_args_0 = {
+ 'sequence_number': 21510,
+ 'paths': ['path1', 'path2232'],
+ }
+- self.reply_bin_0 = '\x01\x00\x54\x06' '\x00\x00\x00\x04' \
+- '\x00\x02\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x05\x70\x61\x74' '\x68\x31\x08\x70' \
+- '\x61\x74\x68\x32' '\x32\x33\x32\x00'
++ self.reply_bin_0 = b'\x01\x00\x54\x06' b'\x00\x00\x00\x04' \
++ b'\x00\x02\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x05\x70\x61\x74' b'\x68\x31\x08\x70' \
++ b'\x61\x74\x68\x32' b'\x32\x33\x32\x00'
+
+ self.reply_args_1 = {
+ 'sequence_number': 62463,
+ 'paths': [],
+ }
+- self.reply_bin_1 = '\x01\x00\xf3\xff' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_1 = b'\x01\x00\xf3\xff' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GetFontPath._request.to_binary, (), self.req_args_0)
++ bin = request.GetFontPath._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2689,7 +2697,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GetFontPath._reply.to_binary, (), self.reply_args_0)
++ bin = request.GetFontPath._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -2707,7 +2715,7 @@
+ raise AssertionError(args)
+
+ def testPackReply1(self):
+- bin = apply(request.GetFontPath._reply.to_binary, (), self.reply_args_1)
++ bin = request.GetFontPath._reply.to_binary(*(), **self.reply_args_1)
+ try:
+ assert bin == self.reply_bin_1
+ except AssertionError:
+@@ -2734,12 +2742,12 @@
+ 'depth': 145,
+ 'width': 5641,
+ }
+- self.req_bin_0 = '\x35\x91\x00\x04' '\x37\x39\x21\x50' \
+- '\x09\xab\xe8\xd2' '\x16\x09\xff\xeb'
++ self.req_bin_0 = b'\x35\x91\x00\x04' b'\x37\x39\x21\x50' \
++ b'\x09\xab\xe8\xd2' b'\x16\x09\xff\xeb'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.CreatePixmap._request.to_binary, (), self.req_args_0)
++ bin = request.CreatePixmap._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2762,11 +2770,11 @@
+ self.req_args_0 = {
+ 'pixmap': 213012851,
+ }
+- self.req_bin_0 = '\x36\x00\x00\x02' '\x0c\xb2\x51\x73'
++ self.req_bin_0 = b'\x36\x00\x00\x02' b'\x0c\xb2\x51\x73'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.FreePixmap._request.to_binary, (), self.req_args_0)
++ bin = request.FreePixmap._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2791,24 +2799,24 @@
+ 'drawable': 456876463,
+ 'attrs': {'dashes': 183, 'fill_rule': 0, 'clip_mask': 620422624, 'plane_mask': 1797423280, 'line_style': 1, 'tile': 77620460, 'arc_mode': 0, 'clip_y_origin': -7419, 'dash_offset': 62459, 'line_width': 50494, 'background': 44336037, 'clip_x_origin': -32045, 'join_style': 2, 'graphics_exposures': 0, 'font': 95118395, 'tile_stipple_y_origin': -17619, 'stipple': 631657813, 'fill_style': 0, 'cap_style': 0, 'subwindow_mode': 0, 'tile_stipple_x_origin': -12494, 'foreground': 2096879871, 'function': 10},
+ }
+- self.req_bin_0 = '\x37\x00\x00\x1b' '\x3f\x38\x5c\x6a' \
+- '\x1b\x3b\x61\xaf' '\x00\x7f\xff\xff' \
+- '\x0a\x00\x00\x00' '\x6b\x22\x80\xb0' \
+- '\x7c\xfb\xd8\xff' '\x02\xa4\x83\xa5' \
+- '\xc5\x3e\x00\x00' '\x01\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x02\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x04\xa0\x64\xec' '\x25\xa6\x55\x55' \
+- '\xcf\x32\x00\x00' '\xbb\x2d\x00\x00' \
+- '\x05\xab\x64\x3b' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x82\xd3\x00\x00' \
+- '\xe3\x05\x00\x00' '\x24\xfa\xe5\xe0' \
+- '\xf3\xfb\x00\x00' '\xb7\x00\x00\x00' \
+- '\x00\x00\x00\x00'
++ self.req_bin_0 = b'\x37\x00\x00\x1b' b'\x3f\x38\x5c\x6a' \
++ b'\x1b\x3b\x61\xaf' b'\x00\x7f\xff\xff' \
++ b'\x0a\x00\x00\x00' b'\x6b\x22\x80\xb0' \
++ b'\x7c\xfb\xd8\xff' b'\x02\xa4\x83\xa5' \
++ b'\xc5\x3e\x00\x00' b'\x01\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x02\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x04\xa0\x64\xec' b'\x25\xa6\x55\x55' \
++ b'\xcf\x32\x00\x00' b'\xbb\x2d\x00\x00' \
++ b'\x05\xab\x64\x3b' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x82\xd3\x00\x00' \
++ b'\xe3\x05\x00\x00' b'\x24\xfa\xe5\xe0' \
++ b'\xf3\xfb\x00\x00' b'\xb7\x00\x00\x00' \
++ b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.CreateGC._request.to_binary, (), self.req_args_0)
++ bin = request.CreateGC._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2832,23 +2840,23 @@
+ 'attrs': {'dashes': 249, 'fill_rule': 1, 'clip_mask': 496525721, 'plane_mask': 1467281901, 'line_style': 2, 'tile': 1713935374, 'arc_mode': 0, 'clip_y_origin': -24572, 'dash_offset': 46636, 'line_width': 61036, 'background': 1598773587, 'clip_x_origin': -19725, 'join_style': 1, 'graphics_exposures': 0, 'font': 429323306, 'tile_stipple_y_origin': -11767, 'stipple': 1365263649, 'fill_style': 2, 'cap_style': 1, 'subwindow_mode': 1, 'tile_stipple_x_origin': -23501, 'foreground': 1272378077, 'function': 11},
+ 'gc': 518903558,
+ }
+- self.req_bin_0 = '\x38\x00\x00\x1a' '\x1e\xed\xd7\x06' \
+- '\x00\x7f\xff\xff' '\x0b\x00\x00\x00' \
+- '\x57\x74\xf1\xed' '\x4b\xd6\xf2\xdd' \
+- '\x5f\x4b\x59\x53' '\xee\x6c\x00\x00' \
+- '\x02\x00\x00\x00' '\x01\x00\x00\x00' \
+- '\x01\x00\x00\x00' '\x02\x00\x00\x00' \
+- '\x01\x00\x00\x00' '\x66\x28\x94\x0e' \
+- '\x51\x60\x45\x21' '\xa4\x33\x00\x00' \
+- '\xd2\x09\x00\x00' '\x19\x96\xf4\x2a' \
+- '\x01\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\xb2\xf3\x00\x00' '\xa0\x04\x00\x00' \
+- '\x1d\x98\x61\x99' '\xb6\x2c\x00\x00' \
+- '\xf9\x00\x00\x00' '\x00\x00\x00\x00'
++ self.req_bin_0 = b'\x38\x00\x00\x1a' b'\x1e\xed\xd7\x06' \
++ b'\x00\x7f\xff\xff' b'\x0b\x00\x00\x00' \
++ b'\x57\x74\xf1\xed' b'\x4b\xd6\xf2\xdd' \
++ b'\x5f\x4b\x59\x53' b'\xee\x6c\x00\x00' \
++ b'\x02\x00\x00\x00' b'\x01\x00\x00\x00' \
++ b'\x01\x00\x00\x00' b'\x02\x00\x00\x00' \
++ b'\x01\x00\x00\x00' b'\x66\x28\x94\x0e' \
++ b'\x51\x60\x45\x21' b'\xa4\x33\x00\x00' \
++ b'\xd2\x09\x00\x00' b'\x19\x96\xf4\x2a' \
++ b'\x01\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\xb2\xf3\x00\x00' b'\xa0\x04\x00\x00' \
++ b'\x1d\x98\x61\x99' b'\xb6\x2c\x00\x00' \
++ b'\xf9\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ChangeGC._request.to_binary, (), self.req_args_0)
++ bin = request.ChangeGC._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2873,12 +2881,12 @@
+ 'src_gc': 1958847367,
+ 'dst_gc': 1311353896,
+ }
+- self.req_bin_0 = '\x39\x00\x00\x04' '\x74\xc1\xa3\x87' \
+- '\x4e\x29\xac\x28' '\x3d\xfc\x5c\x92'
++ self.req_bin_0 = b'\x39\x00\x00\x04' b'\x74\xc1\xa3\x87' \
++ b'\x4e\x29\xac\x28' b'\x3d\xfc\x5c\x92'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.CopyGC._request.to_binary, (), self.req_args_0)
++ bin = request.CopyGC._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2903,13 +2911,13 @@
+ 'dash_offset': 51693,
+ 'gc': 1639787502,
+ }
+- self.req_bin_0 = '\x3a\x00\x00\x06' '\x61\xbd\x2b\xee' \
+- '\xc9\xed\x00\x09' '\xa9\xf1\x9e\xee' \
+- '\xad\x9f\xb6\x8b' '\x8b\x00\x00\x00'
++ self.req_bin_0 = b'\x3a\x00\x00\x06' b'\x61\xbd\x2b\xee' \
++ b'\xc9\xed\x00\x09' b'\xa9\xf1\x9e\xee' \
++ b'\xad\x9f\xb6\x8b' b'\x8b\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.SetDashes._request.to_binary, (), self.req_args_0)
++ bin = request.SetDashes._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2936,10 +2944,10 @@
+ 'y_origin': -16557,
+ 'ordering': 3,
+ }
+- self.req_bin_0 = '\x3b\x03\x00\x07' '\x41\xe7\x44\x74' \
+- '\xa7\x18\xbf\x53' '\xc3\xba\xf4\x3f' \
+- '\xb6\x51\xe7\xff' '\xc9\x22\x9e\xe7' \
+- '\x1e\x66\x26\x9b'
++ self.req_bin_0 = b'\x3b\x03\x00\x07' b'\x41\xe7\x44\x74' \
++ b'\xa7\x18\xbf\x53' b'\xc3\xba\xf4\x3f' \
++ b'\xb6\x51\xe7\xff' b'\xc9\x22\x9e\xe7' \
++ b'\x1e\x66\x26\x9b'
+
+ self.req_args_1 = {
+ 'rectangles': [],
+@@ -2948,12 +2956,12 @@
+ 'y_origin': -10293,
+ 'ordering': 0,
+ }
+- self.req_bin_1 = '\x3b\x00\x00\x03' '\x11\x60\x29\xbb' \
+- '\x8b\x55\xd7\xcb'
++ self.req_bin_1 = b'\x3b\x00\x00\x03' b'\x11\x60\x29\xbb' \
++ b'\x8b\x55\xd7\xcb'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.SetClipRectangles._request.to_binary, (), self.req_args_0)
++ bin = request.SetClipRectangles._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2971,7 +2979,7 @@
+ raise AssertionError(args)
+
+ def testPackRequest1(self):
+- bin = apply(request.SetClipRectangles._request.to_binary, (), self.req_args_1)
++ bin = request.SetClipRectangles._request.to_binary(*(), **self.req_args_1)
+ try:
+ assert bin == self.req_bin_1
+ except AssertionError:
+@@ -2994,11 +3002,11 @@
+ self.req_args_0 = {
+ 'gc': 371787524,
+ }
+- self.req_bin_0 = '\x3c\x00\x00\x02' '\x16\x29\x07\x04'
++ self.req_bin_0 = b'\x3c\x00\x00\x02' b'\x16\x29\x07\x04'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.FreeGC._request.to_binary, (), self.req_args_0)
++ bin = request.FreeGC._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3026,12 +3034,12 @@
+ 'x': -1843,
+ 'y': -32148,
+ }
+- self.req_bin_0 = '\x3d\x00\x00\x04' '\x4a\xbe\x68\xe1' \
+- '\xf8\xcd\x82\x6c' '\xf9\x4d\xd2\x10'
++ self.req_bin_0 = b'\x3d\x00\x00\x04' b'\x4a\xbe\x68\xe1' \
++ b'\xf8\xcd\x82\x6c' b'\xf9\x4d\xd2\x10'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ClearArea._request.to_binary, (), self.req_args_0)
++ bin = request.ClearArea._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3062,14 +3070,14 @@
+ 'dst_x': -19068,
+ 'dst_y': -4602,
+ }
+- self.req_bin_0 = '\x3e\x00\x00\x07' '\x13\x2d\x11\x29' \
+- '\x0f\x05\x83\xf1' '\x07\x83\xb2\x60' \
+- '\x9c\x38\xdf\x4c' '\xb5\x84\xee\x06' \
+- '\xc1\x06\xf0\x3e'
++ self.req_bin_0 = b'\x3e\x00\x00\x07' b'\x13\x2d\x11\x29' \
++ b'\x0f\x05\x83\xf1' b'\x07\x83\xb2\x60' \
++ b'\x9c\x38\xdf\x4c' b'\xb5\x84\xee\x06' \
++ b'\xc1\x06\xf0\x3e'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.CopyArea._request.to_binary, (), self.req_args_0)
++ bin = request.CopyArea._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3101,14 +3109,14 @@
+ 'dst_x': -24940,
+ 'dst_y': -13009,
+ }
+- self.req_bin_0 = '\x3f\x00\x00\x08' '\x76\x88\x65\x19' \
+- '\x7e\x6a\x2e\xa4' '\x4b\x78\x61\xdd' \
+- '\xee\x42\xa8\x7f' '\x9e\x94\xcd\x2f' \
+- '\xa1\x19\x83\xfb' '\x7a\x50\x0a\x28'
++ self.req_bin_0 = b'\x3f\x00\x00\x08' b'\x76\x88\x65\x19' \
++ b'\x7e\x6a\x2e\xa4' b'\x4b\x78\x61\xdd' \
++ b'\xee\x42\xa8\x7f' b'\x9e\x94\xcd\x2f' \
++ b'\xa1\x19\x83\xfb' b'\x7a\x50\x0a\x28'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.CopyPlane._request.to_binary, (), self.req_args_0)
++ bin = request.CopyPlane._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3134,13 +3142,13 @@
+ 'drawable': 1008674,
+ 'coord_mode': 1,
+ }
+- self.req_bin_0 = '\x40\x01\x00\x06' '\x00\x0f\x64\x22' \
+- '\x0c\x4b\x61\x09' '\xa8\x4f\xbe\xb6' \
+- '\xbf\xaf\xcd\xce' '\xb3\x60\xcc\xb5'
++ self.req_bin_0 = b'\x40\x01\x00\x06' b'\x00\x0f\x64\x22' \
++ b'\x0c\x4b\x61\x09' b'\xa8\x4f\xbe\xb6' \
++ b'\xbf\xaf\xcd\xce' b'\xb3\x60\xcc\xb5'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.PolyPoint._request.to_binary, (), self.req_args_0)
++ bin = request.PolyPoint._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3166,14 +3174,14 @@
+ 'drawable': 1668889192,
+ 'coord_mode': 1,
+ }
+- self.req_bin_0 = '\x41\x01\x00\x08' '\x63\x79\x3a\x68' \
+- '\x50\xcc\xb9\xcd' '\xd2\x21\xb6\xa3' \
+- '\xac\x83\xa7\x3e' '\xbb\x55\xca\x7d' \
+- '\x98\x4f\xb4\x67' '\xd1\xfd\x98\x88'
++ self.req_bin_0 = b'\x41\x01\x00\x08' b'\x63\x79\x3a\x68' \
++ b'\x50\xcc\xb9\xcd' b'\xd2\x21\xb6\xa3' \
++ b'\xac\x83\xa7\x3e' b'\xbb\x55\xca\x7d' \
++ b'\x98\x4f\xb4\x67' b'\xd1\xfd\x98\x88'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.PolyLine._request.to_binary, (), self.req_args_0)
++ bin = request.PolyLine._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3198,13 +3206,13 @@
+ 'drawable': 146511635,
+ 'gc': 53385255,
+ }
+- self.req_bin_0 = '\x42\x00\x00\x05' '\x08\xbb\x97\x13' \
+- '\x03\x2e\x98\x27' '\xce\xbe\xa1\x44' \
+- '\x9b\x56\xa8\x05'
++ self.req_bin_0 = b'\x42\x00\x00\x05' b'\x08\xbb\x97\x13' \
++ b'\x03\x2e\x98\x27' b'\xce\xbe\xa1\x44' \
++ b'\x9b\x56\xa8\x05'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.PolySegment._request.to_binary, (), self.req_args_0)
++ bin = request.PolySegment._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3229,15 +3237,15 @@
+ 'gc': 410140275,
+ 'rectangles': [{'height': 63567, 'x': -16992, 'width': 11122, 'y': -21320}, {'height': 34652, 'x': -18051, 'width': 59622, 'y': -30426}, {'height': 45646, 'x': -1111, 'width': 46231, 'y': -25261}],
+ }
+- self.req_bin_0 = '\x43\x00\x00\x09' '\x72\xe3\x09\x3d' \
+- '\x18\x72\x3e\x73' '\xbd\xa0\xac\xb8' \
+- '\x2b\x72\xf8\x4f' '\xb9\x7d\x89\x26' \
+- '\xe8\xe6\x87\x5c' '\xfb\xa9\x9d\x53' \
+- '\xb4\x97\xb2\x4e'
++ self.req_bin_0 = b'\x43\x00\x00\x09' b'\x72\xe3\x09\x3d' \
++ b'\x18\x72\x3e\x73' b'\xbd\xa0\xac\xb8' \
++ b'\x2b\x72\xf8\x4f' b'\xb9\x7d\x89\x26' \
++ b'\xe8\xe6\x87\x5c' b'\xfb\xa9\x9d\x53' \
++ b'\xb4\x97\xb2\x4e'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.PolyRectangle._request.to_binary, (), self.req_args_0)
++ bin = request.PolyRectangle._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3262,16 +3270,16 @@
+ 'drawable': 718777148,
+ 'gc': 1127021391,
+ }
+- self.req_bin_0 = '\x44\x00\x00\x0c' '\x2a\xd7\xab\x3c' \
+- '\x43\x2c\xfb\x4f' '\xec\xb1\xdc\x0b' \
+- '\xff\xa8\x92\xad' '\xbd\xad\x9b\xce' \
+- '\xc9\xd7\xa6\xb2' '\xf2\xdd\x24\x6a' \
+- '\xae\xd3\xde\xce' '\xce\x6b\xe2\x82' \
+- '\xf8\xf4\xf7\x22' '\xfb\x31\xfc\xd7'
++ self.req_bin_0 = b'\x44\x00\x00\x0c' b'\x2a\xd7\xab\x3c' \
++ b'\x43\x2c\xfb\x4f' b'\xec\xb1\xdc\x0b' \
++ b'\xff\xa8\x92\xad' b'\xbd\xad\x9b\xce' \
++ b'\xc9\xd7\xa6\xb2' b'\xf2\xdd\x24\x6a' \
++ b'\xae\xd3\xde\xce' b'\xce\x6b\xe2\x82' \
++ b'\xf8\xf4\xf7\x22' b'\xfb\x31\xfc\xd7'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.PolyArc._request.to_binary, (), self.req_args_0)
++ bin = request.PolyArc._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3298,14 +3306,14 @@
+ 'drawable': 1326525185,
+ 'coord_mode': 0,
+ }
+- self.req_bin_0 = '\x45\x00\x00\x07' '\x4f\x11\x2b\x01' \
+- '\x3f\xce\x79\x1a' '\x01\x00\x00\x00' \
+- '\xb6\xc3\xb4\x29' '\xdd\x38\x96\xbc' \
+- '\xcb\xe8\xdb\x0a'
++ self.req_bin_0 = b'\x45\x00\x00\x07' b'\x4f\x11\x2b\x01' \
++ b'\x3f\xce\x79\x1a' b'\x01\x00\x00\x00' \
++ b'\xb6\xc3\xb4\x29' b'\xdd\x38\x96\xbc' \
++ b'\xcb\xe8\xdb\x0a'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.FillPoly._request.to_binary, (), self.req_args_0)
++ bin = request.FillPoly._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3330,14 +3338,14 @@
+ 'gc': 1965498255,
+ 'rectangles': [{'height': 36920, 'x': -2965, 'width': 26437, 'y': -3568}, {'height': 44383, 'x': -18327, 'width': 37730, 'y': -26752}],
+ }
+- self.req_bin_0 = '\x46\x00\x00\x07' '\x65\xd8\x42\xcc' \
+- '\x75\x27\x1f\x8f' '\xf4\x6b\xf2\x10' \
+- '\x67\x45\x90\x38' '\xb8\x69\x97\x80' \
+- '\x93\x62\xad\x5f'
++ self.req_bin_0 = b'\x46\x00\x00\x07' b'\x65\xd8\x42\xcc' \
++ b'\x75\x27\x1f\x8f' b'\xf4\x6b\xf2\x10' \
++ b'\x67\x45\x90\x38' b'\xb8\x69\x97\x80' \
++ b'\x93\x62\xad\x5f'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.PolyFillRectangle._request.to_binary, (), self.req_args_0)
++ bin = request.PolyFillRectangle._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3362,13 +3370,13 @@
+ 'drawable': 2083870696,
+ 'gc': 414470877,
+ }
+- self.req_bin_0 = '\x47\x00\x00\x06' '\x7c\x35\x57\xe8' \
+- '\x18\xb4\x52\xdd' '\xd5\xfe\xb3\x9d' \
+- '\xd2\x3b\xfa\x72' '\x91\x38\xe5\xc8'
++ self.req_bin_0 = b'\x47\x00\x00\x06' b'\x7c\x35\x57\xe8' \
++ b'\x18\xb4\x52\xdd' b'\xd5\xfe\xb3\x9d' \
++ b'\xd2\x3b\xfa\x72' b'\x91\x38\xe5\xc8'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.PolyFillArc._request.to_binary, (), self.req_args_0)
++ bin = request.PolyFillArc._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3400,15 +3408,15 @@
+ 'width': 62850,
+ 'dst_y': -30693,
+ }
+- self.req_bin_0 = '\x48\x01\x00\x09' '\x5b\x79\x56\xff' \
+- '\x0c\x83\x06\x83' '\xf5\x82\x26\x9b' \
+- '\xf3\x2c\x88\x1b' '\x93\xad\x00\x00' \
+- '\x62\x69\x74\x20' '\x6d\x61\x70\x20' \
+- '\x64\x61\x74\x61'
++ self.req_bin_0 = b'\x48\x01\x00\x09' b'\x5b\x79\x56\xff' \
++ b'\x0c\x83\x06\x83' b'\xf5\x82\x26\x9b' \
++ b'\xf3\x2c\x88\x1b' b'\x93\xad\x00\x00' \
++ b'\x62\x69\x74\x20' b'\x6d\x61\x70\x20' \
++ b'\x64\x61\x74\x61'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.PutImage._request.to_binary, (), self.req_args_0)
++ bin = request.PutImage._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3437,9 +3445,9 @@
+ 'format': 1,
+ 'width': 58993,
+ }
+- self.req_bin_0 = '\x49\x01\x00\x05' '\x4f\x3e\x5f\x83' \
+- '\x93\xe8\x87\x75' '\xe6\x71\xa6\xa1' \
+- '\x68\xae\xae\x00'
++ self.req_bin_0 = b'\x49\x01\x00\x05' b'\x4f\x3e\x5f\x83' \
++ b'\x93\xe8\x87\x75' b'\xe6\x71\xa6\xa1' \
++ b'\x68\xae\xae\x00'
+
+ self.reply_args_0 = {
+ 'sequence_number': 54997,
+@@ -3447,18 +3455,18 @@
+ 'visual': 1108632607,
+ 'depth': 181,
+ }
+- self.reply_bin_0 = '\x01\xb5\xd6\xd5' '\x00\x00\x00\x07' \
+- '\x42\x14\x64\x1f' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x74\x68\x69\x73' '\x20\x69\x73\x20' \
+- '\x72\x65\x61\x6c' '\x20\x6c\x79\x20' \
+- '\x69\x6d\x61\x67' '\x20\x65\x20\x62' \
+- '\x2d\x6d\x61\x70'
++ self.reply_bin_0 = b'\x01\xb5\xd6\xd5' b'\x00\x00\x00\x07' \
++ b'\x42\x14\x64\x1f' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x74\x68\x69\x73' b'\x20\x69\x73\x20' \
++ b'\x72\x65\x61\x6c' b'\x20\x6c\x79\x20' \
++ b'\x69\x6d\x61\x67' b'\x20\x65\x20\x62' \
++ b'\x2d\x6d\x61\x70'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GetImage._request.to_binary, (), self.req_args_0)
++ bin = request.GetImage._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3476,7 +3484,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GetImage._reply.to_binary, (), self.reply_args_0)
++ bin = request.GetImage._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -3503,14 +3511,14 @@
+ 'items': [{'delta': 2, 'string': 'zoo'}, 16909060, {'delta': 0, 'string': 'ie'}],
+ 'y': -8902,
+ }
+- self.req_bin_0 = '\x4a\x00\x00\x08' '\x5c\x72\x5c\x8a' \
+- '\x58\x4e\xe2\x69' '\xcb\x14\xdd\x3a' \
+- '\x03\x02\x7a\x6f' '\x6f\xff\x01\x02' \
+- '\x03\x04\x02\x00' '\x69\x65\x00\x00'
++ self.req_bin_0 = b'\x4a\x00\x00\x08' b'\x5c\x72\x5c\x8a' \
++ b'\x58\x4e\xe2\x69' b'\xcb\x14\xdd\x3a' \
++ b'\x03\x02\x7a\x6f' b'\x6f\xff\x01\x02' \
++ b'\x03\x04\x02\x00' b'\x69\x65\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.PolyText8._request.to_binary, (), self.req_args_0)
++ bin = request.PolyText8._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3537,14 +3545,14 @@
+ 'items': [{'delta': 2, 'string': (4131, 18)}, 16909060],
+ 'y': -2741,
+ }
+- self.req_bin_0 = '\x4b\x00\x00\x07' '\x5e\xda\xf1\xf4' \
+- '\x17\xe2\x28\x18' '\x84\x82\xf5\x4b' \
+- '\x02\x02\x10\x23' '\x00\x12\xff\x01' \
+- '\x02\x03\x04\x00'
++ self.req_bin_0 = b'\x4b\x00\x00\x07' b'\x5e\xda\xf1\xf4' \
++ b'\x17\xe2\x28\x18' b'\x84\x82\xf5\x4b' \
++ b'\x02\x02\x10\x23' b'\x00\x12\xff\x01' \
++ b'\x02\x03\x04\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.PolyText16._request.to_binary, (), self.req_args_0)
++ bin = request.PolyText16._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3571,13 +3579,13 @@
+ 'x': -16077,
+ 'y': -4873,
+ }
+- self.req_bin_0 = '\x4c\x06\x00\x06' '\x6c\xb1\xdd\x5d' \
+- '\x53\x10\x80\x21' '\xc1\x33\xec\xf7' \
+- '\x73\x68\x6f\x77' '\x6d\x65\x00\x00'
++ self.req_bin_0 = b'\x4c\x06\x00\x06' b'\x6c\xb1\xdd\x5d' \
++ b'\x53\x10\x80\x21' b'\xc1\x33\xec\xf7' \
++ b'\x73\x68\x6f\x77' b'\x6d\x65\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ImageText8._request.to_binary, (), self.req_args_0)
++ bin = request.ImageText8._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3604,14 +3612,14 @@
+ 'x': -21343,
+ 'y': -24237,
+ }
+- self.req_bin_0 = '\x4d\x08\x00\x08' '\x02\x00\xce\x10' \
+- '\x65\x77\x08\xde' '\xac\xa1\xa1\x53' \
+- '\x00\x73\x00\x68' '\x00\x6f\x00\x77' \
+- '\x00\x6d\x00\x6f' '\x00\x72\x00\x65'
++ self.req_bin_0 = b'\x4d\x08\x00\x08' b'\x02\x00\xce\x10' \
++ b'\x65\x77\x08\xde' b'\xac\xa1\xa1\x53' \
++ b'\x00\x73\x00\x68' b'\x00\x6f\x00\x77' \
++ b'\x00\x6d\x00\x6f' b'\x00\x72\x00\x65'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ImageText16._request.to_binary, (), self.req_args_0)
++ bin = request.ImageText16._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3637,12 +3645,12 @@
+ 'visual': 813982403,
+ 'window': 698475631,
+ }
+- self.req_bin_0 = '\x4e\x00\x00\x04' '\x09\x63\xd1\xab' \
+- '\x29\xa1\xe4\x6f' '\x30\x84\x62\xc3'
++ self.req_bin_0 = b'\x4e\x00\x00\x04' b'\x09\x63\xd1\xab' \
++ b'\x29\xa1\xe4\x6f' b'\x30\x84\x62\xc3'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.CreateColormap._request.to_binary, (), self.req_args_0)
++ bin = request.CreateColormap._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3665,11 +3673,11 @@
+ self.req_args_0 = {
+ 'cmap': 1296514923,
+ }
+- self.req_bin_0 = '\x4f\x00\x00\x02' '\x4d\x47\x3f\x6b'
++ self.req_bin_0 = b'\x4f\x00\x00\x02' b'\x4d\x47\x3f\x6b'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.FreeColormap._request.to_binary, (), self.req_args_0)
++ bin = request.FreeColormap._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3693,12 +3701,12 @@
+ 'src_cmap': 1049336329,
+ 'mid': 1237242690,
+ }
+- self.req_bin_0 = '\x50\x00\x00\x03' '\x49\xbe\xd3\x42' \
+- '\x3e\x8b\x9a\x09'
++ self.req_bin_0 = b'\x50\x00\x00\x03' b'\x49\xbe\xd3\x42' \
++ b'\x3e\x8b\x9a\x09'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.CopyColormapAndFree._request.to_binary, (), self.req_args_0)
++ bin = request.CopyColormapAndFree._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3721,11 +3729,11 @@
+ self.req_args_0 = {
+ 'cmap': 1539075582,
+ }
+- self.req_bin_0 = '\x51\x00\x00\x02' '\x5b\xbc\x6d\xfe'
++ self.req_bin_0 = b'\x51\x00\x00\x02' b'\x5b\xbc\x6d\xfe'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.InstallColormap._request.to_binary, (), self.req_args_0)
++ bin = request.InstallColormap._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3748,11 +3756,11 @@
+ self.req_args_0 = {
+ 'cmap': 959493342,
+ }
+- self.req_bin_0 = '\x52\x00\x00\x02' '\x39\x30\xb4\xde'
++ self.req_bin_0 = b'\x52\x00\x00\x02' b'\x39\x30\xb4\xde'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.UninstallColormap._request.to_binary, (), self.req_args_0)
++ bin = request.UninstallColormap._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3775,21 +3783,21 @@
+ self.req_args_0 = {
+ 'window': 1517864638,
+ }
+- self.req_bin_0 = '\x53\x00\x00\x02' '\x5a\x78\xc6\xbe'
++ self.req_bin_0 = b'\x53\x00\x00\x02' b'\x5a\x78\xc6\xbe'
+
+ self.reply_args_0 = {
+ 'cmaps': [2146327722, 1361260227],
+ 'sequence_number': 61652,
+ }
+- self.reply_bin_0 = '\x01\x00\xf0\xd4' '\x00\x00\x00\x02' \
+- '\x00\x02\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x7f\xee\x5c\xaa' '\x51\x23\x2e\xc3'
++ self.reply_bin_0 = b'\x01\x00\xf0\xd4' b'\x00\x00\x00\x02' \
++ b'\x00\x02\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x7f\xee\x5c\xaa' b'\x51\x23\x2e\xc3'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ListInstalledColormaps._request.to_binary, (), self.req_args_0)
++ bin = request.ListInstalledColormaps._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3807,7 +3815,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.ListInstalledColormaps._reply.to_binary, (), self.reply_args_0)
++ bin = request.ListInstalledColormaps._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -3833,8 +3841,8 @@
+ 'cmap': 523356125,
+ 'blue': 49580,
+ }
+- self.req_bin_0 = '\x54\x00\x00\x04' '\x1f\x31\xc7\xdd' \
+- '\x9b\x2d\xc2\xbe' '\xc1\xac\x00\x00'
++ self.req_bin_0 = b'\x54\x00\x00\x04' b'\x1f\x31\xc7\xdd' \
++ b'\x9b\x2d\xc2\xbe' b'\xc1\xac\x00\x00'
+
+ self.reply_args_0 = {
+ 'sequence_number': 10904,
+@@ -3843,14 +3851,14 @@
+ 'pixel': 1067923656,
+ 'blue': 14525,
+ }
+- self.reply_bin_0 = '\x01\x00\x2a\x98' '\x00\x00\x00\x00' \
+- '\xab\x08\x0c\x62' '\x38\xbd\x00\x00' \
+- '\x3f\xa7\x38\xc8' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x00\x2a\x98' b'\x00\x00\x00\x00' \
++ b'\xab\x08\x0c\x62' b'\x38\xbd\x00\x00' \
++ b'\x3f\xa7\x38\xc8' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.AllocColor._request.to_binary, (), self.req_args_0)
++ bin = request.AllocColor._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3868,7 +3876,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.AllocColor._reply.to_binary, (), self.reply_args_0)
++ bin = request.AllocColor._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -3892,9 +3900,9 @@
+ 'cmap': 128217824,
+ 'name': 'octarin',
+ }
+- self.req_bin_0 = '\x55\x00\x00\x05' '\x07\xa4\x72\xe0' \
+- '\x00\x07\x00\x00' '\x6f\x63\x74\x61' \
+- '\x72\x69\x6e\x00'
++ self.req_bin_0 = b'\x55\x00\x00\x05' b'\x07\xa4\x72\xe0' \
++ b'\x00\x07\x00\x00' b'\x6f\x63\x74\x61' \
++ b'\x72\x69\x6e\x00'
+
+ self.reply_args_0 = {
+ 'sequence_number': 19971,
+@@ -3906,14 +3914,14 @@
+ 'screen_blue': 43109,
+ 'exact_red': 64213,
+ }
+- self.reply_bin_0 = '\x01\x00\x4e\x03' '\x00\x00\x00\x00' \
+- '\x4e\xee\x49\x76' '\xfa\xd5\x71\x8b' \
+- '\xe5\xbb\x82\x63' '\xc5\x43\xa8\x65' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x00\x4e\x03' b'\x00\x00\x00\x00' \
++ b'\x4e\xee\x49\x76' b'\xfa\xd5\x71\x8b' \
++ b'\xe5\xbb\x82\x63' b'\xc5\x43\xa8\x65' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.AllocNamedColor._request.to_binary, (), self.req_args_0)
++ bin = request.AllocNamedColor._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3931,7 +3939,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.AllocNamedColor._reply.to_binary, (), self.reply_args_0)
++ bin = request.AllocNamedColor._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -3957,42 +3965,42 @@
+ 'cmap': 675372338,
+ 'contiguous': 1,
+ }
+- self.req_bin_0 = '\x56\x01\x00\x03' '\x28\x41\x5d\x32' \
+- '\xe5\x4a\x80\x63'
++ self.req_bin_0 = b'\x56\x01\x00\x03' b'\x28\x41\x5d\x32' \
++ b'\xe5\x4a\x80\x63'
+
+ self.reply_args_0 = {
+ 'masks': [733927381, 1023311668, 595898647],
+ 'pixels': [693075497, 1294879029, 1478712895, 1781963728, 1442185575, 1654003869, 787619123, 1049825849, 1773935772, 1689075922, 1626562257, 177731275, 661046122, 1970509470, 1918486395, 688539096, 41044851],
+ 'sequence_number': 54025,
+ }
+- self.reply_bin_0 = '\x01\x00\xd3\x09' '\x00\x00\x00\x14' \
+- '\x00\x11\x00\x03' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x29\x4f\x7e\x29' '\x4d\x2e\x49\x35' \
+- '\x58\x23\x5e\x3f' '\x6a\x36\x9b\xd0' \
+- '\x55\xf6\x01\x67' '\x62\x96\x18\x9d' \
+- '\x2e\xf2\x1d\x33' '\x3e\x93\x12\x39' \
+- '\x69\xbc\x1c\x9c' '\x64\xad\x40\xd2' \
+- '\x60\xf3\x5e\xd1' '\x0a\x97\xf6\xcb' \
+- '\x27\x66\xc3\x6a' '\x75\x73\x96\x9e' \
+- '\x72\x59\xc7\x7b' '\x29\x0a\x45\xd8' \
+- '\x02\x72\x4b\x73' '\x2b\xbe\xd7\xd5' \
+- '\x3c\xfe\x7f\x34' '\x23\x84\xb1\x17'
++ self.reply_bin_0 = b'\x01\x00\xd3\x09' b'\x00\x00\x00\x14' \
++ b'\x00\x11\x00\x03' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x29\x4f\x7e\x29' b'\x4d\x2e\x49\x35' \
++ b'\x58\x23\x5e\x3f' b'\x6a\x36\x9b\xd0' \
++ b'\x55\xf6\x01\x67' b'\x62\x96\x18\x9d' \
++ b'\x2e\xf2\x1d\x33' b'\x3e\x93\x12\x39' \
++ b'\x69\xbc\x1c\x9c' b'\x64\xad\x40\xd2' \
++ b'\x60\xf3\x5e\xd1' b'\x0a\x97\xf6\xcb' \
++ b'\x27\x66\xc3\x6a' b'\x75\x73\x96\x9e' \
++ b'\x72\x59\xc7\x7b' b'\x29\x0a\x45\xd8' \
++ b'\x02\x72\x4b\x73' b'\x2b\xbe\xd7\xd5' \
++ b'\x3c\xfe\x7f\x34' b'\x23\x84\xb1\x17'
+
+ self.reply_args_1 = {
+ 'masks': [],
+ 'pixels': [],
+ 'sequence_number': 6273,
+ }
+- self.reply_bin_1 = '\x01\x00\x18\x81' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_1 = b'\x01\x00\x18\x81' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.AllocColorCells._request.to_binary, (), self.req_args_0)
++ bin = request.AllocColorCells._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4010,7 +4018,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.AllocColorCells._reply.to_binary, (), self.reply_args_0)
++ bin = request.AllocColorCells._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -4028,7 +4036,7 @@
+ raise AssertionError(args)
+
+ def testPackReply1(self):
+- bin = apply(request.AllocColorCells._reply.to_binary, (), self.reply_args_1)
++ bin = request.AllocColorCells._reply.to_binary(*(), **self.reply_args_1)
+ try:
+ assert bin == self.reply_bin_1
+ except AssertionError:
+@@ -4056,8 +4064,8 @@
+ 'contiguous': 0,
+ 'blue': 23880,
+ }
+- self.req_bin_0 = '\x57\x00\x00\x04' '\x12\x5c\x02\x63' \
+- '\xe3\xa3\x59\x5c' '\x24\xd1\x5d\x48'
++ self.req_bin_0 = b'\x57\x00\x00\x04' b'\x12\x5c\x02\x63' \
++ b'\xe3\xa3\x59\x5c' b'\x24\xd1\x5d\x48'
+
+ self.reply_args_0 = {
+ 'green_mask': 265888391,
+@@ -4066,16 +4074,16 @@
+ 'blue_mask': 44676180,
+ 'red_mask': 734623206,
+ }
+- self.reply_bin_0 = '\x01\x00\x8d\x4f' '\x00\x00\x00\x04' \
+- '\x00\x04\x00\x00' '\x2b\xc9\x75\xe6' \
+- '\x0f\xd9\x22\x87' '\x02\xa9\xb4\x54' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x1d\x52\xbe\x09' '\x4d\x99\x83\xbe' \
+- '\x5f\xa5\xda\xfd' '\x54\x90\x6c\x90'
++ self.reply_bin_0 = b'\x01\x00\x8d\x4f' b'\x00\x00\x00\x04' \
++ b'\x00\x04\x00\x00' b'\x2b\xc9\x75\xe6' \
++ b'\x0f\xd9\x22\x87' b'\x02\xa9\xb4\x54' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x1d\x52\xbe\x09' b'\x4d\x99\x83\xbe' \
++ b'\x5f\xa5\xda\xfd' b'\x54\x90\x6c\x90'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.AllocColorPlanes._request.to_binary, (), self.req_args_0)
++ bin = request.AllocColorPlanes._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4093,7 +4101,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.AllocColorPlanes._reply.to_binary, (), self.reply_args_0)
++ bin = request.AllocColorPlanes._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -4118,20 +4126,20 @@
+ 'pixels': [61281082, 398475082, 1660604639, 1516738417, 1211104329, 105034864, 884930615, 902914796, 288637231, 2097165249, 1171127263, 1027274519, 806213035, 1485898709, 542709465, 169067149, 1230881159],
+ 'plane_mask': 1204733200,
+ }
+- self.req_bin_0 = '\x58\x00\x00\x14' '\x2b\x55\x43\xd8' \
+- '\x47\xce\xc5\x10' '\x03\xa7\x13\x3a' \
+- '\x17\xc0\x3f\x4a' '\x62\xfa\xd0\xdf' \
+- '\x5a\x67\x97\x71' '\x48\x2f\xfc\x49' \
+- '\x06\x42\xb4\x70' '\x34\xbe\xf8\x37' \
+- '\x35\xd1\x62\xec' '\x11\x34\x41\x2f' \
+- '\x7d\x00\x33\xc1' '\x45\xcd\xfb\xdf' \
+- '\x3d\x3a\xf7\x17' '\x30\x0d\xd5\xab' \
+- '\x58\x91\x03\xd5' '\x20\x59\x16\xd9' \
+- '\x0a\x13\xc2\x8d' '\x49\x5d\xc1\x87'
++ self.req_bin_0 = b'\x58\x00\x00\x14' b'\x2b\x55\x43\xd8' \
++ b'\x47\xce\xc5\x10' b'\x03\xa7\x13\x3a' \
++ b'\x17\xc0\x3f\x4a' b'\x62\xfa\xd0\xdf' \
++ b'\x5a\x67\x97\x71' b'\x48\x2f\xfc\x49' \
++ b'\x06\x42\xb4\x70' b'\x34\xbe\xf8\x37' \
++ b'\x35\xd1\x62\xec' b'\x11\x34\x41\x2f' \
++ b'\x7d\x00\x33\xc1' b'\x45\xcd\xfb\xdf' \
++ b'\x3d\x3a\xf7\x17' b'\x30\x0d\xd5\xab' \
++ b'\x58\x91\x03\xd5' b'\x20\x59\x16\xd9' \
++ b'\x0a\x13\xc2\x8d' b'\x49\x5d\xc1\x87'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.FreeColors._request.to_binary, (), self.req_args_0)
++ bin = request.FreeColors._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4155,17 +4163,17 @@
+ 'cmap': 501035281,
+ 'items': [{'red': 27925, 'pixel': 1094971765, 'green': 3673, 'flags': 189, 'blue': 31593}, {'red': 41633, 'pixel': 1330003189, 'green': 56186, 'flags': 178, 'blue': 30263}, {'red': 36007, 'pixel': 1813524037, 'green': 29697, 'flags': 224, 'blue': 14071}, {'red': 45716, 'pixel': 1987610486, 'green': 55405, 'flags': 200, 'blue': 35734}],
+ }
+- self.req_bin_0 = '\x59\x00\x00\x0e' '\x1d\xdd\x31\x11' \
+- '\x41\x43\xf1\x75' '\x6d\x15\x0e\x59' \
+- '\x7b\x69\xbd\x00' '\x4f\x46\x3c\xf5' \
+- '\xa2\xa1\xdb\x7a' '\x76\x37\xb2\x00' \
+- '\x6c\x18\x2e\x45' '\x8c\xa7\x74\x01' \
+- '\x36\xf7\xe0\x00' '\x76\x78\x87\x76' \
+- '\xb2\x94\xd8\x6d' '\x8b\x96\xc8\x00'
++ self.req_bin_0 = b'\x59\x00\x00\x0e' b'\x1d\xdd\x31\x11' \
++ b'\x41\x43\xf1\x75' b'\x6d\x15\x0e\x59' \
++ b'\x7b\x69\xbd\x00' b'\x4f\x46\x3c\xf5' \
++ b'\xa2\xa1\xdb\x7a' b'\x76\x37\xb2\x00' \
++ b'\x6c\x18\x2e\x45' b'\x8c\xa7\x74\x01' \
++ b'\x36\xf7\xe0\x00' b'\x76\x78\x87\x76' \
++ b'\xb2\x94\xd8\x6d' b'\x8b\x96\xc8\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.StoreColors._request.to_binary, (), self.req_args_0)
++ bin = request.StoreColors._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4191,13 +4199,13 @@
+ 'cmap': 2061119590,
+ 'pixel': 1846011298,
+ }
+- self.req_bin_0 = '\x5a\xba\x00\x05' '\x7a\xda\x30\x66' \
+- '\x6e\x07\xe5\xa2' '\x00\x04\x00\x00' \
+- '\x62\x6c\x75\x65'
++ self.req_bin_0 = b'\x5a\xba\x00\x05' b'\x7a\xda\x30\x66' \
++ b'\x6e\x07\xe5\xa2' b'\x00\x04\x00\x00' \
++ b'\x62\x6c\x75\x65'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.StoreNamedColor._request.to_binary, (), self.req_args_0)
++ bin = request.StoreNamedColor._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4221,35 +4229,35 @@
+ 'cmap': 596369797,
+ 'pixels': [1018587496, 1553480933, 952694607, 341816269, 306591348, 1178729919, 173027853, 875811363],
+ }
+- self.req_bin_0 = '\x5b\x00\x00\x0a' '\x23\x8b\xe1\x85' \
+- '\x3c\xb6\x69\x68' '\x5c\x98\x3c\xe5' \
+- '\x38\xc8\xf7\x4f' '\x14\x5f\xb3\xcd' \
+- '\x12\x46\x36\x74' '\x46\x41\xfd\xbf' \
+- '\x0a\x50\x32\x0d' '\x34\x33\xd2\x23'
++ self.req_bin_0 = b'\x5b\x00\x00\x0a' b'\x23\x8b\xe1\x85' \
++ b'\x3c\xb6\x69\x68' b'\x5c\x98\x3c\xe5' \
++ b'\x38\xc8\xf7\x4f' b'\x14\x5f\xb3\xcd' \
++ b'\x12\x46\x36\x74' b'\x46\x41\xfd\xbf' \
++ b'\x0a\x50\x32\x0d' b'\x34\x33\xd2\x23'
+
+ self.reply_args_0 = {
+ 'colors': [{'red': 6715, 'blue': 40144, 'green': 56664}, {'red': 5799, 'blue': 22078, 'green': 35523}, {'red': 60111, 'blue': 58654, 'green': 25206}, {'red': 7433, 'blue': 60908, 'green': 14468}, {'red': 31213, 'blue': 9298, 'green': 27481}],
+ 'sequence_number': 60323,
+ }
+- self.reply_bin_0 = '\x01\x00\xeb\xa3' '\x00\x00\x00\x0a' \
+- '\x00\x05\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x1a\x3b\xdd\x58' '\x9c\xd0\x00\x00' \
+- '\x16\xa7\x8a\xc3' '\x56\x3e\x00\x00' \
+- '\xea\xcf\x62\x76' '\xe5\x1e\x00\x00' \
+- '\x1d\x09\x38\x84' '\xed\xec\x00\x00' \
+- '\x79\xed\x6b\x59' '\x24\x52\x00\x00'
++ self.reply_bin_0 = b'\x01\x00\xeb\xa3' b'\x00\x00\x00\x0a' \
++ b'\x00\x05\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x1a\x3b\xdd\x58' b'\x9c\xd0\x00\x00' \
++ b'\x16\xa7\x8a\xc3' b'\x56\x3e\x00\x00' \
++ b'\xea\xcf\x62\x76' b'\xe5\x1e\x00\x00' \
++ b'\x1d\x09\x38\x84' b'\xed\xec\x00\x00' \
++ b'\x79\xed\x6b\x59' b'\x24\x52\x00\x00'
+
+ self.req_args_1 = {
+ 'cmap': 79317049,
+ 'pixels': [],
+ }
+- self.req_bin_1 = '\x5b\x00\x00\x02' '\x04\xba\x48\x39'
++ self.req_bin_1 = b'\x5b\x00\x00\x02' b'\x04\xba\x48\x39'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.QueryColors._request.to_binary, (), self.req_args_0)
++ bin = request.QueryColors._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4267,7 +4275,7 @@
+ raise AssertionError(args)
+
+ def testPackRequest1(self):
+- bin = apply(request.QueryColors._request.to_binary, (), self.req_args_1)
++ bin = request.QueryColors._request.to_binary(*(), **self.req_args_1)
+ try:
+ assert bin == self.req_bin_1
+ except AssertionError:
+@@ -4285,7 +4293,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.QueryColors._reply.to_binary, (), self.reply_args_0)
++ bin = request.QueryColors._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -4309,9 +4317,9 @@
+ 'cmap': 789574750,
+ 'name': 'octarin',
+ }
+- self.req_bin_0 = '\x5c\x00\x00\x05' '\x2f\x0f\xf4\x5e' \
+- '\x00\x07\x00\x00' '\x6f\x63\x74\x61' \
+- '\x72\x69\x6e\x00'
++ self.req_bin_0 = b'\x5c\x00\x00\x05' b'\x2f\x0f\xf4\x5e' \
++ b'\x00\x07\x00\x00' b'\x6f\x63\x74\x61' \
++ b'\x72\x69\x6e\x00'
+
+ self.reply_args_0 = {
+ 'sequence_number': 21040,
+@@ -4322,14 +4330,14 @@
+ 'screen_blue': 29893,
+ 'exact_red': 41875,
+ }
+- self.reply_bin_0 = '\x01\x00\x52\x30' '\x00\x00\x00\x00' \
+- '\xa3\x93\xe8\x9a' '\xf0\x48\xc7\x59' \
+- '\xff\x22\x74\xc5' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x00\x52\x30' b'\x00\x00\x00\x00' \
++ b'\xa3\x93\xe8\x9a' b'\xf0\x48\xc7\x59' \
++ b'\xff\x22\x74\xc5' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.LookupColor._request.to_binary, (), self.req_args_0)
++ bin = request.LookupColor._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4347,7 +4355,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.LookupColor._reply.to_binary, (), self.reply_args_0)
++ bin = request.LookupColor._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -4380,14 +4388,14 @@
+ 'back_red': 31899,
+ 'source': 794739749,
+ }
+- self.req_bin_0 = '\x5d\x00\x00\x08' '\x78\x85\xb3\xb9' \
+- '\x2f\x5e\xc4\x25' '\x19\x0b\x92\xe4' \
+- '\xff\x2b\xa8\x14' '\xf8\x34\x7c\x9b' \
+- '\x13\xe2\xc2\xd7' '\x37\x77\x80\x0c'
++ self.req_bin_0 = b'\x5d\x00\x00\x08' b'\x78\x85\xb3\xb9' \
++ b'\x2f\x5e\xc4\x25' b'\x19\x0b\x92\xe4' \
++ b'\xff\x2b\xa8\x14' b'\xf8\x34\x7c\x9b' \
++ b'\x13\xe2\xc2\xd7' b'\x37\x77\x80\x0c'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.CreateCursor._request.to_binary, (), self.req_args_0)
++ bin = request.CreateCursor._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4420,14 +4428,14 @@
+ 'source': 1412345132,
+ 'back_green': 52966,
+ }
+- self.req_bin_0 = '\x5e\x00\x00\x08' '\x77\x2e\x8e\xfc' \
+- '\x54\x2e\xad\x2c' '\x78\x51\x63\x27' \
+- '\x1d\x90\xb4\x2c' '\xdb\xf2\x42\x5d' \
+- '\x78\x49\xfb\xe4' '\xce\xe6\x19\x64'
++ self.req_bin_0 = b'\x5e\x00\x00\x08' b'\x77\x2e\x8e\xfc' \
++ b'\x54\x2e\xad\x2c' b'\x78\x51\x63\x27' \
++ b'\x1d\x90\xb4\x2c' b'\xdb\xf2\x42\x5d' \
++ b'\x78\x49\xfb\xe4' b'\xce\xe6\x19\x64'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.CreateGlyphCursor._request.to_binary, (), self.req_args_0)
++ bin = request.CreateGlyphCursor._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4450,11 +4458,11 @@
+ self.req_args_0 = {
+ 'cursor': 553262138,
+ }
+- self.req_bin_0 = '\x5f\x00\x00\x02' '\x20\xfa\x1c\x3a'
++ self.req_bin_0 = b'\x5f\x00\x00\x02' b'\x20\xfa\x1c\x3a'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.FreeCursor._request.to_binary, (), self.req_args_0)
++ bin = request.FreeCursor._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4483,13 +4491,13 @@
+ 'back_red': 64013,
+ 'cursor': 295995276,
+ }
+- self.req_bin_0 = '\x60\x00\x00\x05' '\x11\xa4\x87\x8c' \
+- '\xae\xae\x81\x50' '\x43\x5e\xfa\x0d' \
+- '\x2f\x83\xc1\x7d'
++ self.req_bin_0 = b'\x60\x00\x00\x05' b'\x11\xa4\x87\x8c' \
++ b'\xae\xae\x81\x50' b'\x43\x5e\xfa\x0d' \
++ b'\x2f\x83\xc1\x7d'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.RecolorCursor._request.to_binary, (), self.req_args_0)
++ bin = request.RecolorCursor._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4515,22 +4523,22 @@
+ 'item_class': 1,
+ 'width': 27916,
+ }
+- self.req_bin_0 = '\x61\x01\x00\x03' '\x1e\x02\xc1\x1e' \
+- '\x6d\x0c\x87\xb7'
++ self.req_bin_0 = b'\x61\x01\x00\x03' b'\x1e\x02\xc1\x1e' \
++ b'\x6d\x0c\x87\xb7'
+
+ self.reply_args_0 = {
+ 'height': 60728,
+ 'sequence_number': 34070,
+ 'width': 35970,
+ }
+- self.reply_bin_0 = '\x01\x00\x85\x16' '\x00\x00\x00\x00' \
+- '\x8c\x82\xed\x38' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x00\x85\x16' b'\x00\x00\x00\x00' \
++ b'\x8c\x82\xed\x38' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.QueryBestSize._request.to_binary, (), self.req_args_0)
++ bin = request.QueryBestSize._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4548,7 +4556,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.QueryBestSize._reply.to_binary, (), self.reply_args_0)
++ bin = request.QueryBestSize._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -4571,8 +4579,8 @@
+ self.req_args_0 = {
+ 'name': 'XTRA',
+ }
+- self.req_bin_0 = '\x62\x00\x00\x03' '\x00\x04\x00\x00' \
+- '\x58\x54\x52\x41'
++ self.req_bin_0 = b'\x62\x00\x00\x03' b'\x00\x04\x00\x00' \
++ b'\x58\x54\x52\x41'
+
+ self.reply_args_0 = {
+ 'sequence_number': 39952,
+@@ -4581,14 +4589,14 @@
+ 'present': 1,
+ 'first_event': 202,
+ }
+- self.reply_bin_0 = '\x01\x00\x9c\x10' '\x00\x00\x00\x00' \
+- '\x01\xc3\xca\x96' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x00\x9c\x10' b'\x00\x00\x00\x00' \
++ b'\x01\xc3\xca\x96' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.QueryExtension._request.to_binary, (), self.req_args_0)
++ bin = request.QueryExtension._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4606,7 +4614,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.QueryExtension._reply.to_binary, (), self.reply_args_0)
++ bin = request.QueryExtension._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -4628,22 +4636,22 @@
+ def setUp(self):
+ self.req_args_0 = {
+ }
+- self.req_bin_0 = '\x63\x00\x00\x01'
++ self.req_bin_0 = b'\x63\x00\x00\x01'
+
+ self.reply_args_0 = {
+ 'sequence_number': 20200,
+ 'names': ['XTRA', 'XTRA-II'],
+ }
+- self.reply_bin_0 = '\x01\x02\x4e\xe8' '\x00\x00\x00\x04' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x04\x58\x54\x52' '\x41\x07\x58\x54' \
+- '\x52\x41\x2d\x49' '\x49\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x02\x4e\xe8' b'\x00\x00\x00\x04' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x04\x58\x54\x52' b'\x41\x07\x58\x54' \
++ b'\x52\x41\x2d\x49' b'\x49\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ListExtensions._request.to_binary, (), self.req_args_0)
++ bin = request.ListExtensions._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4661,7 +4669,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.ListExtensions._reply.to_binary, (), self.reply_args_0)
++ bin = request.ListExtensions._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -4685,41 +4693,41 @@
+ 'keysyms': [[707837223, 99294840, 1205405602], [67157514, 879853050, 2059131033], [1139736188, 578113249, 1525786315], [1335349176, 246731334, 277761436], [1386594542, 1676932187, 1862777168], [535892916, 342718655, 195574000], [5712156, 1820472637, 848853860], [1123197289, 1664064022, 94999154], [380150420, 402902535, 1061375041], [510686316, 502245882, 422893644], [1423643601, 194077695, 403885178], [1571826296, 529249772, 623556591], [720045879, 37553034, 955963792], [513407882, 861125615, 219940695], [184890179, 472466494, 1649347894], [1679171989, 1991748404, 1674460475], [1762342934, 276695222, 1941684480], [886658026, 1860690072, 577030090], [227169721, 1390318675, 321524615], [2144591365, 545119116, 404205206]],
+ 'first_keycode': 250,
+ }
+- self.req_bin_0 = '\x64\x14\x00\x3e' '\xfa\x03\x00\x00' \
+- '\x2a\x30\xbd\x27' '\x05\xeb\x1e\x78' \
+- '\x47\xd9\x07\xa2' '\x04\x00\xbe\x0a' \
+- '\x34\x71\x7d\xfa' '\x7a\xbb\xd8\x99' \
+- '\x43\xee\xfe\x7c' '\x22\x75\x4e\xe1' \
+- '\x5a\xf1\xa6\xcb' '\x4f\x97\xcf\xb8' \
+- '\x0e\xb4\xd2\x46' '\x10\x8e\x4d\x9c' \
+- '\x52\xa5\xc0\xee' '\x63\xf3\xf4\x5b' \
+- '\x6f\x07\xb9\x50' '\x1f\xf1\x13\xb4' \
+- '\x14\x6d\x78\xbf' '\x0b\xa8\x38\xf0' \
+- '\x00\x57\x29\x1c' '\x6c\x82\x35\x3d' \
+- '\x32\x98\x7b\x64' '\x42\xf2\xa1\x69' \
+- '\x63\x2f\x9a\x16' '\x05\xa9\x92\x72' \
+- '\x16\xa8\xa2\x94' '\x18\x03\xce\x07' \
+- '\x3f\x43\x4c\x41' '\x1e\x70\x74\x6c' \
+- '\x1d\xef\xa9\xfa' '\x19\x34\xd8\x4c' \
+- '\x54\xdb\x13\xd1' '\x0b\x91\x63\xff' \
+- '\x18\x12\xcc\x7a' '\x5d\xb0\x2a\x78' \
+- '\x1f\x8b\xb5\xec' '\x25\x2a\xb7\xef' \
+- '\x2a\xeb\x07\x37' '\x02\x3d\x03\x8a' \
+- '\x38\xfa\xd9\x90' '\x1e\x99\xfb\x8a' \
+- '\x33\x53\xbb\xef' '\x0d\x1c\x07\x57' \
+- '\x0b\x05\x33\x43' '\x1c\x29\x44\x3e' \
+- '\x62\x4f\x0d\x36' '\x64\x16\x21\x95' \
+- '\x76\xb7\xab\x34' '\x63\xce\x3d\x3b' \
+- '\x69\x0b\x38\x16' '\x10\x7e\x08\xb6' \
+- '\x73\xbb\xc1\x00' '\x34\xd9\x53\xea' \
+- '\x6e\xe7\xe0\x98' '\x22\x64\xc7\xca' \
+- '\x0d\x8a\x55\xb9' '\x52\xde\x94\x53' \
+- '\x13\x2a\x13\x87' '\x7f\xd3\xde\x05' \
+- '\x20\x7d\xdb\x8c' '\x18\x17\xae\x96'
++ self.req_bin_0 = b'\x64\x14\x00\x3e' b'\xfa\x03\x00\x00' \
++ b'\x2a\x30\xbd\x27' b'\x05\xeb\x1e\x78' \
++ b'\x47\xd9\x07\xa2' b'\x04\x00\xbe\x0a' \
++ b'\x34\x71\x7d\xfa' b'\x7a\xbb\xd8\x99' \
++ b'\x43\xee\xfe\x7c' b'\x22\x75\x4e\xe1' \
++ b'\x5a\xf1\xa6\xcb' b'\x4f\x97\xcf\xb8' \
++ b'\x0e\xb4\xd2\x46' b'\x10\x8e\x4d\x9c' \
++ b'\x52\xa5\xc0\xee' b'\x63\xf3\xf4\x5b' \
++ b'\x6f\x07\xb9\x50' b'\x1f\xf1\x13\xb4' \
++ b'\x14\x6d\x78\xbf' b'\x0b\xa8\x38\xf0' \
++ b'\x00\x57\x29\x1c' b'\x6c\x82\x35\x3d' \
++ b'\x32\x98\x7b\x64' b'\x42\xf2\xa1\x69' \
++ b'\x63\x2f\x9a\x16' b'\x05\xa9\x92\x72' \
++ b'\x16\xa8\xa2\x94' b'\x18\x03\xce\x07' \
++ b'\x3f\x43\x4c\x41' b'\x1e\x70\x74\x6c' \
++ b'\x1d\xef\xa9\xfa' b'\x19\x34\xd8\x4c' \
++ b'\x54\xdb\x13\xd1' b'\x0b\x91\x63\xff' \
++ b'\x18\x12\xcc\x7a' b'\x5d\xb0\x2a\x78' \
++ b'\x1f\x8b\xb5\xec' b'\x25\x2a\xb7\xef' \
++ b'\x2a\xeb\x07\x37' b'\x02\x3d\x03\x8a' \
++ b'\x38\xfa\xd9\x90' b'\x1e\x99\xfb\x8a' \
++ b'\x33\x53\xbb\xef' b'\x0d\x1c\x07\x57' \
++ b'\x0b\x05\x33\x43' b'\x1c\x29\x44\x3e' \
++ b'\x62\x4f\x0d\x36' b'\x64\x16\x21\x95' \
++ b'\x76\xb7\xab\x34' b'\x63\xce\x3d\x3b' \
++ b'\x69\x0b\x38\x16' b'\x10\x7e\x08\xb6' \
++ b'\x73\xbb\xc1\x00' b'\x34\xd9\x53\xea' \
++ b'\x6e\xe7\xe0\x98' b'\x22\x64\xc7\xca' \
++ b'\x0d\x8a\x55\xb9' b'\x52\xde\x94\x53' \
++ b'\x13\x2a\x13\x87' b'\x7f\xd3\xde\x05' \
++ b'\x20\x7d\xdb\x8c' b'\x18\x17\xae\x96'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ChangeKeyboardMapping._request.to_binary, (), self.req_args_0)
++ bin = request.ChangeKeyboardMapping._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4743,50 +4751,50 @@
+ 'count': 131,
+ 'first_keycode': 206,
+ }
+- self.req_bin_0 = '\x65\x00\x00\x02' '\xce\x83\x00\x00'
++ self.req_bin_0 = b'\x65\x00\x00\x02' b'\xce\x83\x00\x00'
+
+ self.reply_args_0 = {
+ 'keysyms': [[1550369014, 1683205347, 1879538861], [452613596, 1132022246, 357271408], [528724632, 2118423140, 640580111], [1981239140, 195173082, 497130901], [2001675011, 809172000, 1577756130], [739794769, 1774524806, 787951551], [1784021539, 1998872082, 1747812414], [396316053, 1525431160, 1808906812], [1676662850, 1222579650, 1205117622], [396026453, 1956747483, 1762026309], [1222502216, 1488139702, 1799119214], [1504675136, 1414564657, 419659384], [1934768917, 2095924224, 590955729], [582168798, 383228141, 1552516537], [1482483262, 1041896520, 1047041873], [1932705867, 292473490, 226147737], [780322016, 1965031752, 1481062205], [89811542, 1313413666, 686267194], [237776128, 1310737228, 792176733], [849034415, 1592538831, 837355505]],
+ 'sequence_number': 61409,
+ }
+- self.reply_bin_0 = '\x01\x03\xef\xe1' '\x00\x00\x00\x3c' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x5c\x68\xc0\xf6' '\x64\x53\xac\xe3' \
+- '\x70\x07\x7c\xad' '\x1a\xfa\x55\xdc' \
+- '\x43\x79\x49\xe6' '\x15\x4b\x87\x70' \
+- '\x1f\x83\xb2\x98' '\x7e\x44\x92\x64' \
+- '\x26\x2e\x7a\x0f' '\x76\x17\x4f\x64' \
+- '\x0b\xa2\x1a\xda' '\x1d\xa1\x9d\x95' \
+- '\x77\x4f\x23\x03' '\x30\x3a\xfc\x20' \
+- '\x5e\x0a\xa5\xe2' '\x2c\x18\x5f\x51' \
+- '\x69\xc5\x19\x86' '\x2e\xf7\x2f\xbf' \
+- '\x6a\x56\x02\x23' '\x77\x24\x5e\x12' \
+- '\x68\x2d\x80\x3e' '\x17\x9f\x4d\x95' \
+- '\x5a\xec\x3b\x78' '\x6b\xd1\xba\x3c' \
+- '\x63\xef\xd8\x42' '\x48\xdf\x15\xc2' \
+- '\x47\xd4\xa2\xb6' '\x17\x9a\xe2\x55' \
+- '\x74\xa1\x98\xdb' '\x69\x06\x63\x45' \
+- '\x48\xdd\xe7\x48' '\x58\xb3\x35\xb6' \
+- '\x6b\x3c\x61\x6e' '\x59\xaf\x85\x40' \
+- '\x54\x50\x8b\x31' '\x19\x03\x7e\x78' \
+- '\x73\x52\x3b\x15' '\x7c\xed\x44\x00' \
+- '\x23\x39\x44\xd1' '\x22\xb3\x30\xde' \
+- '\x16\xd7\x98\xed' '\x5c\x89\x85\xb9' \
+- '\x58\x5c\xe6\x3e' '\x3e\x1a\x14\x48' \
+- '\x3e\x68\x97\x51' '\x73\x32\xc0\x4b' \
+- '\x11\x6e\xca\x92' '\x0d\x7a\xbd\x99' \
+- '\x2e\x82\xc4\xe0' '\x75\x20\x01\x48' \
+- '\x58\x47\x37\x3d' '\x05\x5a\x6a\x56' \
+- '\x4e\x49\x1a\x22' '\x28\xe7\x9b\x3a' \
+- '\x0e\x2c\x2d\x00' '\x4e\x20\x43\x4c' \
+- '\x2f\x37\xa8\x5d' '\x32\x9b\x3c\xaf' \
+- '\x5e\xec\x36\xcf' '\x31\xe9\x07\xf1'
++ self.reply_bin_0 = b'\x01\x03\xef\xe1' b'\x00\x00\x00\x3c' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x5c\x68\xc0\xf6' b'\x64\x53\xac\xe3' \
++ b'\x70\x07\x7c\xad' b'\x1a\xfa\x55\xdc' \
++ b'\x43\x79\x49\xe6' b'\x15\x4b\x87\x70' \
++ b'\x1f\x83\xb2\x98' b'\x7e\x44\x92\x64' \
++ b'\x26\x2e\x7a\x0f' b'\x76\x17\x4f\x64' \
++ b'\x0b\xa2\x1a\xda' b'\x1d\xa1\x9d\x95' \
++ b'\x77\x4f\x23\x03' b'\x30\x3a\xfc\x20' \
++ b'\x5e\x0a\xa5\xe2' b'\x2c\x18\x5f\x51' \
++ b'\x69\xc5\x19\x86' b'\x2e\xf7\x2f\xbf' \
++ b'\x6a\x56\x02\x23' b'\x77\x24\x5e\x12' \
++ b'\x68\x2d\x80\x3e' b'\x17\x9f\x4d\x95' \
++ b'\x5a\xec\x3b\x78' b'\x6b\xd1\xba\x3c' \
++ b'\x63\xef\xd8\x42' b'\x48\xdf\x15\xc2' \
++ b'\x47\xd4\xa2\xb6' b'\x17\x9a\xe2\x55' \
++ b'\x74\xa1\x98\xdb' b'\x69\x06\x63\x45' \
++ b'\x48\xdd\xe7\x48' b'\x58\xb3\x35\xb6' \
++ b'\x6b\x3c\x61\x6e' b'\x59\xaf\x85\x40' \
++ b'\x54\x50\x8b\x31' b'\x19\x03\x7e\x78' \
++ b'\x73\x52\x3b\x15' b'\x7c\xed\x44\x00' \
++ b'\x23\x39\x44\xd1' b'\x22\xb3\x30\xde' \
++ b'\x16\xd7\x98\xed' b'\x5c\x89\x85\xb9' \
++ b'\x58\x5c\xe6\x3e' b'\x3e\x1a\x14\x48' \
++ b'\x3e\x68\x97\x51' b'\x73\x32\xc0\x4b' \
++ b'\x11\x6e\xca\x92' b'\x0d\x7a\xbd\x99' \
++ b'\x2e\x82\xc4\xe0' b'\x75\x20\x01\x48' \
++ b'\x58\x47\x37\x3d' b'\x05\x5a\x6a\x56' \
++ b'\x4e\x49\x1a\x22' b'\x28\xe7\x9b\x3a' \
++ b'\x0e\x2c\x2d\x00' b'\x4e\x20\x43\x4c' \
++ b'\x2f\x37\xa8\x5d' b'\x32\x9b\x3c\xaf' \
++ b'\x5e\xec\x36\xcf' b'\x31\xe9\x07\xf1'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GetKeyboardMapping._request.to_binary, (), self.req_args_0)
++ bin = request.GetKeyboardMapping._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4804,7 +4812,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GetKeyboardMapping._reply.to_binary, (), self.reply_args_0)
++ bin = request.GetKeyboardMapping._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -4827,15 +4835,15 @@
+ self.req_args_0 = {
+ 'attrs': {'key_click_percent': -35, 'bell_percent': -53, 'led_mode': 1, 'bell_pitch': -17390, 'auto_repeat_mode': 2, 'bell_duration': -30281, 'key': 235, 'led': 192},
+ }
+- self.req_bin_0 = '\x66\x00\x00\x0a' '\x00\x00\x00\xff' \
+- '\xdd\x00\x00\x00' '\xcb\x00\x00\x00' \
+- '\xbc\x12\x00\x00' '\x89\xb7\x00\x00' \
+- '\xc0\x00\x00\x00' '\x01\x00\x00\x00' \
+- '\xeb\x00\x00\x00' '\x02\x00\x00\x00'
++ self.req_bin_0 = b'\x66\x00\x00\x0a' b'\x00\x00\x00\xff' \
++ b'\xdd\x00\x00\x00' b'\xcb\x00\x00\x00' \
++ b'\xbc\x12\x00\x00' b'\x89\xb7\x00\x00' \
++ b'\xc0\x00\x00\x00' b'\x01\x00\x00\x00' \
++ b'\xeb\x00\x00\x00' b'\x02\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ChangeKeyboardControl._request.to_binary, (), self.req_args_0)
++ bin = request.ChangeKeyboardControl._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4857,7 +4865,7 @@
+ def setUp(self):
+ self.req_args_0 = {
+ }
+- self.req_bin_0 = '\x67\x00\x00\x01'
++ self.req_bin_0 = b'\x67\x00\x00\x01'
+
+ self.reply_args_0 = {
+ 'key_click_percent': 206,
+@@ -4869,17 +4877,17 @@
+ 'led_mask': 438224369,
+ 'bell_duration': 20235,
+ }
+- self.reply_bin_0 = '\x01\x00\x75\xc5' '\x00\x00\x00\x05' \
+- '\x1a\x1e\xc5\xf1' '\xce\xfb\x35\xd3' \
+- '\x4f\x0b\x00\x00' '\xd9\xab\xa7\xa7' \
+- '\xf3\xa3\x81\xef' '\xa8\x99\xe1\xc7' \
+- '\xbd\x9b\xe4\x95' '\x94\xed\x8b\x96' \
+- '\xd3\x85\x87\xfa' '\xbf\xa6\x92\xd4' \
+- '\xef\xb7\xd6\xfa'
++ self.reply_bin_0 = b'\x01\x00\x75\xc5' b'\x00\x00\x00\x05' \
++ b'\x1a\x1e\xc5\xf1' b'\xce\xfb\x35\xd3' \
++ b'\x4f\x0b\x00\x00' b'\xd9\xab\xa7\xa7' \
++ b'\xf3\xa3\x81\xef' b'\xa8\x99\xe1\xc7' \
++ b'\xbd\x9b\xe4\x95' b'\x94\xed\x8b\x96' \
++ b'\xd3\x85\x87\xfa' b'\xbf\xa6\x92\xd4' \
++ b'\xef\xb7\xd6\xfa'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GetKeyboardControl._request.to_binary, (), self.req_args_0)
++ bin = request.GetKeyboardControl._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4897,7 +4905,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GetKeyboardControl._reply.to_binary, (), self.reply_args_0)
++ bin = request.GetKeyboardControl._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -4920,11 +4928,11 @@
+ self.req_args_0 = {
+ 'percent': -19,
+ }
+- self.req_bin_0 = '\x68\xed\x00\x01'
++ self.req_bin_0 = b'\x68\xed\x00\x01'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.Bell._request.to_binary, (), self.req_args_0)
++ bin = request.Bell._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4951,12 +4959,12 @@
+ 'do_thresh': 0,
+ 'threshold': -8309,
+ }
+- self.req_bin_0 = '\x69\x00\x00\x03' '\xdb\x7e\x81\x1c' \
+- '\xdf\x8b\x00\x00'
++ self.req_bin_0 = b'\x69\x00\x00\x03' b'\xdb\x7e\x81\x1c' \
++ b'\xdf\x8b\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ChangePointerControl._request.to_binary, (), self.req_args_0)
++ bin = request.ChangePointerControl._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4978,7 +4986,7 @@
+ def setUp(self):
+ self.req_args_0 = {
+ }
+- self.req_bin_0 = '\x6a\x00\x00\x01'
++ self.req_bin_0 = b'\x6a\x00\x00\x01'
+
+ self.reply_args_0 = {
+ 'accel_denom': 63793,
+@@ -4986,14 +4994,14 @@
+ 'threshold': 46060,
+ 'accel_num': 53419,
+ }
+- self.reply_bin_0 = '\x01\x00\xea\x2a' '\x00\x00\x00\x00' \
+- '\xd0\xab\xf9\x31' '\xb3\xec\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x00\xea\x2a' b'\x00\x00\x00\x00' \
++ b'\xd0\xab\xf9\x31' b'\xb3\xec\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GetPointerControl._request.to_binary, (), self.req_args_0)
++ bin = request.GetPointerControl._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -5011,7 +5019,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GetPointerControl._reply.to_binary, (), self.reply_args_0)
++ bin = request.GetPointerControl._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -5037,12 +5045,12 @@
+ 'interval': -12318,
+ 'prefer_blank': 2,
+ }
+- self.req_bin_0 = '\x6b\x00\x00\x03' '\xce\x7d\xcf\xe2' \
+- '\x02\x00\x00\x00'
++ self.req_bin_0 = b'\x6b\x00\x00\x03' b'\xce\x7d\xcf\xe2' \
++ b'\x02\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.SetScreenSaver._request.to_binary, (), self.req_args_0)
++ bin = request.SetScreenSaver._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -5064,7 +5072,7 @@
+ def setUp(self):
+ self.req_args_0 = {
+ }
+- self.req_bin_0 = '\x6c\x00\x00\x01'
++ self.req_bin_0 = b'\x6c\x00\x00\x01'
+
+ self.reply_args_0 = {
+ 'allow_exposures': 1,
+@@ -5073,14 +5081,14 @@
+ 'prefer_blanking': 1,
+ 'interval': 60559,
+ }
+- self.reply_bin_0 = '\x01\x00\x39\x52' '\x00\x00\x00\x00' \
+- '\x07\x49\xec\x8f' '\x01\x01\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x00\x39\x52' b'\x00\x00\x00\x00' \
++ b'\x07\x49\xec\x8f' b'\x01\x01\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GetScreenSaver._request.to_binary, (), self.req_args_0)
++ bin = request.GetScreenSaver._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -5098,7 +5106,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GetScreenSaver._reply.to_binary, (), self.reply_args_0)
++ bin = request.GetScreenSaver._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -5123,12 +5131,12 @@
+ 'mode': 1,
+ 'host_family': 1,
+ }
+- self.req_bin_0 = '\x6d\x01\x00\x03' '\x01\x00\x00\x04' \
+- '\xbc\xe2\x87\xc7'
++ self.req_bin_0 = b'\x6d\x01\x00\x03' b'\x01\x00\x00\x04' \
++ b'\xbc\xe2\x87\xc7'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ChangeHosts._request.to_binary, (), self.req_args_0)
++ bin = request.ChangeHosts._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -5150,23 +5158,23 @@
+ def setUp(self):
+ self.req_args_0 = {
+ }
+- self.req_bin_0 = '\x6e\x00\x00\x01'
++ self.req_bin_0 = b'\x6e\x00\x00\x01'
+
+ self.reply_args_0 = {
+ 'sequence_number': 31662,
+ 'mode': 1,
+ 'hosts': [{'family': 0, 'name': [34, 23, 178, 12]}, {'family': 0, 'name': [130, 236, 254, 15]}],
+ }
+- self.reply_bin_0 = '\x01\x01\x7b\xae' '\x00\x00\x00\x04' \
+- '\x00\x02\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x04' '\x22\x17\xb2\x0c' \
+- '\x00\x00\x00\x04' '\x82\xec\xfe\x0f'
++ self.reply_bin_0 = b'\x01\x01\x7b\xae' b'\x00\x00\x00\x04' \
++ b'\x00\x02\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x04' b'\x22\x17\xb2\x0c' \
++ b'\x00\x00\x00\x04' b'\x82\xec\xfe\x0f'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ListHosts._request.to_binary, (), self.req_args_0)
++ bin = request.ListHosts._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -5184,7 +5192,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.ListHosts._reply.to_binary, (), self.reply_args_0)
++ bin = request.ListHosts._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -5207,11 +5215,11 @@
+ self.req_args_0 = {
+ 'mode': 0,
+ }
+- self.req_bin_0 = '\x6f\x00\x00\x01'
++ self.req_bin_0 = b'\x6f\x00\x00\x01'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.SetAccessControl._request.to_binary, (), self.req_args_0)
++ bin = request.SetAccessControl._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -5234,11 +5242,11 @@
+ self.req_args_0 = {
+ 'mode': 0,
+ }
+- self.req_bin_0 = '\x70\x00\x00\x01'
++ self.req_bin_0 = b'\x70\x00\x00\x01'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.SetCloseDownMode._request.to_binary, (), self.req_args_0)
++ bin = request.SetCloseDownMode._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -5261,11 +5269,11 @@
+ self.req_args_0 = {
+ 'resource': 1679944210,
+ }
+- self.req_bin_0 = '\x71\x00\x00\x02' '\x64\x21\xea\x12'
++ self.req_bin_0 = b'\x71\x00\x00\x02' b'\x64\x21\xea\x12'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.KillClient._request.to_binary, (), self.req_args_0)
++ bin = request.KillClient._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -5290,18 +5298,18 @@
+ 'window': 109899869,
+ 'properties': [1758270592, 1474783027, 1362037883, 19212066, 1095428186, 1435857629, 337040311, 1202859364, 1426187239, 725785004, 1722986690, 435243112],
+ }
+- self.req_bin_0 = '\x72\x00\x00\x0f' '\x06\x8c\xf0\x5d' \
+- '\x00\x0c\x96\x29' '\x68\xcd\x14\x80' \
+- '\x57\xe7\x67\x33' '\x51\x2f\x0c\x7b' \
+- '\x01\x25\x27\x22' '\x41\x4a\xe8\x5a' \
+- '\x55\x95\x72\xdd' '\x14\x16\xd3\xb7' \
+- '\x47\xb2\x2d\x64' '\x55\x01\xe3\xe7' \
+- '\x2b\x42\x99\xac' '\x66\xb2\xb0\xc2' \
+- '\x19\xf1\x48\x68'
++ self.req_bin_0 = b'\x72\x00\x00\x0f' b'\x06\x8c\xf0\x5d' \
++ b'\x00\x0c\x96\x29' b'\x68\xcd\x14\x80' \
++ b'\x57\xe7\x67\x33' b'\x51\x2f\x0c\x7b' \
++ b'\x01\x25\x27\x22' b'\x41\x4a\xe8\x5a' \
++ b'\x55\x95\x72\xdd' b'\x14\x16\xd3\xb7' \
++ b'\x47\xb2\x2d\x64' b'\x55\x01\xe3\xe7' \
++ b'\x2b\x42\x99\xac' b'\x66\xb2\xb0\xc2' \
++ b'\x19\xf1\x48\x68'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.RotateProperties._request.to_binary, (), self.req_args_0)
++ bin = request.RotateProperties._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -5324,11 +5332,11 @@
+ self.req_args_0 = {
+ 'mode': 1,
+ }
+- self.req_bin_0 = '\x73\x01\x00\x01'
++ self.req_bin_0 = b'\x73\x01\x00\x01'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ForceScreenSaver._request.to_binary, (), self.req_args_0)
++ bin = request.ForceScreenSaver._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -5351,21 +5359,21 @@
+ self.req_args_0 = {
+ 'map': [218, 142, 195, 250, 194],
+ }
+- self.req_bin_0 = '\x74\x05\x00\x03' '\xda\x8e\xc3\xfa' \
+- '\xc2\x00\x00\x00'
++ self.req_bin_0 = b'\x74\x05\x00\x03' b'\xda\x8e\xc3\xfa' \
++ b'\xc2\x00\x00\x00'
+
+ self.reply_args_0 = {
+ 'sequence_number': 11995,
+ 'status': 187,
+ }
+- self.reply_bin_0 = '\x01\xbb\x2e\xdb' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\xbb\x2e\xdb' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.SetPointerMapping._request.to_binary, (), self.req_args_0)
++ bin = request.SetPointerMapping._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -5383,7 +5391,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.SetPointerMapping._reply.to_binary, (), self.reply_args_0)
++ bin = request.SetPointerMapping._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -5405,21 +5413,21 @@
+ def setUp(self):
+ self.req_args_0 = {
+ }
+- self.req_bin_0 = '\x75\x00\x00\x01'
++ self.req_bin_0 = b'\x75\x00\x00\x01'
+
+ self.reply_args_0 = {
+ 'sequence_number': 35825,
+ 'map': [165, 233, 136, 197, 230],
+ }
+- self.reply_bin_0 = '\x01\x05\x8b\xf1' '\x00\x00\x00\x02' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\xa5\xe9\x88\xc5' '\xe6\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x05\x8b\xf1' b'\x00\x00\x00\x02' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\xa5\xe9\x88\xc5' b'\xe6\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GetPointerMapping._request.to_binary, (), self.req_args_0)
++ bin = request.GetPointerMapping._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -5437,7 +5445,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GetPointerMapping._reply.to_binary, (), self.reply_args_0)
++ bin = request.GetPointerMapping._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -5460,22 +5468,22 @@
+ self.req_args_0 = {
+ 'keycodes': [[72, 169], [161, 154], [26, 10], [108, 187], [110, 198], [225, 88], [33, 66], [189, 147]],
+ }
+- self.req_bin_0 = '\x76\x02\x00\x05' '\x48\xa9\xa1\x9a' \
+- '\x1a\x0a\x6c\xbb' '\x6e\xc6\xe1\x58' \
+- '\x21\x42\xbd\x93'
++ self.req_bin_0 = b'\x76\x02\x00\x05' b'\x48\xa9\xa1\x9a' \
++ b'\x1a\x0a\x6c\xbb' b'\x6e\xc6\xe1\x58' \
++ b'\x21\x42\xbd\x93'
+
+ self.reply_args_0 = {
+ 'sequence_number': 44526,
+ 'status': 188,
+ }
+- self.reply_bin_0 = '\x01\xbc\xad\xee' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\xbc\xad\xee' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.SetModifierMapping._request.to_binary, (), self.req_args_0)
++ bin = request.SetModifierMapping._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -5493,7 +5501,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.SetModifierMapping._reply.to_binary, (), self.reply_args_0)
++ bin = request.SetModifierMapping._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -5515,22 +5523,22 @@
+ def setUp(self):
+ self.req_args_0 = {
+ }
+- self.req_bin_0 = '\x77\x00\x00\x01'
++ self.req_bin_0 = b'\x77\x00\x00\x01'
+
+ self.reply_args_0 = {
+ 'sequence_number': 58377,
+ 'keycodes': [[3, 183], [213, 173], [9, 97], [35, 60], [249, 78], [175, 62], [237, 11], [26, 119]],
+ }
+- self.reply_bin_0 = '\x01\x02\xe4\x09' '\x00\x00\x00\x04' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x03\xb7\xd5\xad' '\x09\x61\x23\x3c' \
+- '\xf9\x4e\xaf\x3e' '\xed\x0b\x1a\x77'
++ self.reply_bin_0 = b'\x01\x02\xe4\x09' b'\x00\x00\x00\x04' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x03\xb7\xd5\xad' b'\x09\x61\x23\x3c' \
++ b'\xf9\x4e\xaf\x3e' b'\xed\x0b\x1a\x77'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GetModifierMapping._request.to_binary, (), self.req_args_0)
++ bin = request.GetModifierMapping._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -5548,7 +5556,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GetModifierMapping._reply.to_binary, (), self.reply_args_0)
++ bin = request.GetModifierMapping._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -5570,11 +5578,11 @@
+ def setUp(self):
+ self.req_args_0 = {
+ }
+- self.req_bin_0 = '\x7f\x00\x00\x01'
++ self.req_bin_0 = b'\x7f\x00\x00\x01'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.NoOperation._request.to_binary, (), self.req_args_0)
++ bin = request.NoOperation._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+Index: python-xlib-0.14+20091101/test/test_requests_le.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/test/test_requests_le.py 2013-09-04 08:58:21.770241489 +0200
++++ python-xlib-0.14+20091101/test/test_requests_le.py 2013-09-04 08:58:21.762241489 +0200
+@@ -3,7 +3,6 @@
+ import sys, os
+ sys.path.insert(1, os.path.join(sys.path[0], '..'))
+
+-import string
+ import unittest
+ from Xlib.protocol import request, rq, event
+ import Xlib.protocol.event
+@@ -13,7 +12,7 @@
+
+ class CmpArray:
+ def __init__(self, *args, **kws):
+- self.array = apply(array.array, args, kws)
++ self.array = array.array(*args, **kws)
+
+ def __len__(self):
+ return len(self.array)
+@@ -21,16 +20,25 @@
+ def __getslice__(self, x, y):
+ return list(self.array[x:y])
+
++ def __getitem__(self, n):
++ if isinstance(n, slice):
++ return list(self.array.__getitem__(n))
++ else:
++ return self.array[n]
++
+ def __getattr__(self, attr):
+ return getattr(self.array, attr)
+
+- def __cmp__(self, other):
+- return cmp(self.array.tolist(), other)
++ def __eq__(self, other):
++ return self.array.tolist() == other
++
++ def __ne__(self, other):
++ return self.array.tolist() != other
+
+ rq.array = CmpArray
+
+ def tohex(bin):
+- bin = string.join(map(lambda c: '\\x%02x' % ord(c), bin), '')
++ bin = ''.join(map(lambda c: '\\x%02x' % c, bin))
+
+ bins = []
+ for i in range(0, len(bin), 16):
+@@ -43,7 +51,7 @@
+ except IndexError:
+ bins2.append("'%s'" % bins[i])
+
+- return string.join(bins2, ' \\\n ')
++ return ' \\\n '.join(bins2)
+
+ class DummyDisplay:
+ def get_resource_class(self, x):
+@@ -75,22 +83,22 @@
+ 'border_width': 29625,
+ 'window_class': 2,
+ }
+- self.req_bin_0 = '\x01\xc6\x17\x00' '\xa1\x2e\xb9\x25' \
+- '\x30\xfa\x8f\x21' '\x42\xe9\x11\x8d' \
+- '\x1f\xd7\x5b\xf2' '\xb9\x73\x02\x00' \
+- '\x4d\x3e\x64\x30' '\xff\x7f\x00\x00' \
+- '\x58\x2e\x54\x4e' '\x2c\x67\x7e\x2a' \
+- '\x35\x39\xa1\x1e' '\x2c\x60\x60\x51' \
+- '\x06\x00\x00\x00' '\x06\x00\x00\x00' \
+- '\x01\x00\x00\x00' '\xc4\x0f\xc8\x34' \
+- '\x1e\xac\xf5\x64' '\x01\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x33\x4a\x4c\x35' \
+- '\xc3\x5e\xcd\x27' '\xb9\xb0\x69\x3a' \
+- '\x28\x59\xfa\x2e'
++ self.req_bin_0 = b'\x01\xc6\x17\x00' b'\xa1\x2e\xb9\x25' \
++ b'\x30\xfa\x8f\x21' b'\x42\xe9\x11\x8d' \
++ b'\x1f\xd7\x5b\xf2' b'\xb9\x73\x02\x00' \
++ b'\x4d\x3e\x64\x30' b'\xff\x7f\x00\x00' \
++ b'\x58\x2e\x54\x4e' b'\x2c\x67\x7e\x2a' \
++ b'\x35\x39\xa1\x1e' b'\x2c\x60\x60\x51' \
++ b'\x06\x00\x00\x00' b'\x06\x00\x00\x00' \
++ b'\x01\x00\x00\x00' b'\xc4\x0f\xc8\x34' \
++ b'\x1e\xac\xf5\x64' b'\x01\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x33\x4a\x4c\x35' \
++ b'\xc3\x5e\xcd\x27' b'\xb9\xb0\x69\x3a' \
++ b'\x28\x59\xfa\x2e'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.CreateWindow._request.to_binary, (), self.req_args_0)
++ bin = request.CreateWindow._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -114,19 +122,19 @@
+ 'window': 560274578,
+ 'attrs': {'cursor': 1238338372, 'override_redirect': 0, 'bit_gravity': 6, 'event_mask': 1980992429, 'border_pixel': 310964771, 'background_pixel': 1268171782, 'save_under': 1, 'colormap': 171538239, 'do_not_propagate_mask': 135558419, 'backing_store': 2, 'win_gravity': 10, 'backing_planes': 252687930, 'border_pixmap': 287169917, 'backing_pixel': 1114685309, 'background_pixmap': 2004887498},
+ }
+- self.req_bin_0 = '\x02\x00\x12\x00' '\x92\x1c\x65\x21' \
+- '\xff\x7f\x00\x00' '\xca\x27\x80\x77' \
+- '\x06\xc4\x96\x4b' '\x7d\xdd\x1d\x11' \
+- '\x23\xf2\x88\x12' '\x06\x00\x00\x00' \
+- '\x0a\x00\x00\x00' '\x02\x00\x00\x00' \
+- '\x3a\xb6\x0f\x0f' '\x7d\xbf\x70\x42' \
+- '\x00\x00\x00\x00' '\x01\x00\x00\x00' \
+- '\xad\x8b\x13\x76' '\x13\x75\x14\x08' \
+- '\x3f\x77\x39\x0a' '\x44\x8b\xcf\x49'
++ self.req_bin_0 = b'\x02\x00\x12\x00' b'\x92\x1c\x65\x21' \
++ b'\xff\x7f\x00\x00' b'\xca\x27\x80\x77' \
++ b'\x06\xc4\x96\x4b' b'\x7d\xdd\x1d\x11' \
++ b'\x23\xf2\x88\x12' b'\x06\x00\x00\x00' \
++ b'\x0a\x00\x00\x00' b'\x02\x00\x00\x00' \
++ b'\x3a\xb6\x0f\x0f' b'\x7d\xbf\x70\x42' \
++ b'\x00\x00\x00\x00' b'\x01\x00\x00\x00' \
++ b'\xad\x8b\x13\x76' b'\x13\x75\x14\x08' \
++ b'\x3f\x77\x39\x0a' b'\x44\x8b\xcf\x49'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ChangeWindowAttributes._request.to_binary, (), self.req_args_0)
++ bin = request.ChangeWindowAttributes._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -149,7 +157,7 @@
+ self.req_args_0 = {
+ 'window': 1672572666,
+ }
+- self.req_bin_0 = '\x03\x00\x02\x00' '\xfa\x6e\xb1\x63'
++ self.req_bin_0 = b'\x03\x00\x02\x00' b'\xfa\x6e\xb1\x63'
+
+ self.reply_args_0 = {
+ 'do_not_propagate_mask': 33915,
+@@ -169,16 +177,16 @@
+ 'sequence_number': 38504,
+ 'colormap': 56062036,
+ }
+- self.reply_bin_0 = '\x01\xd7\x68\x96' '\x03\x00\x00\x00' \
+- '\xb5\x61\x9f\x54' '\x28\x3f\x80\x8c' \
+- '\xce\xd7\xa2\x32' '\x99\xf4\xa7\x37' \
+- '\x01\x01\xa9\x00' '\x54\x70\x57\x03' \
+- '\xb4\x01\xc9\x3d' '\x52\xc6\x49\x0a' \
+- '\x7b\x84\x00\x00'
++ self.reply_bin_0 = b'\x01\xd7\x68\x96' b'\x03\x00\x00\x00' \
++ b'\xb5\x61\x9f\x54' b'\x28\x3f\x80\x8c' \
++ b'\xce\xd7\xa2\x32' b'\x99\xf4\xa7\x37' \
++ b'\x01\x01\xa9\x00' b'\x54\x70\x57\x03' \
++ b'\xb4\x01\xc9\x3d' b'\x52\xc6\x49\x0a' \
++ b'\x7b\x84\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GetWindowAttributes._request.to_binary, (), self.req_args_0)
++ bin = request.GetWindowAttributes._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -196,7 +204,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GetWindowAttributes._reply.to_binary, (), self.reply_args_0)
++ bin = request.GetWindowAttributes._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -219,11 +227,11 @@
+ self.req_args_0 = {
+ 'window': 533632985,
+ }
+- self.req_bin_0 = '\x04\x00\x02\x00' '\xd9\x97\xce\x1f'
++ self.req_bin_0 = b'\x04\x00\x02\x00' b'\xd9\x97\xce\x1f'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.DestroyWindow._request.to_binary, (), self.req_args_0)
++ bin = request.DestroyWindow._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -246,11 +254,11 @@
+ self.req_args_0 = {
+ 'window': 490680451,
+ }
+- self.req_bin_0 = '\x05\x00\x02\x00' '\x83\x30\x3f\x1d'
++ self.req_bin_0 = b'\x05\x00\x02\x00' b'\x83\x30\x3f\x1d'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.DestroySubWindows._request.to_binary, (), self.req_args_0)
++ bin = request.DestroySubWindows._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -274,11 +282,11 @@
+ 'window': 1974200014,
+ 'mode': 0,
+ }
+- self.req_bin_0 = '\x06\x00\x02\x00' '\xce\xe6\xab\x75'
++ self.req_bin_0 = b'\x06\x00\x02\x00' b'\xce\xe6\xab\x75'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ChangeSaveSet._request.to_binary, (), self.req_args_0)
++ bin = request.ChangeSaveSet._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -304,12 +312,12 @@
+ 'window': 2127670410,
+ 'parent': 1913134105,
+ }
+- self.req_bin_0 = '\x07\x00\x04\x00' '\x8a\xac\xd1\x7e' \
+- '\x19\x1c\x08\x72' '\x10\xb9\x25\xce'
++ self.req_bin_0 = b'\x07\x00\x04\x00' b'\x8a\xac\xd1\x7e' \
++ b'\x19\x1c\x08\x72' b'\x10\xb9\x25\xce'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ReparentWindow._request.to_binary, (), self.req_args_0)
++ bin = request.ReparentWindow._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -332,11 +340,11 @@
+ self.req_args_0 = {
+ 'window': 962670079,
+ }
+- self.req_bin_0 = '\x08\x00\x02\x00' '\xff\x2d\x61\x39'
++ self.req_bin_0 = b'\x08\x00\x02\x00' b'\xff\x2d\x61\x39'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.MapWindow._request.to_binary, (), self.req_args_0)
++ bin = request.MapWindow._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -359,11 +367,11 @@
+ self.req_args_0 = {
+ 'window': 447820952,
+ }
+- self.req_bin_0 = '\x09\x00\x02\x00' '\x98\x34\xb1\x1a'
++ self.req_bin_0 = b'\x09\x00\x02\x00' b'\x98\x34\xb1\x1a'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.MapSubwindows._request.to_binary, (), self.req_args_0)
++ bin = request.MapSubwindows._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -386,11 +394,11 @@
+ self.req_args_0 = {
+ 'window': 1130502889,
+ }
+- self.req_bin_0 = '\x0a\x00\x02\x00' '\xe9\x1a\x62\x43'
++ self.req_bin_0 = b'\x0a\x00\x02\x00' b'\xe9\x1a\x62\x43'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.UnmapWindow._request.to_binary, (), self.req_args_0)
++ bin = request.UnmapWindow._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -413,11 +421,11 @@
+ self.req_args_0 = {
+ 'window': 2009442907,
+ }
+- self.req_bin_0 = '\x0b\x00\x02\x00' '\x5b\xaa\xc5\x77'
++ self.req_bin_0 = b'\x0b\x00\x02\x00' b'\x5b\xaa\xc5\x77'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.UnmapSubwindows._request.to_binary, (), self.req_args_0)
++ bin = request.UnmapSubwindows._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -441,15 +449,15 @@
+ 'window': 2092974410,
+ 'attrs': {'sibling': 1102940930, 'width': 52077, 'y': -11332, 'x': -11514, 'border_width': -6900, 'stack_mode': 4, 'height': 62050},
+ }
+- self.req_bin_0 = '\x0c\x00\x0a\x00' '\x4a\x41\xc0\x7c' \
+- '\x7f\x00\x00\x00' '\x06\xd3\x00\x00' \
+- '\xbc\xd3\x00\x00' '\x6d\xcb\x00\x00' \
+- '\x62\xf2\x00\x00' '\x0c\xe5\x00\x00' \
+- '\x02\x8b\xbd\x41' '\x04\x00\x00\x00'
++ self.req_bin_0 = b'\x0c\x00\x0a\x00' b'\x4a\x41\xc0\x7c' \
++ b'\x7f\x00\x00\x00' b'\x06\xd3\x00\x00' \
++ b'\xbc\xd3\x00\x00' b'\x6d\xcb\x00\x00' \
++ b'\x62\xf2\x00\x00' b'\x0c\xe5\x00\x00' \
++ b'\x02\x8b\xbd\x41' b'\x04\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ConfigureWindow._request.to_binary, (), self.req_args_0)
++ bin = request.ConfigureWindow._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -473,11 +481,11 @@
+ 'direction': 0,
+ 'window': 1132872732,
+ }
+- self.req_bin_0 = '\x0d\x00\x02\x00' '\x1c\x44\x86\x43'
++ self.req_bin_0 = b'\x0d\x00\x02\x00' b'\x1c\x44\x86\x43'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.CirculateWindow._request.to_binary, (), self.req_args_0)
++ bin = request.CirculateWindow._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -500,7 +508,7 @@
+ self.req_args_0 = {
+ 'drawable': 2036121058,
+ }
+- self.req_bin_0 = '\x0e\x00\x02\x00' '\xe2\xbd\x5c\x79'
++ self.req_bin_0 = b'\x0e\x00\x02\x00' b'\xe2\xbd\x5c\x79'
+
+ self.reply_args_0 = {
+ 'width': 65264,
+@@ -512,14 +520,14 @@
+ 'sequence_number': 36173,
+ 'height': 9014,
+ }
+- self.reply_bin_0 = '\x01\xfd\x4d\x8d' '\x00\x00\x00\x00' \
+- '\xf2\xf9\x63\x1d' '\x90\x8e\xa2\xd0' \
+- '\xf0\xfe\x36\x23' '\xb8\x4d\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\xfd\x4d\x8d' b'\x00\x00\x00\x00' \
++ b'\xf2\xf9\x63\x1d' b'\x90\x8e\xa2\xd0' \
++ b'\xf0\xfe\x36\x23' b'\xb8\x4d\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GetGeometry._request.to_binary, (), self.req_args_0)
++ bin = request.GetGeometry._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -537,7 +545,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GetGeometry._reply.to_binary, (), self.reply_args_0)
++ bin = request.GetGeometry._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -560,7 +568,7 @@
+ self.req_args_0 = {
+ 'window': 884880831,
+ }
+- self.req_bin_0 = '\x0f\x00\x02\x00' '\xbf\x35\xbe\x34'
++ self.req_bin_0 = b'\x0f\x00\x02\x00' b'\xbf\x35\xbe\x34'
+
+ self.reply_args_0 = {
+ 'parent': 701348115,
+@@ -568,18 +576,18 @@
+ 'children': [1089242139, 925689046, 1668140638, 775016596, 1024466546, 1245533043, 1733661379],
+ 'sequence_number': 10033,
+ }
+- self.reply_bin_0 = '\x01\x00\x31\x27' '\x07\x00\x00\x00' \
+- '\x35\xea\xdf\x17' '\x13\xb9\xcd\x29' \
+- '\x07\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x1b\x84\xec\x40' '\xd6\xe4\x2c\x37' \
+- '\x5e\xce\x6d\x63' '\x94\xd0\x31\x2e' \
+- '\x72\x1e\x10\x3d' '\x73\x53\x3d\x4a' \
+- '\xc3\x92\x55\x67'
++ self.reply_bin_0 = b'\x01\x00\x31\x27' b'\x07\x00\x00\x00' \
++ b'\x35\xea\xdf\x17' b'\x13\xb9\xcd\x29' \
++ b'\x07\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x1b\x84\xec\x40' b'\xd6\xe4\x2c\x37' \
++ b'\x5e\xce\x6d\x63' b'\x94\xd0\x31\x2e' \
++ b'\x72\x1e\x10\x3d' b'\x73\x53\x3d\x4a' \
++ b'\xc3\x92\x55\x67'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.QueryTree._request.to_binary, (), self.req_args_0)
++ bin = request.QueryTree._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -597,7 +605,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.QueryTree._reply.to_binary, (), self.reply_args_0)
++ bin = request.QueryTree._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -621,22 +629,22 @@
+ 'name': 'fuzzy_prop',
+ 'only_if_exists': 0,
+ }
+- self.req_bin_0 = '\x10\x00\x05\x00' '\x0a\x00\x00\x00' \
+- '\x66\x75\x7a\x7a' '\x79\x5f\x70\x72' \
+- '\x6f\x70\x00\x00'
++ self.req_bin_0 = b'\x10\x00\x05\x00' b'\x0a\x00\x00\x00' \
++ b'\x66\x75\x7a\x7a' b'\x79\x5f\x70\x72' \
++ b'\x6f\x70\x00\x00'
+
+ self.reply_args_0 = {
+ 'sequence_number': 14401,
+ 'atom': 1112752381,
+ }
+- self.reply_bin_0 = '\x01\x00\x41\x38' '\x00\x00\x00\x00' \
+- '\xfd\x40\x53\x42' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x00\x41\x38' b'\x00\x00\x00\x00' \
++ b'\xfd\x40\x53\x42' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.InternAtom._request.to_binary, (), self.req_args_0)
++ bin = request.InternAtom._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -654,7 +662,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.InternAtom._reply.to_binary, (), self.reply_args_0)
++ bin = request.InternAtom._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -677,21 +685,21 @@
+ self.req_args_0 = {
+ 'atom': 1234624354,
+ }
+- self.req_bin_0 = '\x11\x00\x02\x00' '\x62\xdf\x96\x49'
++ self.req_bin_0 = b'\x11\x00\x02\x00' b'\x62\xdf\x96\x49'
+
+ self.reply_args_0 = {
+ 'name': 'WM_CLASS',
+ 'sequence_number': 2504,
+ }
+- self.reply_bin_0 = '\x01\x00\xc8\x09' '\x02\x00\x00\x00' \
+- '\x08\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x57\x4d\x5f\x43' '\x4c\x41\x53\x53'
++ self.reply_bin_0 = b'\x01\x00\xc8\x09' b'\x02\x00\x00\x00' \
++ b'\x08\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x57\x4d\x5f\x43' b'\x4c\x41\x53\x53'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GetAtomName._request.to_binary, (), self.req_args_0)
++ bin = request.GetAtomName._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -709,7 +717,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GetAtomName._reply.to_binary, (), self.reply_args_0)
++ bin = request.GetAtomName._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -736,9 +744,9 @@
+ 'data': (8, ''),
+ 'mode': 2,
+ }
+- self.req_bin_0 = '\x12\x02\x06\x00' '\x25\x5d\xa4\x4a' \
+- '\x09\x59\x27\x0e' '\xb9\xcf\x2f\x48' \
+- '\x08\x00\x00\x00' '\x00\x00\x00\x00'
++ self.req_bin_0 = b'\x12\x02\x06\x00' b'\x25\x5d\xa4\x4a' \
++ b'\x09\x59\x27\x0e' b'\xb9\xcf\x2f\x48' \
++ b'\x08\x00\x00\x00' b'\x00\x00\x00\x00'
+
+ self.req_args_1 = {
+ 'type': 347282449,
+@@ -747,10 +755,10 @@
+ 'data': (8, 'foo'),
+ 'mode': 1,
+ }
+- self.req_bin_1 = '\x12\x01\x07\x00' '\x19\xec\x86\x01' \
+- '\x25\x5d\xc9\x25' '\x11\x1c\xb3\x14' \
+- '\x08\x00\x00\x00' '\x03\x00\x00\x00' \
+- '\x66\x6f\x6f\x00'
++ self.req_bin_1 = b'\x12\x01\x07\x00' b'\x19\xec\x86\x01' \
++ b'\x25\x5d\xc9\x25' b'\x11\x1c\xb3\x14' \
++ b'\x08\x00\x00\x00' b'\x03\x00\x00\x00' \
++ b'\x66\x6f\x6f\x00'
+
+ self.req_args_2 = {
+ 'type': 1524334051,
+@@ -759,10 +767,10 @@
+ 'data': (8, 'zoom'),
+ 'mode': 1,
+ }
+- self.req_bin_2 = '\x12\x01\x07\x00' '\xc0\xa6\xb7\x1c' \
+- '\xc5\x16\x42\x27' '\xe3\x7d\xdb\x5a' \
+- '\x08\x00\x00\x00' '\x04\x00\x00\x00' \
+- '\x7a\x6f\x6f\x6d'
++ self.req_bin_2 = b'\x12\x01\x07\x00' b'\xc0\xa6\xb7\x1c' \
++ b'\xc5\x16\x42\x27' b'\xe3\x7d\xdb\x5a' \
++ b'\x08\x00\x00\x00' b'\x04\x00\x00\x00' \
++ b'\x7a\x6f\x6f\x6d'
+
+ self.req_args_3 = {
+ 'type': 1895805524,
+@@ -771,9 +779,9 @@
+ 'data': (16, []),
+ 'mode': 2,
+ }
+- self.req_bin_3 = '\x12\x02\x06\x00' '\x13\xde\x9c\x0c' \
+- '\xee\xa7\x9f\x01' '\x54\xb2\xff\x70' \
+- '\x10\x00\x00\x00' '\x00\x00\x00\x00'
++ self.req_bin_3 = b'\x12\x02\x06\x00' b'\x13\xde\x9c\x0c' \
++ b'\xee\xa7\x9f\x01' b'\x54\xb2\xff\x70' \
++ b'\x10\x00\x00\x00' b'\x00\x00\x00\x00'
+
+ self.req_args_4 = {
+ 'type': 549788841,
+@@ -782,10 +790,10 @@
+ 'data': (16, [1, 2, 3]),
+ 'mode': 0,
+ }
+- self.req_bin_4 = '\x12\x00\x08\x00' '\x3c\x4c\x4d\x59' \
+- '\x31\x43\x70\x6f' '\xa9\x1c\xc5\x20' \
+- '\x10\x00\x00\x00' '\x03\x00\x00\x00' \
+- '\x01\x00\x02\x00' '\x03\x00\x00\x00'
++ self.req_bin_4 = b'\x12\x00\x08\x00' b'\x3c\x4c\x4d\x59' \
++ b'\x31\x43\x70\x6f' b'\xa9\x1c\xc5\x20' \
++ b'\x10\x00\x00\x00' b'\x03\x00\x00\x00' \
++ b'\x01\x00\x02\x00' b'\x03\x00\x00\x00'
+
+ self.req_args_5 = {
+ 'type': 1083661140,
+@@ -794,10 +802,10 @@
+ 'data': (16, [1, 2, 3, 4]),
+ 'mode': 2,
+ }
+- self.req_bin_5 = '\x12\x02\x08\x00' '\x66\x3b\x5c\x78' \
+- '\x8f\x6c\x80\x17' '\x54\x5b\x97\x40' \
+- '\x10\x00\x00\x00' '\x04\x00\x00\x00' \
+- '\x01\x00\x02\x00' '\x03\x00\x04\x00'
++ self.req_bin_5 = b'\x12\x02\x08\x00' b'\x66\x3b\x5c\x78' \
++ b'\x8f\x6c\x80\x17' b'\x54\x5b\x97\x40' \
++ b'\x10\x00\x00\x00' b'\x04\x00\x00\x00' \
++ b'\x01\x00\x02\x00' b'\x03\x00\x04\x00'
+
+ self.req_args_6 = {
+ 'type': 761479544,
+@@ -806,9 +814,9 @@
+ 'data': (32, []),
+ 'mode': 2,
+ }
+- self.req_bin_6 = '\x12\x02\x06\x00' '\x91\x3e\xf2\x4b' \
+- '\xe1\x3f\xf1\x67' '\x78\x41\x63\x2d' \
+- '\x20\x00\x00\x00' '\x00\x00\x00\x00'
++ self.req_bin_6 = b'\x12\x02\x06\x00' b'\x91\x3e\xf2\x4b' \
++ b'\xe1\x3f\xf1\x67' b'\x78\x41\x63\x2d' \
++ b'\x20\x00\x00\x00' b'\x00\x00\x00\x00'
+
+ self.req_args_7 = {
+ 'type': 956119085,
+@@ -817,15 +825,15 @@
+ 'data': (32, [1, 2, 3]),
+ 'mode': 1,
+ }
+- self.req_bin_7 = '\x12\x01\x09\x00' '\x91\x5c\xb8\x3c' \
+- '\xbe\x5c\xe4\x28' '\x2d\x38\xfd\x38' \
+- '\x20\x00\x00\x00' '\x03\x00\x00\x00' \
+- '\x01\x00\x00\x00' '\x02\x00\x00\x00' \
+- '\x03\x00\x00\x00'
++ self.req_bin_7 = b'\x12\x01\x09\x00' b'\x91\x5c\xb8\x3c' \
++ b'\xbe\x5c\xe4\x28' b'\x2d\x38\xfd\x38' \
++ b'\x20\x00\x00\x00' b'\x03\x00\x00\x00' \
++ b'\x01\x00\x00\x00' b'\x02\x00\x00\x00' \
++ b'\x03\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ChangeProperty._request.to_binary, (), self.req_args_0)
++ bin = request.ChangeProperty._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -843,7 +851,7 @@
+ raise AssertionError(args)
+
+ def testPackRequest1(self):
+- bin = apply(request.ChangeProperty._request.to_binary, (), self.req_args_1)
++ bin = request.ChangeProperty._request.to_binary(*(), **self.req_args_1)
+ try:
+ assert bin == self.req_bin_1
+ except AssertionError:
+@@ -861,7 +869,7 @@
+ raise AssertionError(args)
+
+ def testPackRequest2(self):
+- bin = apply(request.ChangeProperty._request.to_binary, (), self.req_args_2)
++ bin = request.ChangeProperty._request.to_binary(*(), **self.req_args_2)
+ try:
+ assert bin == self.req_bin_2
+ except AssertionError:
+@@ -879,7 +887,7 @@
+ raise AssertionError(args)
+
+ def testPackRequest3(self):
+- bin = apply(request.ChangeProperty._request.to_binary, (), self.req_args_3)
++ bin = request.ChangeProperty._request.to_binary(*(), **self.req_args_3)
+ try:
+ assert bin == self.req_bin_3
+ except AssertionError:
+@@ -897,7 +905,7 @@
+ raise AssertionError(args)
+
+ def testPackRequest4(self):
+- bin = apply(request.ChangeProperty._request.to_binary, (), self.req_args_4)
++ bin = request.ChangeProperty._request.to_binary(*(), **self.req_args_4)
+ try:
+ assert bin == self.req_bin_4
+ except AssertionError:
+@@ -915,7 +923,7 @@
+ raise AssertionError(args)
+
+ def testPackRequest5(self):
+- bin = apply(request.ChangeProperty._request.to_binary, (), self.req_args_5)
++ bin = request.ChangeProperty._request.to_binary(*(), **self.req_args_5)
+ try:
+ assert bin == self.req_bin_5
+ except AssertionError:
+@@ -933,7 +941,7 @@
+ raise AssertionError(args)
+
+ def testPackRequest6(self):
+- bin = apply(request.ChangeProperty._request.to_binary, (), self.req_args_6)
++ bin = request.ChangeProperty._request.to_binary(*(), **self.req_args_6)
+ try:
+ assert bin == self.req_bin_6
+ except AssertionError:
+@@ -951,7 +959,7 @@
+ raise AssertionError(args)
+
+ def testPackRequest7(self):
+- bin = apply(request.ChangeProperty._request.to_binary, (), self.req_args_7)
++ bin = request.ChangeProperty._request.to_binary(*(), **self.req_args_7)
+ try:
+ assert bin == self.req_bin_7
+ except AssertionError:
+@@ -975,12 +983,12 @@
+ 'window': 1858113940,
+ 'property': 754854074,
+ }
+- self.req_bin_0 = '\x13\x00\x03\x00' '\x94\x91\xc0\x6e' \
+- '\xba\x28\xfe\x2c'
++ self.req_bin_0 = b'\x13\x00\x03\x00' b'\x94\x91\xc0\x6e' \
++ b'\xba\x28\xfe\x2c'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.DeleteProperty._request.to_binary, (), self.req_args_0)
++ bin = request.DeleteProperty._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1008,9 +1016,9 @@
+ 'long_length': 1748032051,
+ 'delete': 0,
+ }
+- self.req_bin_0 = '\x14\x00\x06\x00' '\xda\x26\xe0\x63' \
+- '\x92\x84\xda\x73' '\x2b\x75\x56\x0d' \
+- '\x90\x39\xaf\x00' '\x33\xda\x30\x68'
++ self.req_bin_0 = b'\x14\x00\x06\x00' b'\xda\x26\xe0\x63' \
++ b'\x92\x84\xda\x73' b'\x2b\x75\x56\x0d' \
++ b'\x90\x39\xaf\x00' b'\x33\xda\x30\x68'
+
+ self.reply_args_0 = {
+ 'bytes_after': 1264377294,
+@@ -1018,10 +1026,10 @@
+ 'sequence_number': 34281,
+ 'value': (8, ''),
+ }
+- self.reply_bin_0 = '\x01\x08\xe9\x85' '\x00\x00\x00\x00' \
+- '\x02\xc9\xe6\x4d' '\xce\xdd\x5c\x4b' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x08\xe9\x85' b'\x00\x00\x00\x00' \
++ b'\x02\xc9\xe6\x4d' b'\xce\xdd\x5c\x4b' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+ self.reply_args_1 = {
+ 'bytes_after': 902042689,
+@@ -1029,11 +1037,11 @@
+ 'sequence_number': 50371,
+ 'value': (8, 'foo'),
+ }
+- self.reply_bin_1 = '\x01\x08\xc3\xc4' '\x01\x00\x00\x00' \
+- '\x13\x3f\x14\x6e' '\x41\x14\xc4\x35' \
+- '\x03\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x66\x6f\x6f\x00'
++ self.reply_bin_1 = b'\x01\x08\xc3\xc4' b'\x01\x00\x00\x00' \
++ b'\x13\x3f\x14\x6e' b'\x41\x14\xc4\x35' \
++ b'\x03\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x66\x6f\x6f\x00'
+
+ self.reply_args_2 = {
+ 'bytes_after': 1782597051,
+@@ -1041,11 +1049,11 @@
+ 'sequence_number': 58679,
+ 'value': (8, 'zoom'),
+ }
+- self.reply_bin_2 = '\x01\x08\x37\xe5' '\x01\x00\x00\x00' \
+- '\x47\xc4\x2e\x60' '\xbb\x45\x40\x6a' \
+- '\x04\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x7a\x6f\x6f\x6d'
++ self.reply_bin_2 = b'\x01\x08\x37\xe5' b'\x01\x00\x00\x00' \
++ b'\x47\xc4\x2e\x60' b'\xbb\x45\x40\x6a' \
++ b'\x04\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x7a\x6f\x6f\x6d'
+
+ self.reply_args_3 = {
+ 'bytes_after': 1107167742,
+@@ -1053,10 +1061,10 @@
+ 'sequence_number': 49647,
+ 'value': (16, []),
+ }
+- self.reply_bin_3 = '\x01\x10\xef\xc1' '\x00\x00\x00\x00' \
+- '\xfa\x06\x1f\x75' '\xfe\x09\xfe\x41' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_3 = b'\x01\x10\xef\xc1' b'\x00\x00\x00\x00' \
++ b'\xfa\x06\x1f\x75' b'\xfe\x09\xfe\x41' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+ self.reply_args_4 = {
+ 'bytes_after': 1602466976,
+@@ -1064,11 +1072,11 @@
+ 'sequence_number': 58268,
+ 'value': (16, [1, 2, 3]),
+ }
+- self.reply_bin_4 = '\x01\x10\x9c\xe3' '\x02\x00\x00\x00' \
+- '\x24\x3d\x11\x26' '\xa0\xb4\x83\x5f' \
+- '\x03\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x01\x00\x02\x00' '\x03\x00\x00\x00'
++ self.reply_bin_4 = b'\x01\x10\x9c\xe3' b'\x02\x00\x00\x00' \
++ b'\x24\x3d\x11\x26' b'\xa0\xb4\x83\x5f' \
++ b'\x03\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x01\x00\x02\x00' b'\x03\x00\x00\x00'
+
+ self.reply_args_5 = {
+ 'bytes_after': 651542717,
+@@ -1076,11 +1084,11 @@
+ 'sequence_number': 26901,
+ 'value': (16, [1, 2, 3, 4]),
+ }
+- self.reply_bin_5 = '\x01\x10\x15\x69' '\x02\x00\x00\x00' \
+- '\xe6\x9d\x78\x38' '\xbd\xc0\xd5\x26' \
+- '\x04\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x01\x00\x02\x00' '\x03\x00\x04\x00'
++ self.reply_bin_5 = b'\x01\x10\x15\x69' b'\x02\x00\x00\x00' \
++ b'\xe6\x9d\x78\x38' b'\xbd\xc0\xd5\x26' \
++ b'\x04\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x01\x00\x02\x00' b'\x03\x00\x04\x00'
+
+ self.reply_args_6 = {
+ 'bytes_after': 602498418,
+@@ -1088,10 +1096,10 @@
+ 'sequence_number': 11175,
+ 'value': (32, []),
+ }
+- self.reply_bin_6 = '\x01\x20\xa7\x2b' '\x00\x00\x00\x00' \
+- '\x7e\xa7\x98\x02' '\x72\x65\xe9\x23' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_6 = b'\x01\x20\xa7\x2b' b'\x00\x00\x00\x00' \
++ b'\x7e\xa7\x98\x02' b'\x72\x65\xe9\x23' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+ self.reply_args_7 = {
+ 'bytes_after': 1661909208,
+@@ -1099,16 +1107,16 @@
+ 'sequence_number': 4347,
+ 'value': (32, [1, 2, 3]),
+ }
+- self.reply_bin_7 = '\x01\x20\xfb\x10' '\x03\x00\x00\x00' \
+- '\x08\xf7\x2e\x24' '\xd8\xb8\x0e\x63' \
+- '\x03\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x01\x00\x00\x00' '\x02\x00\x00\x00' \
+- '\x03\x00\x00\x00'
++ self.reply_bin_7 = b'\x01\x20\xfb\x10' b'\x03\x00\x00\x00' \
++ b'\x08\xf7\x2e\x24' b'\xd8\xb8\x0e\x63' \
++ b'\x03\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x01\x00\x00\x00' b'\x02\x00\x00\x00' \
++ b'\x03\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GetProperty._request.to_binary, (), self.req_args_0)
++ bin = request.GetProperty._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1126,7 +1134,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GetProperty._reply.to_binary, (), self.reply_args_0)
++ bin = request.GetProperty._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -1144,7 +1152,7 @@
+ raise AssertionError(args)
+
+ def testPackReply1(self):
+- bin = apply(request.GetProperty._reply.to_binary, (), self.reply_args_1)
++ bin = request.GetProperty._reply.to_binary(*(), **self.reply_args_1)
+ try:
+ assert bin == self.reply_bin_1
+ except AssertionError:
+@@ -1162,7 +1170,7 @@
+ raise AssertionError(args)
+
+ def testPackReply2(self):
+- bin = apply(request.GetProperty._reply.to_binary, (), self.reply_args_2)
++ bin = request.GetProperty._reply.to_binary(*(), **self.reply_args_2)
+ try:
+ assert bin == self.reply_bin_2
+ except AssertionError:
+@@ -1180,7 +1188,7 @@
+ raise AssertionError(args)
+
+ def testPackReply3(self):
+- bin = apply(request.GetProperty._reply.to_binary, (), self.reply_args_3)
++ bin = request.GetProperty._reply.to_binary(*(), **self.reply_args_3)
+ try:
+ assert bin == self.reply_bin_3
+ except AssertionError:
+@@ -1198,7 +1206,7 @@
+ raise AssertionError(args)
+
+ def testPackReply4(self):
+- bin = apply(request.GetProperty._reply.to_binary, (), self.reply_args_4)
++ bin = request.GetProperty._reply.to_binary(*(), **self.reply_args_4)
+ try:
+ assert bin == self.reply_bin_4
+ except AssertionError:
+@@ -1216,7 +1224,7 @@
+ raise AssertionError(args)
+
+ def testPackReply5(self):
+- bin = apply(request.GetProperty._reply.to_binary, (), self.reply_args_5)
++ bin = request.GetProperty._reply.to_binary(*(), **self.reply_args_5)
+ try:
+ assert bin == self.reply_bin_5
+ except AssertionError:
+@@ -1234,7 +1242,7 @@
+ raise AssertionError(args)
+
+ def testPackReply6(self):
+- bin = apply(request.GetProperty._reply.to_binary, (), self.reply_args_6)
++ bin = request.GetProperty._reply.to_binary(*(), **self.reply_args_6)
+ try:
+ assert bin == self.reply_bin_6
+ except AssertionError:
+@@ -1252,7 +1260,7 @@
+ raise AssertionError(args)
+
+ def testPackReply7(self):
+- bin = apply(request.GetProperty._reply.to_binary, (), self.reply_args_7)
++ bin = request.GetProperty._reply.to_binary(*(), **self.reply_args_7)
+ try:
+ assert bin == self.reply_bin_7
+ except AssertionError:
+@@ -1275,32 +1283,32 @@
+ self.req_args_0 = {
+ 'window': 1002132678,
+ }
+- self.req_bin_0 = '\x15\x00\x02\x00' '\xc6\x54\xbb\x3b'
++ self.req_bin_0 = b'\x15\x00\x02\x00' b'\xc6\x54\xbb\x3b'
+
+ self.reply_args_0 = {
+ 'sequence_number': 58554,
+ 'atoms': [497337753, 1561366096, 1429910722, 371682445, 1693790956, 124266489, 819023111, 1575252239, 1958056613, 76461795, 2044963121, 1187630009, 890357857, 639310702, 1708479530, 336050724, 1163834063, 1164094286, 1626309474, 136351014, 1163110454, 1416739018, 1380223836],
+ }
+- self.reply_bin_0 = '\x01\x00\xba\xe4' '\x17\x00\x00\x00' \
+- '\x17\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x99\xc5\xa4\x1d' '\x50\x8e\x10\x5d' \
+- '\xc2\xb4\x3a\x55' '\x8d\x6c\x27\x16' \
+- '\xec\x32\xf5\x64' '\xf9\x27\x68\x07' \
+- '\x07\x4d\xd1\x30' '\x0f\x71\xe4\x5d' \
+- '\xa5\x92\xb5\x74' '\xe3\xb6\x8e\x04' \
+- '\x31\xa9\xe3\x79' '\xb9\xcb\xc9\x46' \
+- '\x61\xc8\x11\x35' '\x6e\x1b\x1b\x26' \
+- '\x2a\x54\xd5\x65' '\x24\xba\x07\x14' \
+- '\xcf\xb2\x5e\x45' '\x4e\xab\x62\x45' \
+- '\x62\x83\xef\x60' '\x26\x8d\x20\x08' \
+- '\x36\xa8\x53\x45' '\xca\xb8\x71\x54' \
+- '\x5c\x8b\x44\x52'
++ self.reply_bin_0 = b'\x01\x00\xba\xe4' b'\x17\x00\x00\x00' \
++ b'\x17\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x99\xc5\xa4\x1d' b'\x50\x8e\x10\x5d' \
++ b'\xc2\xb4\x3a\x55' b'\x8d\x6c\x27\x16' \
++ b'\xec\x32\xf5\x64' b'\xf9\x27\x68\x07' \
++ b'\x07\x4d\xd1\x30' b'\x0f\x71\xe4\x5d' \
++ b'\xa5\x92\xb5\x74' b'\xe3\xb6\x8e\x04' \
++ b'\x31\xa9\xe3\x79' b'\xb9\xcb\xc9\x46' \
++ b'\x61\xc8\x11\x35' b'\x6e\x1b\x1b\x26' \
++ b'\x2a\x54\xd5\x65' b'\x24\xba\x07\x14' \
++ b'\xcf\xb2\x5e\x45' b'\x4e\xab\x62\x45' \
++ b'\x62\x83\xef\x60' b'\x26\x8d\x20\x08' \
++ b'\x36\xa8\x53\x45' b'\xca\xb8\x71\x54' \
++ b'\x5c\x8b\x44\x52'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ListProperties._request.to_binary, (), self.req_args_0)
++ bin = request.ListProperties._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1318,7 +1326,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.ListProperties._reply.to_binary, (), self.reply_args_0)
++ bin = request.ListProperties._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -1343,12 +1351,12 @@
+ 'selection': 984224380,
+ 'time': 2112448956,
+ }
+- self.req_bin_0 = '\x16\x00\x04\x00' '\x4d\x88\xcd\x5d' \
+- '\x7c\x12\xaa\x3a' '\xbc\x69\xe9\x7d'
++ self.req_bin_0 = b'\x16\x00\x04\x00' b'\x4d\x88\xcd\x5d' \
++ b'\x7c\x12\xaa\x3a' b'\xbc\x69\xe9\x7d'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.SetSelectionOwner._request.to_binary, (), self.req_args_0)
++ bin = request.SetSelectionOwner._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1371,20 +1379,20 @@
+ self.req_args_0 = {
+ 'selection': 1209066471,
+ }
+- self.req_bin_0 = '\x17\x00\x02\x00' '\xe7\xe3\x10\x48'
++ self.req_bin_0 = b'\x17\x00\x02\x00' b'\xe7\xe3\x10\x48'
+
+ self.reply_args_0 = {
+ 'owner': 1608499874,
+ 'sequence_number': 40856,
+ }
+- self.reply_bin_0 = '\x01\x00\x98\x9f' '\x00\x00\x00\x00' \
+- '\xa2\xc2\xdf\x5f' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x00\x98\x9f' b'\x00\x00\x00\x00' \
++ b'\xa2\xc2\xdf\x5f' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GetSelectionOwner._request.to_binary, (), self.req_args_0)
++ bin = request.GetSelectionOwner._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1402,7 +1410,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GetSelectionOwner._reply.to_binary, (), self.reply_args_0)
++ bin = request.GetSelectionOwner._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -1429,13 +1437,13 @@
+ 'target': 1621875689,
+ 'time': 385931637,
+ }
+- self.req_bin_0 = '\x18\x00\x06\x00' '\x51\x10\xc4\x09' \
+- '\xbe\x15\xaf\x0e' '\xe9\xdb\xab\x60' \
+- '\x0f\x2b\xee\x06' '\x75\xd9\x00\x17'
++ self.req_bin_0 = b'\x18\x00\x06\x00' b'\x51\x10\xc4\x09' \
++ b'\xbe\x15\xaf\x0e' b'\xe9\xdb\xab\x60' \
++ b'\x0f\x2b\xee\x06' b'\x75\xd9\x00\x17'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ConvertSelection._request.to_binary, (), self.req_args_0)
++ bin = request.ConvertSelection._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1461,16 +1469,16 @@
+ 'propagate': 1,
+ 'event': Xlib.protocol.event.Expose(count = 7721, width = 18606, window = 1339231972, y = 45287, x = 46510, type = 12, sequence_number = 0, height = 44735),
+ }
+- self.req_bin_0 = '\x19\x01\x0b\x00' '\xd8\xda\x29\x62' \
+- '\x50\xdb\xc4\x3a' '\x0c\x00\x00\x00' \
+- '\xe4\x0e\xd3\x4f' '\xae\xb5\xe7\xb0' \
+- '\xae\x48\xbf\xae' '\x29\x1e\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00'
++ self.req_bin_0 = b'\x19\x01\x0b\x00' b'\xd8\xda\x29\x62' \
++ b'\x50\xdb\xc4\x3a' b'\x0c\x00\x00\x00' \
++ b'\xe4\x0e\xd3\x4f' b'\xae\xb5\xe7\xb0' \
++ b'\xae\x48\xbf\xae' b'\x29\x1e\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.SendEvent._request.to_binary, (), self.req_args_0)
++ bin = request.SendEvent._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1500,22 +1508,22 @@
+ 'grab_window': 1295558486,
+ 'owner_events': 1,
+ }
+- self.req_bin_0 = '\x1a\x01\x06\x00' '\x56\xa7\x38\x4d' \
+- '\x12\x6b\x01\x00' '\xca\xe1\x02\x5b' \
+- '\xe7\xde\xb2\x69' '\xa7\xfa\x3e\x47'
++ self.req_bin_0 = b'\x1a\x01\x06\x00' b'\x56\xa7\x38\x4d' \
++ b'\x12\x6b\x01\x00' b'\xca\xe1\x02\x5b' \
++ b'\xe7\xde\xb2\x69' b'\xa7\xfa\x3e\x47'
+
+ self.reply_args_0 = {
+ 'status': 166,
+ 'sequence_number': 9454,
+ }
+- self.reply_bin_0 = '\x01\xa6\xee\x24' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\xa6\xee\x24' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GrabPointer._request.to_binary, (), self.req_args_0)
++ bin = request.GrabPointer._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1533,7 +1541,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GrabPointer._reply.to_binary, (), self.reply_args_0)
++ bin = request.GrabPointer._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -1556,11 +1564,11 @@
+ self.req_args_0 = {
+ 'time': 1647345145,
+ }
+- self.req_bin_0 = '\x1b\x00\x02\x00' '\xf9\x7d\x30\x62'
++ self.req_bin_0 = b'\x1b\x00\x02\x00' b'\xf9\x7d\x30\x62'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.UngrabPointer._request.to_binary, (), self.req_args_0)
++ bin = request.UngrabPointer._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1591,13 +1599,13 @@
+ 'grab_window': 2055413885,
+ 'owner_events': 0,
+ }
+- self.req_bin_0 = '\x1c\x00\x06\x00' '\x7d\x20\x83\x7a' \
+- '\xa4\x5c\x01\x00' '\xa3\x8d\xf5\x7a' \
+- '\xd9\x94\x06\x5a' '\xa9\x00\x95\xf4'
++ self.req_bin_0 = b'\x1c\x00\x06\x00' b'\x7d\x20\x83\x7a' \
++ b'\xa4\x5c\x01\x00' b'\xa3\x8d\xf5\x7a' \
++ b'\xd9\x94\x06\x5a' b'\xa9\x00\x95\xf4'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GrabButton._request.to_binary, (), self.req_args_0)
++ bin = request.GrabButton._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1622,12 +1630,12 @@
+ 'modifiers': 32389,
+ 'grab_window': 1891977189,
+ }
+- self.req_bin_0 = '\x1d\xdc\x03\x00' '\xe5\x47\xc5\x70' \
+- '\x85\x7e\x00\x00'
++ self.req_bin_0 = b'\x1d\xdc\x03\x00' b'\xe5\x47\xc5\x70' \
++ b'\x85\x7e\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.UngrabButton._request.to_binary, (), self.req_args_0)
++ bin = request.UngrabButton._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1652,12 +1660,12 @@
+ 'event_mask': 12743,
+ 'time': 197998305,
+ }
+- self.req_bin_0 = '\x1e\x00\x04\x00' '\x0c\xd9\x5e\x2e' \
+- '\xe1\x36\xcd\x0b' '\xc7\x31\x00\x00'
++ self.req_bin_0 = b'\x1e\x00\x04\x00' b'\x0c\xd9\x5e\x2e' \
++ b'\xe1\x36\xcd\x0b' b'\xc7\x31\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ChangeActivePointerGrab._request.to_binary, (), self.req_args_0)
++ bin = request.ChangeActivePointerGrab._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1684,21 +1692,21 @@
+ 'grab_window': 316814295,
+ 'owner_events': 0,
+ }
+- self.req_bin_0 = '\x1f\x00\x04\x00' '\xd7\x33\xe2\x12' \
+- '\x93\x11\x1d\x65' '\x00\x01\x00\x00'
++ self.req_bin_0 = b'\x1f\x00\x04\x00' b'\xd7\x33\xe2\x12' \
++ b'\x93\x11\x1d\x65' b'\x00\x01\x00\x00'
+
+ self.reply_args_0 = {
+ 'status': 239,
+ 'sequence_number': 46747,
+ }
+- self.reply_bin_0 = '\x01\xef\x9b\xb6' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\xef\x9b\xb6' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GrabKeyboard._request.to_binary, (), self.req_args_0)
++ bin = request.GrabKeyboard._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1716,7 +1724,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GrabKeyboard._reply.to_binary, (), self.reply_args_0)
++ bin = request.GrabKeyboard._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -1739,11 +1747,11 @@
+ self.req_args_0 = {
+ 'time': 4211611,
+ }
+- self.req_bin_0 = '\x20\x00\x02\x00' '\x9b\x43\x40\x00'
++ self.req_bin_0 = b'\x20\x00\x02\x00' b'\x9b\x43\x40\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.UngrabKeyboard._request.to_binary, (), self.req_args_0)
++ bin = request.UngrabKeyboard._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1771,12 +1779,12 @@
+ 'grab_window': 882662093,
+ 'owner_events': 1,
+ }
+- self.req_bin_0 = '\x21\x01\x04\x00' '\xcd\x5a\x9c\x34' \
+- '\x37\xf2\xaf\x00' '\x00\x00\x00\x00'
++ self.req_bin_0 = b'\x21\x01\x04\x00' b'\xcd\x5a\x9c\x34' \
++ b'\x37\xf2\xaf\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GrabKey._request.to_binary, (), self.req_args_0)
++ bin = request.GrabKey._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1801,12 +1809,12 @@
+ 'grab_window': 1389213966,
+ 'key': 141,
+ }
+- self.req_bin_0 = '\x22\x8d\x03\x00' '\x0e\xb9\xcd\x52' \
+- '\x9e\x48\x00\x00'
++ self.req_bin_0 = b'\x22\x8d\x03\x00' b'\x0e\xb9\xcd\x52' \
++ b'\x9e\x48\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.UngrabKey._request.to_binary, (), self.req_args_0)
++ bin = request.UngrabKey._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1830,11 +1838,11 @@
+ 'mode': 7,
+ 'time': 1088990319,
+ }
+- self.req_bin_0 = '\x23\x07\x02\x00' '\x6f\xac\xe8\x40'
++ self.req_bin_0 = b'\x23\x07\x02\x00' b'\x6f\xac\xe8\x40'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.AllowEvents._request.to_binary, (), self.req_args_0)
++ bin = request.AllowEvents._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1856,11 +1864,11 @@
+ def setUp(self):
+ self.req_args_0 = {
+ }
+- self.req_bin_0 = '\x24\x00\x01\x00'
++ self.req_bin_0 = b'\x24\x00\x01\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GrabServer._request.to_binary, (), self.req_args_0)
++ bin = request.GrabServer._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1882,11 +1890,11 @@
+ def setUp(self):
+ self.req_args_0 = {
+ }
+- self.req_bin_0 = '\x25\x00\x01\x00'
++ self.req_bin_0 = b'\x25\x00\x01\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.UngrabServer._request.to_binary, (), self.req_args_0)
++ bin = request.UngrabServer._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1909,7 +1917,7 @@
+ self.req_args_0 = {
+ 'window': 358895460,
+ }
+- self.req_bin_0 = '\x26\x00\x02\x00' '\x64\x4f\x64\x15'
++ self.req_bin_0 = b'\x26\x00\x02\x00' b'\x64\x4f\x64\x15'
+
+ self.reply_args_0 = {
+ 'same_screen': 1,
+@@ -1922,14 +1930,14 @@
+ 'sequence_number': 29530,
+ 'win_y': -19690,
+ }
+- self.reply_bin_0 = '\x01\x01\x5a\x73' '\x00\x00\x00\x00' \
+- '\x34\xa3\x7b\x6e' '\x9e\xaa\x8d\x7f' \
+- '\x9d\xf6\x0e\xb8' '\x03\x88\x16\xb3' \
+- '\x96\x38\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x01\x5a\x73' b'\x00\x00\x00\x00' \
++ b'\x34\xa3\x7b\x6e' b'\x9e\xaa\x8d\x7f' \
++ b'\x9d\xf6\x0e\xb8' b'\x03\x88\x16\xb3' \
++ b'\x96\x38\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.QueryPointer._request.to_binary, (), self.req_args_0)
++ bin = request.QueryPointer._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -1947,7 +1955,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.QueryPointer._reply.to_binary, (), self.reply_args_0)
++ bin = request.QueryPointer._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -1972,26 +1980,26 @@
+ 'window': 528148429,
+ 'stop': 1808786083,
+ }
+- self.req_bin_0 = '\x27\x00\x04\x00' '\xcd\xe7\x7a\x1f' \
+- '\x7d\xa5\xc9\x7d' '\xa3\xe2\xcf\x6b'
++ self.req_bin_0 = b'\x27\x00\x04\x00' b'\xcd\xe7\x7a\x1f' \
++ b'\x7d\xa5\xc9\x7d' b'\xa3\xe2\xcf\x6b'
+
+ self.reply_args_0 = {
+ 'events': [{'y': -23108, 'x': -3461, 'time': 984326273}, {'y': -4096, 'x': -4908, 'time': 488459157}, {'y': -29782, 'x': -8325, 'time': 1162935901}, {'y': -26418, 'x': -10559, 'time': 275816904}, {'y': -3941, 'x': -2216, 'time': 656439277}],
+ 'sequence_number': 42652,
+ }
+- self.reply_bin_0 = '\x01\x00\x9c\xa6' '\x0a\x00\x00\x00' \
+- '\x05\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x81\xa0\xab\x3a' '\x7b\xf2\xbc\xa5' \
+- '\x95\x4b\x1d\x1d' '\xd4\xec\x00\xf0' \
+- '\x5d\xfe\x50\x45' '\x7b\xdf\xaa\x8b' \
+- '\xc8\xa1\x70\x10' '\xc1\xd6\xce\x98' \
+- '\xed\x77\x20\x27' '\x58\xf7\x9b\xf0'
++ self.reply_bin_0 = b'\x01\x00\x9c\xa6' b'\x0a\x00\x00\x00' \
++ b'\x05\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x81\xa0\xab\x3a' b'\x7b\xf2\xbc\xa5' \
++ b'\x95\x4b\x1d\x1d' b'\xd4\xec\x00\xf0' \
++ b'\x5d\xfe\x50\x45' b'\x7b\xdf\xaa\x8b' \
++ b'\xc8\xa1\x70\x10' b'\xc1\xd6\xce\x98' \
++ b'\xed\x77\x20\x27' b'\x58\xf7\x9b\xf0'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GetMotionEvents._request.to_binary, (), self.req_args_0)
++ bin = request.GetMotionEvents._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2009,7 +2017,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GetMotionEvents._reply.to_binary, (), self.reply_args_0)
++ bin = request.GetMotionEvents._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -2035,8 +2043,8 @@
+ 'src_x': -18176,
+ 'src_y': -309,
+ }
+- self.req_bin_0 = '\x28\x00\x04\x00' '\x8d\xc6\x9e\x4a' \
+- '\xf0\x4f\xaa\x0e' '\x00\xb9\xcb\xfe'
++ self.req_bin_0 = b'\x28\x00\x04\x00' b'\x8d\xc6\x9e\x4a' \
++ b'\xf0\x4f\xaa\x0e' b'\x00\xb9\xcb\xfe'
+
+ self.reply_args_0 = {
+ 'y': -24269,
+@@ -2045,14 +2053,14 @@
+ 'same_screen': 0,
+ 'child': 1548917071,
+ }
+- self.reply_bin_0 = '\x01\x00\x5b\x9a' '\x00\x00\x00\x00' \
+- '\x4f\x99\x52\x5c' '\xca\x8b\x33\xa1' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x00\x5b\x9a' b'\x00\x00\x00\x00' \
++ b'\x4f\x99\x52\x5c' b'\xca\x8b\x33\xa1' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.TranslateCoords._request.to_binary, (), self.req_args_0)
++ bin = request.TranslateCoords._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2070,7 +2078,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.TranslateCoords._reply.to_binary, (), self.reply_args_0)
++ bin = request.TranslateCoords._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -2100,13 +2108,13 @@
+ 'dst_window': 2139748563,
+ 'src_window': 1945176770,
+ }
+- self.req_bin_0 = '\x29\x00\x06\x00' '\xc2\x0a\xf1\x73' \
+- '\xd3\xf8\x89\x7f' '\xd6\xfa\x4a\xcc' \
+- '\x49\xb0\x03\x21' '\x62\xc3\xf7\x99'
++ self.req_bin_0 = b'\x29\x00\x06\x00' b'\xc2\x0a\xf1\x73' \
++ b'\xd3\xf8\x89\x7f' b'\xd6\xfa\x4a\xcc' \
++ b'\x49\xb0\x03\x21' b'\x62\xc3\xf7\x99'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.WarpPointer._request.to_binary, (), self.req_args_0)
++ bin = request.WarpPointer._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2131,12 +2139,12 @@
+ 'focus': 1068495705,
+ 'time': 342883486,
+ }
+- self.req_bin_0 = '\x2a\x00\x03\x00' '\x59\xf3\xaf\x3f' \
+- '\x9e\xfc\x6f\x14'
++ self.req_bin_0 = b'\x2a\x00\x03\x00' b'\x59\xf3\xaf\x3f' \
++ b'\x9e\xfc\x6f\x14'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.SetInputFocus._request.to_binary, (), self.req_args_0)
++ bin = request.SetInputFocus._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2158,21 +2166,21 @@
+ def setUp(self):
+ self.req_args_0 = {
+ }
+- self.req_bin_0 = '\x2b\x00\x01\x00'
++ self.req_bin_0 = b'\x2b\x00\x01\x00'
+
+ self.reply_args_0 = {
+ 'revert_to': 129,
+ 'focus': 1884243837,
+ 'sequence_number': 9052,
+ }
+- self.reply_bin_0 = '\x01\x81\x5c\x23' '\x00\x00\x00\x00' \
+- '\x7d\x47\x4f\x70' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x81\x5c\x23' b'\x00\x00\x00\x00' \
++ b'\x7d\x47\x4f\x70' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GetInputFocus._request.to_binary, (), self.req_args_0)
++ bin = request.GetInputFocus._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2190,7 +2198,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GetInputFocus._reply.to_binary, (), self.reply_args_0)
++ bin = request.GetInputFocus._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -2212,21 +2220,21 @@
+ def setUp(self):
+ self.req_args_0 = {
+ }
+- self.req_bin_0 = '\x2c\x00\x01\x00'
++ self.req_bin_0 = b'\x2c\x00\x01\x00'
+
+ self.reply_args_0 = {
+ 'map': [175, 212, 207, 139, 156, 192, 230, 219, 136, 198, 152, 156, 229, 233, 221, 209, 131, 229, 209, 249, 130, 189, 183, 135, 238, 149, 131, 204, 162, 229, 149, 246],
+ 'sequence_number': 19383,
+ }
+- self.reply_bin_0 = '\x01\x00\xb7\x4b' '\x02\x00\x00\x00' \
+- '\xaf\xd4\xcf\x8b' '\x9c\xc0\xe6\xdb' \
+- '\x88\xc6\x98\x9c' '\xe5\xe9\xdd\xd1' \
+- '\x83\xe5\xd1\xf9' '\x82\xbd\xb7\x87' \
+- '\xee\x95\x83\xcc' '\xa2\xe5\x95\xf6'
++ self.reply_bin_0 = b'\x01\x00\xb7\x4b' b'\x02\x00\x00\x00' \
++ b'\xaf\xd4\xcf\x8b' b'\x9c\xc0\xe6\xdb' \
++ b'\x88\xc6\x98\x9c' b'\xe5\xe9\xdd\xd1' \
++ b'\x83\xe5\xd1\xf9' b'\x82\xbd\xb7\x87' \
++ b'\xee\x95\x83\xcc' b'\xa2\xe5\x95\xf6'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.QueryKeymap._request.to_binary, (), self.req_args_0)
++ bin = request.QueryKeymap._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2244,7 +2252,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.QueryKeymap._reply.to_binary, (), self.reply_args_0)
++ bin = request.QueryKeymap._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -2268,13 +2276,13 @@
+ 'name': 'foofont',
+ 'fid': 1809550053,
+ }
+- self.req_bin_0 = '\x2d\x00\x05\x00' '\xe5\x8a\xdb\x6b' \
+- '\x07\x00\x00\x00' '\x66\x6f\x6f\x66' \
+- '\x6f\x6e\x74\x00'
++ self.req_bin_0 = b'\x2d\x00\x05\x00' b'\xe5\x8a\xdb\x6b' \
++ b'\x07\x00\x00\x00' b'\x66\x6f\x6f\x66' \
++ b'\x6f\x6e\x74\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.OpenFont._request.to_binary, (), self.req_args_0)
++ bin = request.OpenFont._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2297,11 +2305,11 @@
+ self.req_args_0 = {
+ 'font': 405865016,
+ }
+- self.req_bin_0 = '\x2e\x00\x02\x00' '\x38\x02\x31\x18'
++ self.req_bin_0 = b'\x2e\x00\x02\x00' b'\x38\x02\x31\x18'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.CloseFont._request.to_binary, (), self.req_args_0)
++ bin = request.CloseFont._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2324,7 +2332,7 @@
+ self.req_args_0 = {
+ 'font': 173413537,
+ }
+- self.req_bin_0 = '\x2f\x00\x02\x00' '\xa1\x14\x56\x0a'
++ self.req_bin_0 = b'\x2f\x00\x02\x00' b'\xa1\x14\x56\x0a'
+
+ self.reply_args_0 = {
+ 'max_bounds': {'left_side_bearing': -27346, 'descent': -13574, 'right_side_bearing': -29649, 'attributes': 58157, 'character_width': -6055, 'ascent': -4810},
+@@ -2342,23 +2350,23 @@
+ 'properties': [{'name': 515636466, 'value': 1798456662}],
+ 'sequence_number': 52469,
+ }
+- self.reply_bin_0 = '\x01\x00\xf5\xcc' '\x12\x00\x00\x00' \
+- '\x29\xe0\xf8\x83' '\x64\xb3\x6c\xd9' \
+- '\x6d\x8f\xba\xcd' '\x00\x00\x00\x00' \
+- '\x2e\x95\x2f\x8c' '\x59\xe8\x36\xed' \
+- '\xfa\xca\x2d\xe3' '\x00\x00\x00\x00' \
+- '\x08\xd1\x0a\xbd' '\x13\x6f\x01\x00' \
+- '\xa5\xc3\xdb\x00' '\x1a\xc2\x6f\xfc' \
+- '\x03\x00\x00\x00' '\xf2\xfc\xbb\x1e' \
+- '\x56\x45\x32\x6b' '\xfe\xae\x3f\xf5' \
+- '\x3d\xd0\xc7\xc9' '\x40\xc4\xfb\xfb' \
+- '\xfe\xd5\x51\xda' '\x09\x97\x23\xd4' \
+- '\xa7\xf9\xa8\x74' '\x8e\x87\xaf\x93' \
+- '\x65\xef\x49\xd0' '\x50\xbe\x82\xde'
++ self.reply_bin_0 = b'\x01\x00\xf5\xcc' b'\x12\x00\x00\x00' \
++ b'\x29\xe0\xf8\x83' b'\x64\xb3\x6c\xd9' \
++ b'\x6d\x8f\xba\xcd' b'\x00\x00\x00\x00' \
++ b'\x2e\x95\x2f\x8c' b'\x59\xe8\x36\xed' \
++ b'\xfa\xca\x2d\xe3' b'\x00\x00\x00\x00' \
++ b'\x08\xd1\x0a\xbd' b'\x13\x6f\x01\x00' \
++ b'\xa5\xc3\xdb\x00' b'\x1a\xc2\x6f\xfc' \
++ b'\x03\x00\x00\x00' b'\xf2\xfc\xbb\x1e' \
++ b'\x56\x45\x32\x6b' b'\xfe\xae\x3f\xf5' \
++ b'\x3d\xd0\xc7\xc9' b'\x40\xc4\xfb\xfb' \
++ b'\xfe\xd5\x51\xda' b'\x09\x97\x23\xd4' \
++ b'\xa7\xf9\xa8\x74' b'\x8e\x87\xaf\x93' \
++ b'\x65\xef\x49\xd0' b'\x50\xbe\x82\xde'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.QueryFont._request.to_binary, (), self.req_args_0)
++ bin = request.QueryFont._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2376,7 +2384,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.QueryFont._reply.to_binary, (), self.reply_args_0)
++ bin = request.QueryFont._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -2400,8 +2408,8 @@
+ 'font': 1637171782,
+ 'string': (102, 111, 111),
+ }
+- self.req_bin_0 = '\x30\x01\x04\x00' '\x46\x42\x95\x61' \
+- '\x00\x66\x00\x6f' '\x00\x6f\x00\x00'
++ self.req_bin_0 = b'\x30\x01\x04\x00' b'\x46\x42\x95\x61' \
++ b'\x00\x66\x00\x6f' b'\x00\x6f\x00\x00'
+
+ self.reply_args_0 = {
+ 'font_descent': -10581,
+@@ -2414,14 +2422,14 @@
+ 'sequence_number': 6206,
+ 'overall_width': -127705892,
+ }
+- self.reply_bin_0 = '\x01\xc3\x3e\x18' '\x00\x00\x00\x00' \
+- '\x45\xa6\xab\xd6' '\x72\x80\x6a\xb2' \
+- '\xdc\x5c\x63\xf8' '\x65\x3c\xb5\xb7' \
+- '\x9a\xb2\x7c\xcf' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\xc3\x3e\x18' b'\x00\x00\x00\x00' \
++ b'\x45\xa6\xab\xd6' b'\x72\x80\x6a\xb2' \
++ b'\xdc\x5c\x63\xf8' b'\x65\x3c\xb5\xb7' \
++ b'\x9a\xb2\x7c\xcf' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.QueryTextExtents._request.to_binary, (), self.req_args_0)
++ bin = request.QueryTextExtents._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2439,7 +2447,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.QueryTextExtents._reply.to_binary, (), self.reply_args_0)
++ bin = request.QueryTextExtents._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -2463,24 +2471,24 @@
+ 'pattern': 'bhazr',
+ 'max_names': 57427,
+ }
+- self.req_bin_0 = '\x31\x00\x04\x00' '\x53\xe0\x05\x00' \
+- '\x62\x68\x61\x7a' '\x72\x00\x00\x00'
++ self.req_bin_0 = b'\x31\x00\x04\x00' b'\x53\xe0\x05\x00' \
++ b'\x62\x68\x61\x7a' b'\x72\x00\x00\x00'
+
+ self.reply_args_0 = {
+ 'fonts': ['fie', 'fuzzy', 'foozooom'],
+ 'sequence_number': 39409,
+ }
+- self.reply_bin_0 = '\x01\x00\xf1\x99' '\x05\x00\x00\x00' \
+- '\x03\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x03\x66\x69\x65' '\x05\x66\x75\x7a' \
+- '\x7a\x79\x08\x66' '\x6f\x6f\x7a\x6f' \
+- '\x6f\x6f\x6d\x00'
++ self.reply_bin_0 = b'\x01\x00\xf1\x99' b'\x05\x00\x00\x00' \
++ b'\x03\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x03\x66\x69\x65' b'\x05\x66\x75\x7a' \
++ b'\x7a\x79\x08\x66' b'\x6f\x6f\x7a\x6f' \
++ b'\x6f\x6f\x6d\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ListFonts._request.to_binary, (), self.req_args_0)
++ bin = request.ListFonts._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2498,7 +2506,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.ListFonts._reply.to_binary, (), self.reply_args_0)
++ bin = request.ListFonts._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -2522,8 +2530,8 @@
+ 'pattern': 'bhazr2',
+ 'max_names': 52288,
+ }
+- self.req_bin_0 = '\x32\x00\x04\x00' '\x40\xcc\x06\x00' \
+- '\x62\x68\x61\x7a' '\x72\x32\x00\x00'
++ self.req_bin_0 = b'\x32\x00\x04\x00' b'\x40\xcc\x06\x00' \
++ b'\x62\x68\x61\x7a' b'\x72\x32\x00\x00'
+
+ self.reply_args_0 = {
+ 'max_bounds': {'left_side_bearing': -9255, 'descent': -26305, 'right_side_bearing': -6756, 'attributes': 49084, 'character_width': -4462, 'ascent': -3529},
+@@ -2542,20 +2550,20 @@
+ 'properties': [{'name': 213588122, 'value': 1789263183}],
+ 'sequence_number': 43812,
+ }
+- self.reply_bin_0 = '\x01\x08\x24\xab' '\x0b\x00\x00\x00' \
+- '\x62\xdf\x86\xb3' '\x5f\xae\x0c\xd9' \
+- '\xc4\xbd\xd8\x6a' '\x00\x00\x00\x00' \
+- '\xd9\xdb\x9c\xe5' '\x92\xee\x37\xf2' \
+- '\x3f\x99\xbc\xbf' '\x00\x00\x00\x00' \
+- '\x45\xfe\x72\xb0' '\x6b\x98\x01\x00' \
+- '\xe5\x9e\xdd\x01' '\xce\x96\x37\x9e' \
+- '\x27\x6f\x9c\x68' '\x9a\x18\xbb\x0c' \
+- '\x4f\xfd\xa5\x6a' '\x66\x6f\x6e\x74' \
+- '\x66\x6f\x6e\x74'
++ self.reply_bin_0 = b'\x01\x08\x24\xab' b'\x0b\x00\x00\x00' \
++ b'\x62\xdf\x86\xb3' b'\x5f\xae\x0c\xd9' \
++ b'\xc4\xbd\xd8\x6a' b'\x00\x00\x00\x00' \
++ b'\xd9\xdb\x9c\xe5' b'\x92\xee\x37\xf2' \
++ b'\x3f\x99\xbc\xbf' b'\x00\x00\x00\x00' \
++ b'\x45\xfe\x72\xb0' b'\x6b\x98\x01\x00' \
++ b'\xe5\x9e\xdd\x01' b'\xce\x96\x37\x9e' \
++ b'\x27\x6f\x9c\x68' b'\x9a\x18\xbb\x0c' \
++ b'\x4f\xfd\xa5\x6a' b'\x66\x6f\x6e\x74' \
++ b'\x66\x6f\x6e\x74'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ListFontsWithInfo._request.to_binary, (), self.req_args_0)
++ bin = request.ListFontsWithInfo._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2573,7 +2581,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.ListFontsWithInfo._reply.to_binary, (), self.reply_args_0)
++ bin = request.ListFontsWithInfo._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -2596,18 +2604,18 @@
+ self.req_args_0 = {
+ 'path': ['foo', 'bar', 'gazonk'],
+ }
+- self.req_bin_0 = '\x33\x00\x06\x00' '\x03\x00\x00\x00' \
+- '\x03\x66\x6f\x6f' '\x03\x62\x61\x72' \
+- '\x06\x67\x61\x7a' '\x6f\x6e\x6b\x00'
++ self.req_bin_0 = b'\x33\x00\x06\x00' b'\x03\x00\x00\x00' \
++ b'\x03\x66\x6f\x6f' b'\x03\x62\x61\x72' \
++ b'\x06\x67\x61\x7a' b'\x6f\x6e\x6b\x00'
+
+ self.req_args_1 = {
+ 'path': [],
+ }
+- self.req_bin_1 = '\x33\x00\x02\x00' '\x00\x00\x00\x00'
++ self.req_bin_1 = b'\x33\x00\x02\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.SetFontPath._request.to_binary, (), self.req_args_0)
++ bin = request.SetFontPath._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2625,7 +2633,7 @@
+ raise AssertionError(args)
+
+ def testPackRequest1(self):
+- bin = apply(request.SetFontPath._request.to_binary, (), self.req_args_1)
++ bin = request.SetFontPath._request.to_binary(*(), **self.req_args_1)
+ try:
+ assert bin == self.req_bin_1
+ except AssertionError:
+@@ -2647,31 +2655,31 @@
+ def setUp(self):
+ self.req_args_0 = {
+ }
+- self.req_bin_0 = '\x34\x00\x01\x00'
++ self.req_bin_0 = b'\x34\x00\x01\x00'
+
+ self.reply_args_0 = {
+ 'paths': ['path1', 'path2232'],
+ 'sequence_number': 17086,
+ }
+- self.reply_bin_0 = '\x01\x00\xbe\x42' '\x04\x00\x00\x00' \
+- '\x02\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x05\x70\x61\x74' '\x68\x31\x08\x70' \
+- '\x61\x74\x68\x32' '\x32\x33\x32\x00'
++ self.reply_bin_0 = b'\x01\x00\xbe\x42' b'\x04\x00\x00\x00' \
++ b'\x02\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x05\x70\x61\x74' b'\x68\x31\x08\x70' \
++ b'\x61\x74\x68\x32' b'\x32\x33\x32\x00'
+
+ self.reply_args_1 = {
+ 'paths': [],
+ 'sequence_number': 8511,
+ }
+- self.reply_bin_1 = '\x01\x00\x3f\x21' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_1 = b'\x01\x00\x3f\x21' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GetFontPath._request.to_binary, (), self.req_args_0)
++ bin = request.GetFontPath._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2689,7 +2697,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GetFontPath._reply.to_binary, (), self.reply_args_0)
++ bin = request.GetFontPath._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -2707,7 +2715,7 @@
+ raise AssertionError(args)
+
+ def testPackReply1(self):
+- bin = apply(request.GetFontPath._reply.to_binary, (), self.reply_args_1)
++ bin = request.GetFontPath._reply.to_binary(*(), **self.reply_args_1)
+ try:
+ assert bin == self.reply_bin_1
+ except AssertionError:
+@@ -2734,12 +2742,12 @@
+ 'drawable': 1358709134,
+ 'height': 16464,
+ }
+- self.req_bin_0 = '\x35\xb3\x04\x00' '\x4a\xd5\x85\x32' \
+- '\x8e\x41\xfc\x50' '\x4c\x7e\x50\x40'
++ self.req_bin_0 = b'\x35\xb3\x04\x00' b'\x4a\xd5\x85\x32' \
++ b'\x8e\x41\xfc\x50' b'\x4c\x7e\x50\x40'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.CreatePixmap._request.to_binary, (), self.req_args_0)
++ bin = request.CreatePixmap._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2762,11 +2770,11 @@
+ self.req_args_0 = {
+ 'pixmap': 1323266674,
+ }
+- self.req_bin_0 = '\x36\x00\x02\x00' '\x72\x72\xdf\x4e'
++ self.req_bin_0 = b'\x36\x00\x02\x00' b'\x72\x72\xdf\x4e'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.FreePixmap._request.to_binary, (), self.req_args_0)
++ bin = request.FreePixmap._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2791,24 +2799,24 @@
+ 'attrs': {'function': 14, 'foreground': 814230008, 'background': 2072616911, 'clip_x_origin': -6987, 'subwindow_mode': 0, 'cap_style': 1, 'fill_style': 3, 'tile_stipple_y_origin': -25870, 'font': 264499208, 'graphics_exposures': 0, 'join_style': 2, 'line_width': 36600, 'stipple': 870974399, 'dash_offset': 49599, 'clip_y_origin': -5712, 'tile_stipple_x_origin': -32365, 'arc_mode': 0, 'tile': 1597988019, 'line_style': 2, 'plane_mask': 1650697305, 'clip_mask': 402937862, 'fill_rule': 0, 'dashes': 136},
+ 'cid': 779296774,
+ }
+- self.req_bin_0 = '\x37\x00\x1b\x00' '\x06\x20\x73\x2e' \
+- '\xb2\x9b\x7c\x31' '\xff\xff\x7f\x00' \
+- '\x0e\x00\x00\x00' '\x59\xa4\x63\x62' \
+- '\xf8\x29\x88\x30' '\xcf\x9f\x89\x7b' \
+- '\xf8\x8e\x00\x00' '\x02\x00\x00\x00' \
+- '\x01\x00\x00\x00' '\x02\x00\x00\x00' \
+- '\x03\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\xb3\x5c\x3f\x5f' '\xbf\x03\xea\x33' \
+- '\x93\x81\x00\x00' '\xf2\x9a\x00\x00' \
+- '\x08\xf0\xc3\x0f' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\xb5\xe4\x00\x00' \
+- '\xb0\xe9\x00\x00' '\x06\x58\x04\x18' \
+- '\xbf\xc1\x00\x00' '\x88\x00\x00\x00' \
+- '\x00\x00\x00\x00'
++ self.req_bin_0 = b'\x37\x00\x1b\x00' b'\x06\x20\x73\x2e' \
++ b'\xb2\x9b\x7c\x31' b'\xff\xff\x7f\x00' \
++ b'\x0e\x00\x00\x00' b'\x59\xa4\x63\x62' \
++ b'\xf8\x29\x88\x30' b'\xcf\x9f\x89\x7b' \
++ b'\xf8\x8e\x00\x00' b'\x02\x00\x00\x00' \
++ b'\x01\x00\x00\x00' b'\x02\x00\x00\x00' \
++ b'\x03\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\xb3\x5c\x3f\x5f' b'\xbf\x03\xea\x33' \
++ b'\x93\x81\x00\x00' b'\xf2\x9a\x00\x00' \
++ b'\x08\xf0\xc3\x0f' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\xb5\xe4\x00\x00' \
++ b'\xb0\xe9\x00\x00' b'\x06\x58\x04\x18' \
++ b'\xbf\xc1\x00\x00' b'\x88\x00\x00\x00' \
++ b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.CreateGC._request.to_binary, (), self.req_args_0)
++ bin = request.CreateGC._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2832,23 +2840,23 @@
+ 'gc': 1996372624,
+ 'attrs': {'function': 15, 'foreground': 1817174045, 'background': 840850119, 'clip_x_origin': -28415, 'subwindow_mode': 1, 'cap_style': 0, 'fill_style': 0, 'tile_stipple_y_origin': -24832, 'font': 240535139, 'graphics_exposures': 1, 'join_style': 2, 'line_width': 64290, 'stipple': 1739313208, 'dash_offset': 53189, 'clip_y_origin': -2802, 'tile_stipple_x_origin': -4548, 'arc_mode': 1, 'tile': 1091199324, 'line_style': 2, 'plane_mask': 1403123174, 'clip_mask': 1604118463, 'fill_rule': 1, 'dashes': 186},
+ }
+- self.req_bin_0 = '\x38\x00\x1a\x00' '\x90\x3a\xfe\x76' \
+- '\xff\xff\x7f\x00' '\x0f\x00\x00\x00' \
+- '\xe6\xf5\xa1\x53' '\x1d\xe0\x4f\x6c' \
+- '\xc7\x5a\x1e\x32' '\x22\xfb\x00\x00' \
+- '\x02\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x02\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x01\x00\x00\x00' '\x5c\x61\x0a\x41' \
+- '\x38\xd0\xab\x67' '\x3c\xee\x00\x00' \
+- '\x00\x9f\x00\x00' '\x63\x46\x56\x0e' \
+- '\x01\x00\x00\x00' '\x01\x00\x00\x00' \
+- '\x01\x91\x00\x00' '\x0e\xf5\x00\x00' \
+- '\xbf\xe7\x9c\x5f' '\xc5\xcf\x00\x00' \
+- '\xba\x00\x00\x00' '\x01\x00\x00\x00'
++ self.req_bin_0 = b'\x38\x00\x1a\x00' b'\x90\x3a\xfe\x76' \
++ b'\xff\xff\x7f\x00' b'\x0f\x00\x00\x00' \
++ b'\xe6\xf5\xa1\x53' b'\x1d\xe0\x4f\x6c' \
++ b'\xc7\x5a\x1e\x32' b'\x22\xfb\x00\x00' \
++ b'\x02\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x02\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x01\x00\x00\x00' b'\x5c\x61\x0a\x41' \
++ b'\x38\xd0\xab\x67' b'\x3c\xee\x00\x00' \
++ b'\x00\x9f\x00\x00' b'\x63\x46\x56\x0e' \
++ b'\x01\x00\x00\x00' b'\x01\x00\x00\x00' \
++ b'\x01\x91\x00\x00' b'\x0e\xf5\x00\x00' \
++ b'\xbf\xe7\x9c\x5f' b'\xc5\xcf\x00\x00' \
++ b'\xba\x00\x00\x00' b'\x01\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ChangeGC._request.to_binary, (), self.req_args_0)
++ bin = request.ChangeGC._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2873,12 +2881,12 @@
+ 'dst_gc': 2046321491,
+ 'mask': 996538407,
+ }
+- self.req_bin_0 = '\x39\x00\x04\x00' '\x3a\x47\xae\x5f' \
+- '\x53\x63\xf8\x79' '\x27\xf8\x65\x3b'
++ self.req_bin_0 = b'\x39\x00\x04\x00' b'\x3a\x47\xae\x5f' \
++ b'\x53\x63\xf8\x79' b'\x27\xf8\x65\x3b'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.CopyGC._request.to_binary, (), self.req_args_0)
++ bin = request.CopyGC._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2903,13 +2911,13 @@
+ 'gc': 2119954025,
+ 'dashes': [146, 217, 181, 229, 212, 175, 201, 251, 248],
+ }
+- self.req_bin_0 = '\x3a\x00\x06\x00' '\x69\xee\x5b\x7e' \
+- '\x8e\x88\x09\x00' '\x92\xd9\xb5\xe5' \
+- '\xd4\xaf\xc9\xfb' '\xf8\x00\x00\x00'
++ self.req_bin_0 = b'\x3a\x00\x06\x00' b'\x69\xee\x5b\x7e' \
++ b'\x8e\x88\x09\x00' b'\x92\xd9\xb5\xe5' \
++ b'\xd4\xaf\xc9\xfb' b'\xf8\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.SetDashes._request.to_binary, (), self.req_args_0)
++ bin = request.SetDashes._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2936,10 +2944,10 @@
+ 'rectangles': [{'y': -27524, 'x': -27245, 'height': 31014, 'width': 52432}, {'y': -8991, 'x': -11302, 'height': 9053, 'width': 11072}],
+ 'x_origin': -26003,
+ }
+- self.req_bin_0 = '\x3b\x03\x07\x00' '\xc6\x91\xed\x78' \
+- '\x6d\x9a\x5e\xc3' '\x93\x95\x7c\x94' \
+- '\xd0\xcc\x26\x79' '\xda\xd3\xe1\xdc' \
+- '\x40\x2b\x5d\x23'
++ self.req_bin_0 = b'\x3b\x03\x07\x00' b'\xc6\x91\xed\x78' \
++ b'\x6d\x9a\x5e\xc3' b'\x93\x95\x7c\x94' \
++ b'\xd0\xcc\x26\x79' b'\xda\xd3\xe1\xdc' \
++ b'\x40\x2b\x5d\x23'
+
+ self.req_args_1 = {
+ 'ordering': 1,
+@@ -2948,12 +2956,12 @@
+ 'rectangles': [],
+ 'x_origin': -23382,
+ }
+- self.req_bin_1 = '\x3b\x01\x03\x00' '\x8d\x63\x46\x09' \
+- '\xaa\xa4\x4a\x80'
++ self.req_bin_1 = b'\x3b\x01\x03\x00' b'\x8d\x63\x46\x09' \
++ b'\xaa\xa4\x4a\x80'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.SetClipRectangles._request.to_binary, (), self.req_args_0)
++ bin = request.SetClipRectangles._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -2971,7 +2979,7 @@
+ raise AssertionError(args)
+
+ def testPackRequest1(self):
+- bin = apply(request.SetClipRectangles._request.to_binary, (), self.req_args_1)
++ bin = request.SetClipRectangles._request.to_binary(*(), **self.req_args_1)
+ try:
+ assert bin == self.req_bin_1
+ except AssertionError:
+@@ -2994,11 +3002,11 @@
+ self.req_args_0 = {
+ 'gc': 533809208,
+ }
+- self.req_bin_0 = '\x3c\x00\x02\x00' '\x38\x48\xd1\x1f'
++ self.req_bin_0 = b'\x3c\x00\x02\x00' b'\x38\x48\xd1\x1f'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.FreeGC._request.to_binary, (), self.req_args_0)
++ bin = request.FreeGC._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3026,12 +3034,12 @@
+ 'exposures': 0,
+ 'height': 27400,
+ }
+- self.req_bin_0 = '\x3d\x00\x04\x00' '\xcc\x01\xe5\x1a' \
+- '\x61\x88\xdd\xe6' '\xd9\x61\x08\x6b'
++ self.req_bin_0 = b'\x3d\x00\x04\x00' b'\xcc\x01\xe5\x1a' \
++ b'\x61\x88\xdd\xe6' b'\xd9\x61\x08\x6b'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ClearArea._request.to_binary, (), self.req_args_0)
++ bin = request.ClearArea._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3062,14 +3070,14 @@
+ 'width': 46860,
+ 'src_drawable': 197047820,
+ }
+- self.req_bin_0 = '\x3e\x00\x07\x00' '\x0c\xb6\xbe\x0b' \
+- '\xa6\x6a\x81\x5a' '\x46\x2c\x6e\x20' \
+- '\x7d\xc5\x9c\x9d' '\x03\xf3\x20\xd8' \
+- '\x0c\xb7\x01\xb7'
++ self.req_bin_0 = b'\x3e\x00\x07\x00' b'\x0c\xb6\xbe\x0b' \
++ b'\xa6\x6a\x81\x5a' b'\x46\x2c\x6e\x20' \
++ b'\x7d\xc5\x9c\x9d' b'\x03\xf3\x20\xd8' \
++ b'\x0c\xb7\x01\xb7'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.CopyArea._request.to_binary, (), self.req_args_0)
++ bin = request.CopyArea._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3101,14 +3109,14 @@
+ 'width': 12445,
+ 'src_drawable': 1825271175,
+ }
+- self.req_bin_0 = '\x3f\x00\x08\x00' '\x87\x6d\xcb\x6c' \
+- '\x2b\x09\x58\x25' '\x3c\xde\x31\x78' \
+- '\xc3\xc2\x29\xa0' '\x0f\xbc\x31\x9f' \
+- '\x9d\x30\x2c\x24' '\x82\x1b\x3a\x07'
++ self.req_bin_0 = b'\x3f\x00\x08\x00' b'\x87\x6d\xcb\x6c' \
++ b'\x2b\x09\x58\x25' b'\x3c\xde\x31\x78' \
++ b'\xc3\xc2\x29\xa0' b'\x0f\xbc\x31\x9f' \
++ b'\x9d\x30\x2c\x24' b'\x82\x1b\x3a\x07'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.CopyPlane._request.to_binary, (), self.req_args_0)
++ bin = request.CopyPlane._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3134,13 +3142,13 @@
+ 'points': [{'y': -18047, 'x': -19763}, {'y': -5351, 'x': -20174}, {'y': -10573, 'x': -29362}],
+ 'gc': 1752128743,
+ }
+- self.req_bin_0 = '\x40\x00\x06\x00' '\x2b\xdd\x32\x43' \
+- '\xe7\x5c\x6f\x68' '\xcd\xb2\x81\xb9' \
+- '\x32\xb1\x19\xeb' '\x4e\x8d\xb3\xd6'
++ self.req_bin_0 = b'\x40\x00\x06\x00' b'\x2b\xdd\x32\x43' \
++ b'\xe7\x5c\x6f\x68' b'\xcd\xb2\x81\xb9' \
++ b'\x32\xb1\x19\xeb' b'\x4e\x8d\xb3\xd6'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.PolyPoint._request.to_binary, (), self.req_args_0)
++ bin = request.PolyPoint._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3166,14 +3174,14 @@
+ 'points': [{'y': -22360, 'x': -25237}, {'y': -21145, 'x': -28948}, {'y': -16928, 'x': -3515}, {'y': -25838, 'x': -12335}, {'y': -31134, 'x': -12944}],
+ 'gc': 1308624032,
+ }
+- self.req_bin_0 = '\x41\x01\x08\x00' '\x3f\xf4\xc1\x50' \
+- '\xa0\x04\x00\x4e' '\x6b\x9d\xa8\xa8' \
+- '\xec\x8e\x67\xad' '\x45\xf2\xe0\xbd' \
+- '\xd1\xcf\x12\x9b' '\x70\xcd\x62\x86'
++ self.req_bin_0 = b'\x41\x01\x08\x00' b'\x3f\xf4\xc1\x50' \
++ b'\xa0\x04\x00\x4e' b'\x6b\x9d\xa8\xa8' \
++ b'\xec\x8e\x67\xad' b'\x45\xf2\xe0\xbd' \
++ b'\xd1\xcf\x12\x9b' b'\x70\xcd\x62\x86'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.PolyLine._request.to_binary, (), self.req_args_0)
++ bin = request.PolyLine._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3198,13 +3206,13 @@
+ 'gc': 2022424938,
+ 'drawable': 158182613,
+ }
+- self.req_bin_0 = '\x42\x00\x05\x00' '\xd5\xac\x6d\x09' \
+- '\x6a\xc1\x8b\x78' '\x37\xf7\xa8\xf3' \
+- '\xed\xeb\x08\x97'
++ self.req_bin_0 = b'\x42\x00\x05\x00' b'\xd5\xac\x6d\x09' \
++ b'\x6a\xc1\x8b\x78' b'\x37\xf7\xa8\xf3' \
++ b'\xed\xeb\x08\x97'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.PolySegment._request.to_binary, (), self.req_args_0)
++ bin = request.PolySegment._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3229,15 +3237,15 @@
+ 'drawable': 2136753875,
+ 'rectangles': [{'y': -29358, 'x': -6957, 'height': 19230, 'width': 32377}, {'y': -23694, 'x': -2777, 'height': 48827, 'width': 42548}, {'y': -22773, 'x': -12641, 'height': 9809, 'width': 30955}],
+ }
+- self.req_bin_0 = '\x43\x00\x09\x00' '\xd3\x46\x5c\x7f' \
+- '\x93\xd8\xc5\x3d' '\xd3\xe4\x52\x8d' \
+- '\x79\x7e\x1e\x4b' '\x27\xf5\x72\xa3' \
+- '\x34\xa6\xbb\xbe' '\x9f\xce\x0b\xa7' \
+- '\xeb\x78\x51\x26'
++ self.req_bin_0 = b'\x43\x00\x09\x00' b'\xd3\x46\x5c\x7f' \
++ b'\x93\xd8\xc5\x3d' b'\xd3\xe4\x52\x8d' \
++ b'\x79\x7e\x1e\x4b' b'\x27\xf5\x72\xa3' \
++ b'\x34\xa6\xbb\xbe' b'\x9f\xce\x0b\xa7' \
++ b'\xeb\x78\x51\x26'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.PolyRectangle._request.to_binary, (), self.req_args_0)
++ bin = request.PolyRectangle._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3262,16 +3270,16 @@
+ 'gc': 956699423,
+ 'arcs': [{'width': 36714, 'angle1': -22260, 'angle2': -28493, 'y': -394, 'x': -6756, 'height': 63498}, {'width': 31212, 'angle1': -5166, 'angle2': -19039, 'y': -11179, 'x': -20569, 'height': 27113}, {'width': 62033, 'angle1': -18595, 'angle2': -26291, 'y': -8396, 'x': -7987, 'height': 11428}],
+ }
+- self.req_bin_0 = '\x44\x00\x0c\x00' '\x96\x82\x2c\x7b' \
+- '\x1f\x13\x06\x39' '\x9c\xe5\x76\xfe' \
+- '\x6a\x8f\x0a\xf8' '\x0c\xa9\xb3\x90' \
+- '\xa7\xaf\x55\xd4' '\xec\x79\xe9\x69' \
+- '\xd2\xeb\xa1\xb5' '\xcd\xe0\x34\xdf' \
+- '\x51\xf2\xa4\x2c' '\x5d\xb7\x4d\x99'
++ self.req_bin_0 = b'\x44\x00\x0c\x00' b'\x96\x82\x2c\x7b' \
++ b'\x1f\x13\x06\x39' b'\x9c\xe5\x76\xfe' \
++ b'\x6a\x8f\x0a\xf8' b'\x0c\xa9\xb3\x90' \
++ b'\xa7\xaf\x55\xd4' b'\xec\x79\xe9\x69' \
++ b'\xd2\xeb\xa1\xb5' b'\xcd\xe0\x34\xdf' \
++ b'\x51\xf2\xa4\x2c' b'\x5d\xb7\x4d\x99'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.PolyArc._request.to_binary, (), self.req_args_0)
++ bin = request.PolyArc._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3298,14 +3306,14 @@
+ 'gc': 112110920,
+ 'shape': 0,
+ }
+- self.req_bin_0 = '\x45\x00\x07\x00' '\x96\x94\x65\x1f' \
+- '\x48\xad\xae\x06' '\x00\x01\x00\x00' \
+- '\xd3\xd1\x03\xfd' '\x8d\xf8\x9b\xd5' \
+- '\x2c\xfe\xf2\x8b'
++ self.req_bin_0 = b'\x45\x00\x07\x00' b'\x96\x94\x65\x1f' \
++ b'\x48\xad\xae\x06' b'\x00\x01\x00\x00' \
++ b'\xd3\xd1\x03\xfd' b'\x8d\xf8\x9b\xd5' \
++ b'\x2c\xfe\xf2\x8b'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.FillPoly._request.to_binary, (), self.req_args_0)
++ bin = request.FillPoly._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3330,14 +3338,14 @@
+ 'drawable': 878946804,
+ 'rectangles': [{'y': -29169, 'x': -18095, 'height': 15301, 'width': 12078}, {'y': -7148, 'x': -18997, 'height': 7501, 'width': 17120}],
+ }
+- self.req_bin_0 = '\x46\x00\x07\x00' '\xf4\xa9\x63\x34' \
+- '\x64\x38\xf1\x1b' '\x51\xb9\x0f\x8e' \
+- '\x2e\x2f\xc5\x3b' '\xcb\xb5\x14\xe4' \
+- '\xe0\x42\x4d\x1d'
++ self.req_bin_0 = b'\x46\x00\x07\x00' b'\xf4\xa9\x63\x34' \
++ b'\x64\x38\xf1\x1b' b'\x51\xb9\x0f\x8e' \
++ b'\x2e\x2f\xc5\x3b' b'\xcb\xb5\x14\xe4' \
++ b'\xe0\x42\x4d\x1d'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.PolyFillRectangle._request.to_binary, (), self.req_args_0)
++ bin = request.PolyFillRectangle._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3362,13 +3370,13 @@
+ 'gc': 1256983120,
+ 'arcs': [{'width': 62526, 'angle1': -17496, 'angle2': -20949, 'y': -21843, 'x': -31746, 'height': 59073}],
+ }
+- self.req_bin_0 = '\x47\x00\x06\x00' '\x34\xfa\xab\x4c' \
+- '\x50\x0a\xec\x4a' '\xfe\x83\xad\xaa' \
+- '\x3e\xf4\xc1\xe6' '\xa8\xbb\x2b\xae'
++ self.req_bin_0 = b'\x47\x00\x06\x00' b'\x34\xfa\xab\x4c' \
++ b'\x50\x0a\xec\x4a' b'\xfe\x83\xad\xaa' \
++ b'\x3e\xf4\xc1\xe6' b'\xa8\xbb\x2b\xae'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.PolyFillArc._request.to_binary, (), self.req_args_0)
++ bin = request.PolyFillArc._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3400,15 +3408,15 @@
+ 'depth': 218,
+ 'height': 16464,
+ }
+- self.req_bin_0 = '\x48\x02\x09\x00' '\x1e\xd0\xc5\x37' \
+- '\x3d\xb4\xbf\x6e' '\x58\x9a\x50\x40' \
+- '\x1b\xdc\xc8\xb6' '\xde\xda\x00\x00' \
+- '\x62\x69\x74\x20' '\x6d\x61\x70\x20' \
+- '\x64\x61\x74\x61'
++ self.req_bin_0 = b'\x48\x02\x09\x00' b'\x1e\xd0\xc5\x37' \
++ b'\x3d\xb4\xbf\x6e' b'\x58\x9a\x50\x40' \
++ b'\x1b\xdc\xc8\xb6' b'\xde\xda\x00\x00' \
++ b'\x62\x69\x74\x20' b'\x6d\x61\x70\x20' \
++ b'\x64\x61\x74\x61'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.PutImage._request.to_binary, (), self.req_args_0)
++ bin = request.PutImage._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3437,9 +3445,9 @@
+ 'plane_mask': 849117586,
+ 'height': 24480,
+ }
+- self.req_bin_0 = '\x49\x01\x05\x00' '\x87\xf9\x81\x16' \
+- '\x3f\x80\x7c\xf5' '\x49\xba\xa0\x5f' \
+- '\x92\x81\x9c\x32'
++ self.req_bin_0 = b'\x49\x01\x05\x00' b'\x87\xf9\x81\x16' \
++ b'\x3f\x80\x7c\xf5' b'\x49\xba\xa0\x5f' \
++ b'\x92\x81\x9c\x32'
+
+ self.reply_args_0 = {
+ 'depth': 249,
+@@ -3447,18 +3455,18 @@
+ 'visual': 141686402,
+ 'sequence_number': 47197,
+ }
+- self.reply_bin_0 = '\x01\xf9\x5d\xb8' '\x07\x00\x00\x00' \
+- '\x82\xf6\x71\x08' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x74\x68\x69\x73' '\x20\x69\x73\x20' \
+- '\x72\x65\x61\x6c' '\x20\x6c\x79\x20' \
+- '\x69\x6d\x61\x67' '\x20\x65\x20\x62' \
+- '\x2d\x6d\x61\x70'
++ self.reply_bin_0 = b'\x01\xf9\x5d\xb8' b'\x07\x00\x00\x00' \
++ b'\x82\xf6\x71\x08' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x74\x68\x69\x73' b'\x20\x69\x73\x20' \
++ b'\x72\x65\x61\x6c' b'\x20\x6c\x79\x20' \
++ b'\x69\x6d\x61\x67' b'\x20\x65\x20\x62' \
++ b'\x2d\x6d\x61\x70'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GetImage._request.to_binary, (), self.req_args_0)
++ bin = request.GetImage._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3476,7 +3484,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GetImage._reply.to_binary, (), self.reply_args_0)
++ bin = request.GetImage._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -3503,14 +3511,14 @@
+ 'gc': 1348241590,
+ 'x': -27139,
+ }
+- self.req_bin_0 = '\x4a\x00\x08\x00' '\x18\x69\x7f\x67' \
+- '\xb6\x88\x5c\x50' '\xfd\x95\x84\xe4' \
+- '\x03\x02\x7a\x6f' '\x6f\xff\x01\x02' \
+- '\x03\x04\x02\x00' '\x69\x65\x00\x00'
++ self.req_bin_0 = b'\x4a\x00\x08\x00' b'\x18\x69\x7f\x67' \
++ b'\xb6\x88\x5c\x50' b'\xfd\x95\x84\xe4' \
++ b'\x03\x02\x7a\x6f' b'\x6f\xff\x01\x02' \
++ b'\x03\x04\x02\x00' b'\x69\x65\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.PolyText8._request.to_binary, (), self.req_args_0)
++ bin = request.PolyText8._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3537,14 +3545,14 @@
+ 'gc': 327278878,
+ 'x': -31319,
+ }
+- self.req_bin_0 = '\x4b\x00\x07\x00' '\x50\x96\x80\x63' \
+- '\x1e\xe1\x81\x13' '\xa9\x85\xd9\xd6' \
+- '\x02\x02\x10\x23' '\x00\x12\xff\x01' \
+- '\x02\x03\x04\x00'
++ self.req_bin_0 = b'\x4b\x00\x07\x00' b'\x50\x96\x80\x63' \
++ b'\x1e\xe1\x81\x13' b'\xa9\x85\xd9\xd6' \
++ b'\x02\x02\x10\x23' b'\x00\x12\xff\x01' \
++ b'\x02\x03\x04\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.PolyText16._request.to_binary, (), self.req_args_0)
++ bin = request.PolyText16._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3571,13 +3579,13 @@
+ 'gc': 581816261,
+ 'string': 'showme',
+ }
+- self.req_bin_0 = '\x4c\x06\x06\x00' '\x50\xb6\x0d\x7f' \
+- '\xc5\xcf\xad\x22' '\xd3\xc4\x71\xf1' \
+- '\x73\x68\x6f\x77' '\x6d\x65\x00\x00'
++ self.req_bin_0 = b'\x4c\x06\x06\x00' b'\x50\xb6\x0d\x7f' \
++ b'\xc5\xcf\xad\x22' b'\xd3\xc4\x71\xf1' \
++ b'\x73\x68\x6f\x77' b'\x6d\x65\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ImageText8._request.to_binary, (), self.req_args_0)
++ bin = request.ImageText8._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3604,14 +3612,14 @@
+ 'gc': 145495998,
+ 'string': (115, 104, 111, 119, 109, 111, 114, 101),
+ }
+- self.req_bin_0 = '\x4d\x08\x08\x00' '\x96\xa8\xff\x55' \
+- '\xbe\x17\xac\x08' '\xe1\xf4\xce\xfb' \
+- '\x00\x73\x00\x68' '\x00\x6f\x00\x77' \
+- '\x00\x6d\x00\x6f' '\x00\x72\x00\x65'
++ self.req_bin_0 = b'\x4d\x08\x08\x00' b'\x96\xa8\xff\x55' \
++ b'\xbe\x17\xac\x08' b'\xe1\xf4\xce\xfb' \
++ b'\x00\x73\x00\x68' b'\x00\x6f\x00\x77' \
++ b'\x00\x6d\x00\x6f' b'\x00\x72\x00\x65'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ImageText16._request.to_binary, (), self.req_args_0)
++ bin = request.ImageText16._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3637,12 +3645,12 @@
+ 'visual': 1165319270,
+ 'mid': 1982619692,
+ }
+- self.req_bin_0 = '\x4e\x00\x04\x00' '\x2c\x60\x2c\x76' \
+- '\xc5\x34\xa3\x52' '\x66\x5c\x75\x45'
++ self.req_bin_0 = b'\x4e\x00\x04\x00' b'\x2c\x60\x2c\x76' \
++ b'\xc5\x34\xa3\x52' b'\x66\x5c\x75\x45'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.CreateColormap._request.to_binary, (), self.req_args_0)
++ bin = request.CreateColormap._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3665,11 +3673,11 @@
+ self.req_args_0 = {
+ 'cmap': 1948229362,
+ }
+- self.req_bin_0 = '\x4f\x00\x02\x00' '\xf2\x9e\x1f\x74'
++ self.req_bin_0 = b'\x4f\x00\x02\x00' b'\xf2\x9e\x1f\x74'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.FreeColormap._request.to_binary, (), self.req_args_0)
++ bin = request.FreeColormap._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3693,12 +3701,12 @@
+ 'src_cmap': 836376231,
+ 'mid': 1781544437,
+ }
+- self.req_bin_0 = '\x50\x00\x03\x00' '\xf5\x35\x30\x6a' \
+- '\xa7\x16\xda\x31'
++ self.req_bin_0 = b'\x50\x00\x03\x00' b'\xf5\x35\x30\x6a' \
++ b'\xa7\x16\xda\x31'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.CopyColormapAndFree._request.to_binary, (), self.req_args_0)
++ bin = request.CopyColormapAndFree._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3721,11 +3729,11 @@
+ self.req_args_0 = {
+ 'cmap': 1065317214,
+ }
+- self.req_bin_0 = '\x51\x00\x02\x00' '\x5e\x73\x7f\x3f'
++ self.req_bin_0 = b'\x51\x00\x02\x00' b'\x5e\x73\x7f\x3f'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.InstallColormap._request.to_binary, (), self.req_args_0)
++ bin = request.InstallColormap._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3748,11 +3756,11 @@
+ self.req_args_0 = {
+ 'cmap': 1636916558,
+ }
+- self.req_bin_0 = '\x52\x00\x02\x00' '\x4e\x5d\x91\x61'
++ self.req_bin_0 = b'\x52\x00\x02\x00' b'\x4e\x5d\x91\x61'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.UninstallColormap._request.to_binary, (), self.req_args_0)
++ bin = request.UninstallColormap._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3775,21 +3783,21 @@
+ self.req_args_0 = {
+ 'window': 198767900,
+ }
+- self.req_bin_0 = '\x53\x00\x02\x00' '\x1c\xf5\xd8\x0b'
++ self.req_bin_0 = b'\x53\x00\x02\x00' b'\x1c\xf5\xd8\x0b'
+
+ self.reply_args_0 = {
+ 'cmaps': [6854304, 441133660],
+ 'sequence_number': 56438,
+ }
+- self.reply_bin_0 = '\x01\x00\x76\xdc' '\x02\x00\x00\x00' \
+- '\x02\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\xa0\x96\x68\x00' '\x5c\x2a\x4b\x1a'
++ self.reply_bin_0 = b'\x01\x00\x76\xdc' b'\x02\x00\x00\x00' \
++ b'\x02\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\xa0\x96\x68\x00' b'\x5c\x2a\x4b\x1a'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ListInstalledColormaps._request.to_binary, (), self.req_args_0)
++ bin = request.ListInstalledColormaps._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3807,7 +3815,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.ListInstalledColormaps._reply.to_binary, (), self.reply_args_0)
++ bin = request.ListInstalledColormaps._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -3833,8 +3841,8 @@
+ 'green': 61383,
+ 'red': 8870,
+ }
+- self.req_bin_0 = '\x54\x00\x04\x00' '\xdf\x36\xda\x69' \
+- '\xa6\x22\xc7\xef' '\x24\xe2\x00\x00'
++ self.req_bin_0 = b'\x54\x00\x04\x00' b'\xdf\x36\xda\x69' \
++ b'\xa6\x22\xc7\xef' b'\x24\xe2\x00\x00'
+
+ self.reply_args_0 = {
+ 'blue': 22111,
+@@ -3843,14 +3851,14 @@
+ 'sequence_number': 52666,
+ 'pixel': 1186287049,
+ }
+- self.reply_bin_0 = '\x01\x00\xba\xcd' '\x00\x00\x00\x00' \
+- '\x61\xd4\x90\x6b' '\x5f\x56\x00\x00' \
+- '\xc9\x4d\xb5\x46' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x00\xba\xcd' b'\x00\x00\x00\x00' \
++ b'\x61\xd4\x90\x6b' b'\x5f\x56\x00\x00' \
++ b'\xc9\x4d\xb5\x46' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.AllocColor._request.to_binary, (), self.req_args_0)
++ bin = request.AllocColor._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3868,7 +3876,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.AllocColor._reply.to_binary, (), self.reply_args_0)
++ bin = request.AllocColor._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -3892,9 +3900,9 @@
+ 'cmap': 695059054,
+ 'name': 'octarin',
+ }
+- self.req_bin_0 = '\x55\x00\x05\x00' '\x6e\xc2\x6d\x29' \
+- '\x07\x00\x00\x00' '\x6f\x63\x74\x61' \
+- '\x72\x69\x6e\x00'
++ self.req_bin_0 = b'\x55\x00\x05\x00' b'\x6e\xc2\x6d\x29' \
++ b'\x07\x00\x00\x00' b'\x6f\x63\x74\x61' \
++ b'\x72\x69\x6e\x00'
+
+ self.reply_args_0 = {
+ 'exact_red': 45174,
+@@ -3906,14 +3914,14 @@
+ 'sequence_number': 38835,
+ 'pixel': 580415589,
+ }
+- self.reply_bin_0 = '\x01\x00\xb3\x97' '\x00\x00\x00\x00' \
+- '\x65\x70\x98\x22' '\x76\xb0\xca\xaf' \
+- '\xa3\xda\x51\xec' '\x6b\xbb\xd6\x54' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x00\xb3\x97' b'\x00\x00\x00\x00' \
++ b'\x65\x70\x98\x22' b'\x76\xb0\xca\xaf' \
++ b'\xa3\xda\x51\xec' b'\x6b\xbb\xd6\x54' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.AllocNamedColor._request.to_binary, (), self.req_args_0)
++ bin = request.AllocNamedColor._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -3931,7 +3939,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.AllocNamedColor._reply.to_binary, (), self.reply_args_0)
++ bin = request.AllocNamedColor._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -3957,42 +3965,42 @@
+ 'colors': 16292,
+ 'planes': 14978,
+ }
+- self.req_bin_0 = '\x56\x01\x03\x00' '\xb5\xe9\x73\x7b' \
+- '\xa4\x3f\x82\x3a'
++ self.req_bin_0 = b'\x56\x01\x03\x00' b'\xb5\xe9\x73\x7b' \
++ b'\xa4\x3f\x82\x3a'
+
+ self.reply_args_0 = {
+ 'pixels': [1664874569, 198876857, 135035151, 1499807858, 600240169, 1403510863, 757170725, 929995606, 155550883, 642439566, 971734621, 1359474267, 609593319, 669993327, 1837906914, 1355959290, 835285748],
+ 'masks': [50898278, 362272940, 1106373487],
+ 'sequence_number': 57786,
+ }
+- self.reply_bin_0 = '\x01\x00\xba\xe1' '\x14\x00\x00\x00' \
+- '\x11\x00\x03\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x49\xf8\x3b\x63' '\xb9\x9e\xda\x0b' \
+- '\x0f\x79\x0c\x08' '\x72\x40\x65\x59' \
+- '\x29\xf0\xc6\x23' '\x4f\xe0\xa7\x53' \
+- '\x25\x82\x21\x2d' '\x56\x9b\x6e\x37' \
+- '\xa3\x84\x45\x09' '\x8e\xd9\x4a\x26' \
+- '\x5d\x7e\xeb\x39' '\x5b\xee\x07\x51' \
+- '\xe7\xa7\x55\x24' '\x6f\x49\xef\x27' \
+- '\xe2\x3b\x8c\x6d' '\xfa\x4b\xd2\x50' \
+- '\xf4\x72\xc9\x31' '\x66\xa5\x08\x03' \
+- '\xac\xd8\x97\x15' '\x6f\xeb\xf1\x41'
++ self.reply_bin_0 = b'\x01\x00\xba\xe1' b'\x14\x00\x00\x00' \
++ b'\x11\x00\x03\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x49\xf8\x3b\x63' b'\xb9\x9e\xda\x0b' \
++ b'\x0f\x79\x0c\x08' b'\x72\x40\x65\x59' \
++ b'\x29\xf0\xc6\x23' b'\x4f\xe0\xa7\x53' \
++ b'\x25\x82\x21\x2d' b'\x56\x9b\x6e\x37' \
++ b'\xa3\x84\x45\x09' b'\x8e\xd9\x4a\x26' \
++ b'\x5d\x7e\xeb\x39' b'\x5b\xee\x07\x51' \
++ b'\xe7\xa7\x55\x24' b'\x6f\x49\xef\x27' \
++ b'\xe2\x3b\x8c\x6d' b'\xfa\x4b\xd2\x50' \
++ b'\xf4\x72\xc9\x31' b'\x66\xa5\x08\x03' \
++ b'\xac\xd8\x97\x15' b'\x6f\xeb\xf1\x41'
+
+ self.reply_args_1 = {
+ 'pixels': [],
+ 'masks': [],
+ 'sequence_number': 49324,
+ }
+- self.reply_bin_1 = '\x01\x00\xac\xc0' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_1 = b'\x01\x00\xac\xc0' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.AllocColorCells._request.to_binary, (), self.req_args_0)
++ bin = request.AllocColorCells._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4010,7 +4018,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.AllocColorCells._reply.to_binary, (), self.reply_args_0)
++ bin = request.AllocColorCells._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -4028,7 +4036,7 @@
+ raise AssertionError(args)
+
+ def testPackReply1(self):
+- bin = apply(request.AllocColorCells._reply.to_binary, (), self.reply_args_1)
++ bin = request.AllocColorCells._reply.to_binary(*(), **self.reply_args_1)
+ try:
+ assert bin == self.reply_bin_1
+ except AssertionError:
+@@ -4056,8 +4064,8 @@
+ 'contiguous': 1,
+ 'red': 37700,
+ }
+- self.req_bin_0 = '\x57\x01\x04\x00' '\xd7\xef\xa3\x7d' \
+- '\x7f\x2e\x44\x93' '\xfe\x83\xc1\x85'
++ self.req_bin_0 = b'\x57\x01\x04\x00' b'\xd7\xef\xa3\x7d' \
++ b'\x7f\x2e\x44\x93' b'\xfe\x83\xc1\x85'
+
+ self.reply_args_0 = {
+ 'red_mask': 931105404,
+@@ -4066,16 +4074,16 @@
+ 'sequence_number': 17565,
+ 'green_mask': 1072565720,
+ }
+- self.reply_bin_0 = '\x01\x00\x9d\x44' '\x04\x00\x00\x00' \
+- '\x04\x00\x00\x00' '\x7c\x8a\x7f\x37' \
+- '\xd8\x0d\xee\x3f' '\x22\x6f\x22\x34' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\xc1\x6a\xe4\x63' '\x4c\x82\xa2\x4a' \
+- '\x37\x09\x41\x02' '\x4a\xdf\xc6\x57'
++ self.reply_bin_0 = b'\x01\x00\x9d\x44' b'\x04\x00\x00\x00' \
++ b'\x04\x00\x00\x00' b'\x7c\x8a\x7f\x37' \
++ b'\xd8\x0d\xee\x3f' b'\x22\x6f\x22\x34' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\xc1\x6a\xe4\x63' b'\x4c\x82\xa2\x4a' \
++ b'\x37\x09\x41\x02' b'\x4a\xdf\xc6\x57'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.AllocColorPlanes._request.to_binary, (), self.req_args_0)
++ bin = request.AllocColorPlanes._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4093,7 +4101,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.AllocColorPlanes._reply.to_binary, (), self.reply_args_0)
++ bin = request.AllocColorPlanes._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -4118,20 +4126,20 @@
+ 'plane_mask': 1074378407,
+ 'pixels': [2014216051, 1664038241, 1220941033, 1378294408, 197757808, 793595544, 1289781247, 713684847, 1724469541, 1432124373, 1426727603, 1787792301, 406458839, 1918513211, 441394489, 988895943, 146997744],
+ }
+- self.req_bin_0 = '\x58\x00\x14\x00' '\x1e\xdf\xf2\x01' \
+- '\xa7\xb6\x09\x40' '\x73\x7f\x0e\x78' \
+- '\x61\x35\x2f\x63' '\xe9\x14\xc6\x48' \
+- '\x88\x1a\x27\x52' '\x70\x8b\xc9\x0b' \
+- '\x98\x4e\x4d\x2f' '\xff\x7f\xe0\x4c' \
+- '\x6f\xf7\x89\x2a' '\x25\x51\xc9\x66' \
+- '\xd5\x7b\x5c\x55' '\xb3\x22\x0a\x55' \
+- '\xad\x8b\x8f\x6a' '\xd7\x11\x3a\x18' \
+- '\x3b\x30\x5a\x72' '\x39\x25\x4f\x1a' \
+- '\xc7\x5a\xf1\x3a' '\xf0\x01\xc3\x08'
++ self.req_bin_0 = b'\x58\x00\x14\x00' b'\x1e\xdf\xf2\x01' \
++ b'\xa7\xb6\x09\x40' b'\x73\x7f\x0e\x78' \
++ b'\x61\x35\x2f\x63' b'\xe9\x14\xc6\x48' \
++ b'\x88\x1a\x27\x52' b'\x70\x8b\xc9\x0b' \
++ b'\x98\x4e\x4d\x2f' b'\xff\x7f\xe0\x4c' \
++ b'\x6f\xf7\x89\x2a' b'\x25\x51\xc9\x66' \
++ b'\xd5\x7b\x5c\x55' b'\xb3\x22\x0a\x55' \
++ b'\xad\x8b\x8f\x6a' b'\xd7\x11\x3a\x18' \
++ b'\x3b\x30\x5a\x72' b'\x39\x25\x4f\x1a' \
++ b'\xc7\x5a\xf1\x3a' b'\xf0\x01\xc3\x08'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.FreeColors._request.to_binary, (), self.req_args_0)
++ bin = request.FreeColors._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4155,17 +4163,17 @@
+ 'items': [{'blue': 3577, 'flags': 221, 'green': 15650, 'pixel': 330879354, 'red': 30294}, {'blue': 18226, 'flags': 219, 'green': 45614, 'pixel': 302874221, 'red': 54265}, {'blue': 32215, 'flags': 160, 'green': 48737, 'pixel': 1699694808, 'red': 60115}, {'blue': 28524, 'flags': 209, 'green': 37615, 'pixel': 710550693, 'red': 50488}],
+ 'cmap': 1791140577,
+ }
+- self.req_bin_0 = '\x59\x00\x0e\x00' '\xe1\xa2\xc2\x6a' \
+- '\x7a\xd1\xb8\x13' '\x56\x76\x22\x3d' \
+- '\xf9\x0d\xdd\x00' '\x6d\x7e\x0d\x12' \
+- '\xf9\xd3\x2e\xb2' '\x32\x47\xdb\x00' \
+- '\xd8\x48\x4f\x65' '\xd3\xea\x61\xbe' \
+- '\xd7\x7d\xa0\x00' '\xa5\x24\x5a\x2a' \
+- '\x38\xc5\xef\x92' '\x6c\x6f\xd1\x00'
++ self.req_bin_0 = b'\x59\x00\x0e\x00' b'\xe1\xa2\xc2\x6a' \
++ b'\x7a\xd1\xb8\x13' b'\x56\x76\x22\x3d' \
++ b'\xf9\x0d\xdd\x00' b'\x6d\x7e\x0d\x12' \
++ b'\xf9\xd3\x2e\xb2' b'\x32\x47\xdb\x00' \
++ b'\xd8\x48\x4f\x65' b'\xd3\xea\x61\xbe' \
++ b'\xd7\x7d\xa0\x00' b'\xa5\x24\x5a\x2a' \
++ b'\x38\xc5\xef\x92' b'\x6c\x6f\xd1\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.StoreColors._request.to_binary, (), self.req_args_0)
++ bin = request.StoreColors._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4191,13 +4199,13 @@
+ 'name': 'blue',
+ 'pixel': 413175613,
+ }
+- self.req_bin_0 = '\x5a\xa9\x05\x00' '\xf4\xd5\xd0\x33' \
+- '\x3d\x8f\xa0\x18' '\x04\x00\x00\x00' \
+- '\x62\x6c\x75\x65'
++ self.req_bin_0 = b'\x5a\xa9\x05\x00' b'\xf4\xd5\xd0\x33' \
++ b'\x3d\x8f\xa0\x18' b'\x04\x00\x00\x00' \
++ b'\x62\x6c\x75\x65'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.StoreNamedColor._request.to_binary, (), self.req_args_0)
++ bin = request.StoreNamedColor._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4221,35 +4229,35 @@
+ 'cmap': 1750052450,
+ 'pixels': [1673396539, 1897675292, 1453845591, 816818886, 897340342, 1782049962, 796231465, 722380604],
+ }
+- self.req_bin_0 = '\x5b\x00\x0a\x00' '\x62\xae\x4f\x68' \
+- '\x3b\x01\xbe\x63' '\x1c\x3a\x1c\x71' \
+- '\x57\xec\xa7\x56' '\xc6\xaa\xaf\x30' \
+- '\xb6\x53\x7c\x35' '\xaa\xec\x37\x6a' \
+- '\x29\x87\x75\x2f' '\x3c\xa7\x0e\x2b'
++ self.req_bin_0 = b'\x5b\x00\x0a\x00' b'\x62\xae\x4f\x68' \
++ b'\x3b\x01\xbe\x63' b'\x1c\x3a\x1c\x71' \
++ b'\x57\xec\xa7\x56' b'\xc6\xaa\xaf\x30' \
++ b'\xb6\x53\x7c\x35' b'\xaa\xec\x37\x6a' \
++ b'\x29\x87\x75\x2f' b'\x3c\xa7\x0e\x2b'
+
+ self.reply_args_0 = {
+ 'colors': [{'blue': 63820, 'green': 60107, 'red': 62261}, {'blue': 54480, 'green': 48839, 'red': 10033}, {'blue': 31765, 'green': 31737, 'red': 43117}, {'blue': 50953, 'green': 52009, 'red': 14234}, {'blue': 55150, 'green': 30330, 'red': 55956}],
+ 'sequence_number': 10895,
+ }
+- self.reply_bin_0 = '\x01\x00\x8f\x2a' '\x0a\x00\x00\x00' \
+- '\x05\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x35\xf3\xcb\xea' '\x4c\xf9\x00\x00' \
+- '\x31\x27\xc7\xbe' '\xd0\xd4\x00\x00' \
+- '\x6d\xa8\xf9\x7b' '\x15\x7c\x00\x00' \
+- '\x9a\x37\x29\xcb' '\x09\xc7\x00\x00' \
+- '\x94\xda\x7a\x76' '\x6e\xd7\x00\x00'
++ self.reply_bin_0 = b'\x01\x00\x8f\x2a' b'\x0a\x00\x00\x00' \
++ b'\x05\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x35\xf3\xcb\xea' b'\x4c\xf9\x00\x00' \
++ b'\x31\x27\xc7\xbe' b'\xd0\xd4\x00\x00' \
++ b'\x6d\xa8\xf9\x7b' b'\x15\x7c\x00\x00' \
++ b'\x9a\x37\x29\xcb' b'\x09\xc7\x00\x00' \
++ b'\x94\xda\x7a\x76' b'\x6e\xd7\x00\x00'
+
+ self.req_args_1 = {
+ 'cmap': 340337174,
+ 'pixels': [],
+ }
+- self.req_bin_1 = '\x5b\x00\x02\x00' '\x16\x22\x49\x14'
++ self.req_bin_1 = b'\x5b\x00\x02\x00' b'\x16\x22\x49\x14'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.QueryColors._request.to_binary, (), self.req_args_0)
++ bin = request.QueryColors._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4267,7 +4275,7 @@
+ raise AssertionError(args)
+
+ def testPackRequest1(self):
+- bin = apply(request.QueryColors._request.to_binary, (), self.req_args_1)
++ bin = request.QueryColors._request.to_binary(*(), **self.req_args_1)
+ try:
+ assert bin == self.req_bin_1
+ except AssertionError:
+@@ -4285,7 +4293,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.QueryColors._reply.to_binary, (), self.reply_args_0)
++ bin = request.QueryColors._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -4309,9 +4317,9 @@
+ 'cmap': 2120409969,
+ 'name': 'octarin',
+ }
+- self.req_bin_0 = '\x5c\x00\x05\x00' '\x71\xe3\x62\x7e' \
+- '\x07\x00\x00\x00' '\x6f\x63\x74\x61' \
+- '\x72\x69\x6e\x00'
++ self.req_bin_0 = b'\x5c\x00\x05\x00' b'\x71\xe3\x62\x7e' \
++ b'\x07\x00\x00\x00' b'\x6f\x63\x74\x61' \
++ b'\x72\x69\x6e\x00'
+
+ self.reply_args_0 = {
+ 'exact_red': 63730,
+@@ -4322,14 +4330,14 @@
+ 'screen_red': 26587,
+ 'sequence_number': 2933,
+ }
+- self.reply_bin_0 = '\x01\x00\x75\x0b' '\x00\x00\x00\x00' \
+- '\xf2\xf8\x50\x5f' '\x65\x6b\xdb\x67' \
+- '\x06\x3e\xfb\x24' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x00\x75\x0b' b'\x00\x00\x00\x00' \
++ b'\xf2\xf8\x50\x5f' b'\x65\x6b\xdb\x67' \
++ b'\x06\x3e\xfb\x24' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.LookupColor._request.to_binary, (), self.req_args_0)
++ bin = request.LookupColor._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4347,7 +4355,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.LookupColor._reply.to_binary, (), self.reply_args_0)
++ bin = request.LookupColor._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -4380,14 +4388,14 @@
+ 'x': 731,
+ 'back_red': 30886,
+ }
+- self.req_bin_0 = '\x5d\x00\x08\x00' '\xa6\x29\xd3\x52' \
+- '\x5d\x7b\xd1\x7a' '\xf2\xa8\xf2\x57' \
+- '\x9f\xa7\x3b\x7d' '\xdd\xb1\xa6\x78' \
+- '\x15\x24\x39\x1d' '\xdb\x02\xa7\x7c'
++ self.req_bin_0 = b'\x5d\x00\x08\x00' b'\xa6\x29\xd3\x52' \
++ b'\x5d\x7b\xd1\x7a' b'\xf2\xa8\xf2\x57' \
++ b'\x9f\xa7\x3b\x7d' b'\xdd\xb1\xa6\x78' \
++ b'\x15\x24\x39\x1d' b'\xdb\x02\xa7\x7c'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.CreateCursor._request.to_binary, (), self.req_args_0)
++ bin = request.CreateCursor._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4420,14 +4428,14 @@
+ 'source_char': 50271,
+ 'back_red': 13590,
+ }
+- self.req_bin_0 = '\x5e\x00\x08\x00' '\x31\xe7\xc1\x6d' \
+- '\x2a\x85\x48\x01' '\x50\x9a\x89\x10' \
+- '\x5f\xc4\xdc\x4a' '\xeb\x23\xfc\xc7' \
+- '\xb7\x62\x16\x35' '\xed\xd7\xfb\x1c'
++ self.req_bin_0 = b'\x5e\x00\x08\x00' b'\x31\xe7\xc1\x6d' \
++ b'\x2a\x85\x48\x01' b'\x50\x9a\x89\x10' \
++ b'\x5f\xc4\xdc\x4a' b'\xeb\x23\xfc\xc7' \
++ b'\xb7\x62\x16\x35' b'\xed\xd7\xfb\x1c'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.CreateGlyphCursor._request.to_binary, (), self.req_args_0)
++ bin = request.CreateGlyphCursor._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4450,11 +4458,11 @@
+ self.req_args_0 = {
+ 'cursor': 830435200,
+ }
+- self.req_bin_0 = '\x5f\x00\x02\x00' '\x80\x6f\x7f\x31'
++ self.req_bin_0 = b'\x5f\x00\x02\x00' b'\x80\x6f\x7f\x31'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.FreeCursor._request.to_binary, (), self.req_args_0)
++ bin = request.FreeCursor._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4483,13 +4491,13 @@
+ 'fore_green': 39148,
+ 'fore_red': 48154,
+ }
+- self.req_bin_0 = '\x60\x00\x05\x00' '\xc3\xa3\xe5\x23' \
+- '\x1a\xbc\xec\x98' '\x24\xfa\x82\x17' \
+- '\x80\xbf\x4f\x3c'
++ self.req_bin_0 = b'\x60\x00\x05\x00' b'\xc3\xa3\xe5\x23' \
++ b'\x1a\xbc\xec\x98' b'\x24\xfa\x82\x17' \
++ b'\x80\xbf\x4f\x3c'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.RecolorCursor._request.to_binary, (), self.req_args_0)
++ bin = request.RecolorCursor._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4515,22 +4523,22 @@
+ 'drawable': 1606665099,
+ 'height': 4701,
+ }
+- self.req_bin_0 = '\x61\x01\x03\x00' '\x8b\xc3\xc3\x5f' \
+- '\x60\xce\x5d\x12'
++ self.req_bin_0 = b'\x61\x01\x03\x00' b'\x8b\xc3\xc3\x5f' \
++ b'\x60\xce\x5d\x12'
+
+ self.reply_args_0 = {
+ 'width': 33709,
+ 'sequence_number': 43788,
+ 'height': 12826,
+ }
+- self.reply_bin_0 = '\x01\x00\x0c\xab' '\x00\x00\x00\x00' \
+- '\xad\x83\x1a\x32' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x00\x0c\xab' b'\x00\x00\x00\x00' \
++ b'\xad\x83\x1a\x32' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.QueryBestSize._request.to_binary, (), self.req_args_0)
++ bin = request.QueryBestSize._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4548,7 +4556,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.QueryBestSize._reply.to_binary, (), self.reply_args_0)
++ bin = request.QueryBestSize._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -4571,8 +4579,8 @@
+ self.req_args_0 = {
+ 'name': 'XTRA',
+ }
+- self.req_bin_0 = '\x62\x00\x03\x00' '\x04\x00\x00\x00' \
+- '\x58\x54\x52\x41'
++ self.req_bin_0 = b'\x62\x00\x03\x00' b'\x04\x00\x00\x00' \
++ b'\x58\x54\x52\x41'
+
+ self.reply_args_0 = {
+ 'first_event': 163,
+@@ -4581,14 +4589,14 @@
+ 'present': 1,
+ 'sequence_number': 3124,
+ }
+- self.reply_bin_0 = '\x01\x00\x34\x0c' '\x00\x00\x00\x00' \
+- '\x01\xd7\xa3\xa6' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x00\x34\x0c' b'\x00\x00\x00\x00' \
++ b'\x01\xd7\xa3\xa6' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.QueryExtension._request.to_binary, (), self.req_args_0)
++ bin = request.QueryExtension._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4606,7 +4614,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.QueryExtension._reply.to_binary, (), self.reply_args_0)
++ bin = request.QueryExtension._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -4628,22 +4636,22 @@
+ def setUp(self):
+ self.req_args_0 = {
+ }
+- self.req_bin_0 = '\x63\x00\x01\x00'
++ self.req_bin_0 = b'\x63\x00\x01\x00'
+
+ self.reply_args_0 = {
+ 'names': ['XTRA', 'XTRA-II'],
+ 'sequence_number': 21122,
+ }
+- self.reply_bin_0 = '\x01\x02\x82\x52' '\x04\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x04\x58\x54\x52' '\x41\x07\x58\x54' \
+- '\x52\x41\x2d\x49' '\x49\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x02\x82\x52' b'\x04\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x04\x58\x54\x52' b'\x41\x07\x58\x54' \
++ b'\x52\x41\x2d\x49' b'\x49\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ListExtensions._request.to_binary, (), self.req_args_0)
++ bin = request.ListExtensions._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4661,7 +4669,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.ListExtensions._reply.to_binary, (), self.reply_args_0)
++ bin = request.ListExtensions._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -4685,41 +4693,41 @@
+ 'first_keycode': 131,
+ 'keysyms': [[1479273593, 495399194, 1752874714], [183124138, 826800766, 542058728], [519501686, 1358630902, 1051542205], [1363902850, 52079613, 1721268402], [2124568309, 323328202, 1426344655], [1775218167, 1821828429, 1704892958], [1784543283, 783698836, 1882907069], [1165130550, 1276086917, 957090966], [1623553701, 77158667, 420399405], [790514637, 1104383431, 1645303152], [879499287, 349457843, 1313813953], [367336866, 1207824094, 514125338], [767413913, 135340640, 756292967], [475442692, 2076098223, 1252936842], [964050497, 2006979633, 948353974], [1923834215, 1061136894, 1319606154], [1186538913, 1770176901, 715354628], [1470481551, 403222608, 252019996], [260033548, 1553379907, 1096456683], [2027881549, 1992616114, 382810564]],
+ }
+- self.req_bin_0 = '\x64\x14\x3e\x00' '\x83\x03\x00\x00' \
+- '\x79\xec\x2b\x58' '\x1a\x31\x87\x1d' \
+- '\xda\xbe\x7a\x68' '\xaa\x40\xea\x0a' \
+- '\x7e\xfa\x47\x31' '\xe8\x28\x4f\x20' \
+- '\x76\xf7\xf6\x1e' '\xf6\x0f\xfb\x50' \
+- '\xbd\x42\xad\x3e' '\x82\x81\x4b\x51' \
+- '\xfd\xab\x1a\x03' '\xb2\x78\x98\x66' \
+- '\xf5\x56\xa2\x7e' '\xca\x98\x45\x13' \
+- '\xcf\x4a\x04\x55' '\xf7\xad\xcf\x69' \
+- '\x4d\xe5\x96\x6c' '\x1e\x9a\x9e\x65' \
+- '\x33\xf8\x5d\x6a' '\x94\x4b\xb6\x2e' \
+- '\xbd\xe1\x3a\x70' '\x36\x7b\x72\x45' \
+- '\x85\x8a\x0f\x4c' '\x96\x0c\x0c\x39' \
+- '\xa5\x76\xc5\x60' '\x0b\x59\x99\x04' \
+- '\x2d\xc9\x0e\x19' '\xcd\x4b\x1e\x2f' \
+- '\xc7\x8d\xd3\x41' '\x70\x55\x11\x62' \
+- '\x17\x18\x6c\x34' '\xb3\x4d\xd4\x14' \
+- '\xc1\x35\x4f\x4e' '\xa2\x1d\xe5\x15' \
+- '\xde\xee\xfd\x47' '\x1a\xee\xa4\x1e' \
+- '\x99\xce\xbd\x2d' '\x60\x22\x11\x08' \
+- '\x67\x1d\x14\x2d' '\x04\xae\x56\x1c' \
+- '\xaf\xbe\xbe\x7b' '\x8a\x4c\xae\x4a' \
+- '\x41\x3e\x76\x39' '\x31\x14\xa0\x77' \
+- '\xb6\xbb\x86\x38' '\x67\x61\xab\x72' \
+- '\xfe\xa9\x3f\x3f' '\x8a\x97\xa7\x4e' \
+- '\xa1\x25\xb9\x46' '\x85\xc1\x82\x69' \
+- '\x04\x72\xa3\x2a' '\x8f\xc4\xa5\x57' \
+- '\x50\xb0\x08\x18' '\x1c\x85\x05\x0f' \
+- '\x0c\xcc\x7f\x0f' '\x43\xb2\x96\x5c' \
+- '\xeb\x99\x5a\x41' '\x4d\x04\xdf\x78' \
+- '\xb2\xe8\xc4\x76' '\xc4\x39\xd1\x16'
++ self.req_bin_0 = b'\x64\x14\x3e\x00' b'\x83\x03\x00\x00' \
++ b'\x79\xec\x2b\x58' b'\x1a\x31\x87\x1d' \
++ b'\xda\xbe\x7a\x68' b'\xaa\x40\xea\x0a' \
++ b'\x7e\xfa\x47\x31' b'\xe8\x28\x4f\x20' \
++ b'\x76\xf7\xf6\x1e' b'\xf6\x0f\xfb\x50' \
++ b'\xbd\x42\xad\x3e' b'\x82\x81\x4b\x51' \
++ b'\xfd\xab\x1a\x03' b'\xb2\x78\x98\x66' \
++ b'\xf5\x56\xa2\x7e' b'\xca\x98\x45\x13' \
++ b'\xcf\x4a\x04\x55' b'\xf7\xad\xcf\x69' \
++ b'\x4d\xe5\x96\x6c' b'\x1e\x9a\x9e\x65' \
++ b'\x33\xf8\x5d\x6a' b'\x94\x4b\xb6\x2e' \
++ b'\xbd\xe1\x3a\x70' b'\x36\x7b\x72\x45' \
++ b'\x85\x8a\x0f\x4c' b'\x96\x0c\x0c\x39' \
++ b'\xa5\x76\xc5\x60' b'\x0b\x59\x99\x04' \
++ b'\x2d\xc9\x0e\x19' b'\xcd\x4b\x1e\x2f' \
++ b'\xc7\x8d\xd3\x41' b'\x70\x55\x11\x62' \
++ b'\x17\x18\x6c\x34' b'\xb3\x4d\xd4\x14' \
++ b'\xc1\x35\x4f\x4e' b'\xa2\x1d\xe5\x15' \
++ b'\xde\xee\xfd\x47' b'\x1a\xee\xa4\x1e' \
++ b'\x99\xce\xbd\x2d' b'\x60\x22\x11\x08' \
++ b'\x67\x1d\x14\x2d' b'\x04\xae\x56\x1c' \
++ b'\xaf\xbe\xbe\x7b' b'\x8a\x4c\xae\x4a' \
++ b'\x41\x3e\x76\x39' b'\x31\x14\xa0\x77' \
++ b'\xb6\xbb\x86\x38' b'\x67\x61\xab\x72' \
++ b'\xfe\xa9\x3f\x3f' b'\x8a\x97\xa7\x4e' \
++ b'\xa1\x25\xb9\x46' b'\x85\xc1\x82\x69' \
++ b'\x04\x72\xa3\x2a' b'\x8f\xc4\xa5\x57' \
++ b'\x50\xb0\x08\x18' b'\x1c\x85\x05\x0f' \
++ b'\x0c\xcc\x7f\x0f' b'\x43\xb2\x96\x5c' \
++ b'\xeb\x99\x5a\x41' b'\x4d\x04\xdf\x78' \
++ b'\xb2\xe8\xc4\x76' b'\xc4\x39\xd1\x16'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ChangeKeyboardMapping._request.to_binary, (), self.req_args_0)
++ bin = request.ChangeKeyboardMapping._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4743,50 +4751,50 @@
+ 'first_keycode': 174,
+ 'count': 233,
+ }
+- self.req_bin_0 = '\x65\x00\x02\x00' '\xae\xe9\x00\x00'
++ self.req_bin_0 = b'\x65\x00\x02\x00' b'\xae\xe9\x00\x00'
+
+ self.reply_args_0 = {
+ 'keysyms': [[536700486, 90972970, 1834434734], [604690854, 1612992766, 1785113276], [1258017014, 814047417, 79874791], [1752913778, 2069894554, 1342993084], [691283205, 2002270597, 1552550365], [1427239047, 80222814, 380890249], [932130695, 1233544402, 1343201446], [850296480, 830996690, 1219102856], [1427529259, 1334110395, 1423305447], [925543758, 1154246092, 389857513], [782217983, 1673349321, 296773941], [904384636, 788791004, 1427343811], [578056967, 1628142600, 882651915], [1727003528, 1202959768, 59536638], [932784259, 453243643, 1846802632], [1527858524, 2055184942, 1534128611], [134086768, 909769847, 323736641], [2080620639, 1573387975, 566724688], [1393924270, 1408645244, 1610610798], [391612329, 341605408, 484634403]],
+ 'sequence_number': 27901,
+ }
+- self.reply_bin_0 = '\x01\x03\xfd\x6c' '\x3c\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x46\x66\xfd\x1f' '\x2a\x23\x6c\x05' \
+- '\xae\x40\x57\x6d' '\xa6\xd9\x0a\x24' \
+- '\xfe\x50\x24\x60' '\xbc\xaa\x66\x6a' \
+- '\xf6\xd0\xfb\x4a' '\xb9\x60\x85\x30' \
+- '\xe7\xca\xc2\x04' '\x72\x57\x7b\x68' \
+- '\x9a\x15\x60\x7b' '\xbc\x72\x0c\x50' \
+- '\x05\x25\x34\x29' '\x85\x39\x58\x77' \
+- '\xdd\x09\x8a\x5c' '\x87\xf0\x11\x55' \
+- '\x5e\x1a\xc8\x04' '\x89\xec\xb3\x16' \
+- '\x87\x2f\x8f\x37' '\xd2\x64\x86\x49' \
+- '\xa6\xa0\x0f\x50' '\xa0\x7e\xae\x32' \
+- '\xd2\x00\x88\x31' '\x88\x08\xaa\x48' \
+- '\x2b\x5e\x16\x55' '\xbb\xe8\x84\x4f' \
+- '\xe7\xea\xd5\x54' '\x4e\xad\x2a\x37' \
+- '\xcc\x65\xcc\x44' '\xe9\xc0\x3c\x17' \
+- '\xff\xb2\x9f\x2e' '\xc9\x48\xbd\x63' \
+- '\x35\x69\xb0\x11' '\x7c\xd0\xe7\x35' \
+- '\xdc\xfe\x03\x2f' '\xc3\x89\x13\x55' \
+- '\x07\x73\x74\x22' '\x08\x7c\x0b\x61' \
+- '\x0b\x33\x9c\x34' '\x88\xfb\xef\x66' \
+- '\x98\xb5\xb3\x47' '\xfe\x74\x8c\x03' \
+- '\x83\x28\x99\x37' '\xfb\xf2\x03\x1b' \
+- '\xc8\xf8\x13\x6e' '\x5c\x45\x11\x5b' \
+- '\x2e\xa2\x7f\x7a' '\xe3\xf1\x70\x5b' \
+- '\x70\x00\xfe\x07' '\x77\xfc\x39\x36' \
+- '\x41\xd4\x4b\x13' '\x5f\xc0\x03\x7c' \
+- '\xc7\xfe\xc7\x5d' '\x50\x88\xc7\x21' \
+- '\xae\x98\x15\x53' '\x7c\x38\xf6\x53' \
+- '\x6e\xf8\xff\x5f' '\xa9\x87\x57\x17' \
+- '\x20\x7c\x5c\x14' '\x23\xef\xe2\x1c'
++ self.reply_bin_0 = b'\x01\x03\xfd\x6c' b'\x3c\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x46\x66\xfd\x1f' b'\x2a\x23\x6c\x05' \
++ b'\xae\x40\x57\x6d' b'\xa6\xd9\x0a\x24' \
++ b'\xfe\x50\x24\x60' b'\xbc\xaa\x66\x6a' \
++ b'\xf6\xd0\xfb\x4a' b'\xb9\x60\x85\x30' \
++ b'\xe7\xca\xc2\x04' b'\x72\x57\x7b\x68' \
++ b'\x9a\x15\x60\x7b' b'\xbc\x72\x0c\x50' \
++ b'\x05\x25\x34\x29' b'\x85\x39\x58\x77' \
++ b'\xdd\x09\x8a\x5c' b'\x87\xf0\x11\x55' \
++ b'\x5e\x1a\xc8\x04' b'\x89\xec\xb3\x16' \
++ b'\x87\x2f\x8f\x37' b'\xd2\x64\x86\x49' \
++ b'\xa6\xa0\x0f\x50' b'\xa0\x7e\xae\x32' \
++ b'\xd2\x00\x88\x31' b'\x88\x08\xaa\x48' \
++ b'\x2b\x5e\x16\x55' b'\xbb\xe8\x84\x4f' \
++ b'\xe7\xea\xd5\x54' b'\x4e\xad\x2a\x37' \
++ b'\xcc\x65\xcc\x44' b'\xe9\xc0\x3c\x17' \
++ b'\xff\xb2\x9f\x2e' b'\xc9\x48\xbd\x63' \
++ b'\x35\x69\xb0\x11' b'\x7c\xd0\xe7\x35' \
++ b'\xdc\xfe\x03\x2f' b'\xc3\x89\x13\x55' \
++ b'\x07\x73\x74\x22' b'\x08\x7c\x0b\x61' \
++ b'\x0b\x33\x9c\x34' b'\x88\xfb\xef\x66' \
++ b'\x98\xb5\xb3\x47' b'\xfe\x74\x8c\x03' \
++ b'\x83\x28\x99\x37' b'\xfb\xf2\x03\x1b' \
++ b'\xc8\xf8\x13\x6e' b'\x5c\x45\x11\x5b' \
++ b'\x2e\xa2\x7f\x7a' b'\xe3\xf1\x70\x5b' \
++ b'\x70\x00\xfe\x07' b'\x77\xfc\x39\x36' \
++ b'\x41\xd4\x4b\x13' b'\x5f\xc0\x03\x7c' \
++ b'\xc7\xfe\xc7\x5d' b'\x50\x88\xc7\x21' \
++ b'\xae\x98\x15\x53' b'\x7c\x38\xf6\x53' \
++ b'\x6e\xf8\xff\x5f' b'\xa9\x87\x57\x17' \
++ b'\x20\x7c\x5c\x14' b'\x23\xef\xe2\x1c'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GetKeyboardMapping._request.to_binary, (), self.req_args_0)
++ bin = request.GetKeyboardMapping._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4804,7 +4812,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GetKeyboardMapping._reply.to_binary, (), self.reply_args_0)
++ bin = request.GetKeyboardMapping._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -4827,15 +4835,15 @@
+ self.req_args_0 = {
+ 'attrs': {'led': 241, 'key': 193, 'bell_duration': -19485, 'auto_repeat_mode': 0, 'bell_pitch': -13220, 'key_click_percent': -3, 'bell_percent': -74, 'led_mode': 1},
+ }
+- self.req_bin_0 = '\x66\x00\x0a\x00' '\xff\x00\x00\x00' \
+- '\xfd\x00\x00\x00' '\xb6\x00\x00\x00' \
+- '\x5c\xcc\x00\x00' '\xe3\xb3\x00\x00' \
+- '\xf1\x00\x00\x00' '\x01\x00\x00\x00' \
+- '\xc1\x00\x00\x00' '\x00\x00\x00\x00'
++ self.req_bin_0 = b'\x66\x00\x0a\x00' b'\xff\x00\x00\x00' \
++ b'\xfd\x00\x00\x00' b'\xb6\x00\x00\x00' \
++ b'\x5c\xcc\x00\x00' b'\xe3\xb3\x00\x00' \
++ b'\xf1\x00\x00\x00' b'\x01\x00\x00\x00' \
++ b'\xc1\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ChangeKeyboardControl._request.to_binary, (), self.req_args_0)
++ bin = request.ChangeKeyboardControl._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4857,7 +4865,7 @@
+ def setUp(self):
+ self.req_args_0 = {
+ }
+- self.req_bin_0 = '\x67\x00\x01\x00'
++ self.req_bin_0 = b'\x67\x00\x01\x00'
+
+ self.reply_args_0 = {
+ 'led_mask': 1389423883,
+@@ -4869,17 +4877,17 @@
+ 'sequence_number': 62321,
+ 'key_click_percent': 140,
+ }
+- self.reply_bin_0 = '\x01\x01\x71\xf3' '\x05\x00\x00\x00' \
+- '\x0b\xed\xd0\x52' '\x8c\x82\xb8\x6b' \
+- '\xca\x66\x00\x00' '\x81\xd3\xb4\xca' \
+- '\xda\x91\x81\x88' '\x89\xa5\xd2\xa0' \
+- '\xe5\xdf\xe2\x82' '\xc5\xe9\xbb\xa6' \
+- '\xd3\xf1\xad\xb7' '\xb8\xd8\xd8\xda' \
+- '\xb6\xe0\xaf\xd2'
++ self.reply_bin_0 = b'\x01\x01\x71\xf3' b'\x05\x00\x00\x00' \
++ b'\x0b\xed\xd0\x52' b'\x8c\x82\xb8\x6b' \
++ b'\xca\x66\x00\x00' b'\x81\xd3\xb4\xca' \
++ b'\xda\x91\x81\x88' b'\x89\xa5\xd2\xa0' \
++ b'\xe5\xdf\xe2\x82' b'\xc5\xe9\xbb\xa6' \
++ b'\xd3\xf1\xad\xb7' b'\xb8\xd8\xd8\xda' \
++ b'\xb6\xe0\xaf\xd2'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GetKeyboardControl._request.to_binary, (), self.req_args_0)
++ bin = request.GetKeyboardControl._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4897,7 +4905,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GetKeyboardControl._reply.to_binary, (), self.reply_args_0)
++ bin = request.GetKeyboardControl._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -4920,11 +4928,11 @@
+ self.req_args_0 = {
+ 'percent': -14,
+ }
+- self.req_bin_0 = '\x68\xf2\x01\x00'
++ self.req_bin_0 = b'\x68\xf2\x01\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.Bell._request.to_binary, (), self.req_args_0)
++ bin = request.Bell._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4951,12 +4959,12 @@
+ 'accel_denum': -24572,
+ 'do_thresh': 1,
+ }
+- self.req_bin_0 = '\x69\x00\x03\x00' '\x4e\xea\x04\xa0' \
+- '\xba\xd6\x01\x01'
++ self.req_bin_0 = b'\x69\x00\x03\x00' b'\x4e\xea\x04\xa0' \
++ b'\xba\xd6\x01\x01'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ChangePointerControl._request.to_binary, (), self.req_args_0)
++ bin = request.ChangePointerControl._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -4978,7 +4986,7 @@
+ def setUp(self):
+ self.req_args_0 = {
+ }
+- self.req_bin_0 = '\x6a\x00\x01\x00'
++ self.req_bin_0 = b'\x6a\x00\x01\x00'
+
+ self.reply_args_0 = {
+ 'accel_num': 11888,
+@@ -4986,14 +4994,14 @@
+ 'sequence_number': 62480,
+ 'accel_denom': 46073,
+ }
+- self.reply_bin_0 = '\x01\x00\x10\xf4' '\x00\x00\x00\x00' \
+- '\x70\x2e\xf9\xb3' '\xd6\x8f\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x00\x10\xf4' b'\x00\x00\x00\x00' \
++ b'\x70\x2e\xf9\xb3' b'\xd6\x8f\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GetPointerControl._request.to_binary, (), self.req_args_0)
++ bin = request.GetPointerControl._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -5011,7 +5019,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GetPointerControl._reply.to_binary, (), self.reply_args_0)
++ bin = request.GetPointerControl._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -5037,12 +5045,12 @@
+ 'timeout': -2423,
+ 'allow_exposures': 2,
+ }
+- self.req_bin_0 = '\x6b\x00\x03\x00' '\x89\xf6\xee\xb4' \
+- '\x01\x02\x00\x00'
++ self.req_bin_0 = b'\x6b\x00\x03\x00' b'\x89\xf6\xee\xb4' \
++ b'\x01\x02\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.SetScreenSaver._request.to_binary, (), self.req_args_0)
++ bin = request.SetScreenSaver._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -5064,7 +5072,7 @@
+ def setUp(self):
+ self.req_args_0 = {
+ }
+- self.req_bin_0 = '\x6c\x00\x01\x00'
++ self.req_bin_0 = b'\x6c\x00\x01\x00'
+
+ self.reply_args_0 = {
+ 'interval': 51464,
+@@ -5073,14 +5081,14 @@
+ 'sequence_number': 45153,
+ 'allow_exposures': 1,
+ }
+- self.reply_bin_0 = '\x01\x00\x61\xb0' '\x00\x00\x00\x00' \
+- '\x57\x14\x08\xc9' '\x01\x01\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x00\x61\xb0' b'\x00\x00\x00\x00' \
++ b'\x57\x14\x08\xc9' b'\x01\x01\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GetScreenSaver._request.to_binary, (), self.req_args_0)
++ bin = request.GetScreenSaver._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -5098,7 +5106,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GetScreenSaver._reply.to_binary, (), self.reply_args_0)
++ bin = request.GetScreenSaver._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -5123,12 +5131,12 @@
+ 'mode': 0,
+ 'host_family': 0,
+ }
+- self.req_bin_0 = '\x6d\x00\x03\x00' '\x00\x00\x04\x00' \
+- '\x96\xc8\xcd\xb6'
++ self.req_bin_0 = b'\x6d\x00\x03\x00' b'\x00\x00\x04\x00' \
++ b'\x96\xc8\xcd\xb6'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ChangeHosts._request.to_binary, (), self.req_args_0)
++ bin = request.ChangeHosts._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -5150,23 +5158,23 @@
+ def setUp(self):
+ self.req_args_0 = {
+ }
+- self.req_bin_0 = '\x6e\x00\x01\x00'
++ self.req_bin_0 = b'\x6e\x00\x01\x00'
+
+ self.reply_args_0 = {
+ 'hosts': [{'name': [34, 23, 178, 12], 'family': 0}, {'name': [130, 236, 254, 15], 'family': 0}],
+ 'mode': 1,
+ 'sequence_number': 33455,
+ }
+- self.reply_bin_0 = '\x01\x01\xaf\x82' '\x04\x00\x00\x00' \
+- '\x02\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x04\x00' '\x22\x17\xb2\x0c' \
+- '\x00\x00\x04\x00' '\x82\xec\xfe\x0f'
++ self.reply_bin_0 = b'\x01\x01\xaf\x82' b'\x04\x00\x00\x00' \
++ b'\x02\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x04\x00' b'\x22\x17\xb2\x0c' \
++ b'\x00\x00\x04\x00' b'\x82\xec\xfe\x0f'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ListHosts._request.to_binary, (), self.req_args_0)
++ bin = request.ListHosts._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -5184,7 +5192,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.ListHosts._reply.to_binary, (), self.reply_args_0)
++ bin = request.ListHosts._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -5207,11 +5215,11 @@
+ self.req_args_0 = {
+ 'mode': 1,
+ }
+- self.req_bin_0 = '\x6f\x01\x01\x00'
++ self.req_bin_0 = b'\x6f\x01\x01\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.SetAccessControl._request.to_binary, (), self.req_args_0)
++ bin = request.SetAccessControl._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -5234,11 +5242,11 @@
+ self.req_args_0 = {
+ 'mode': 1,
+ }
+- self.req_bin_0 = '\x70\x01\x01\x00'
++ self.req_bin_0 = b'\x70\x01\x01\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.SetCloseDownMode._request.to_binary, (), self.req_args_0)
++ bin = request.SetCloseDownMode._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -5261,11 +5269,11 @@
+ self.req_args_0 = {
+ 'resource': 1900634441,
+ }
+- self.req_bin_0 = '\x71\x00\x02\x00' '\x49\x61\x49\x71'
++ self.req_bin_0 = b'\x71\x00\x02\x00' b'\x49\x61\x49\x71'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.KillClient._request.to_binary, (), self.req_args_0)
++ bin = request.KillClient._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -5290,18 +5298,18 @@
+ 'properties': [194806244, 1444715269, 486779871, 1850032482, 1083061497, 786546027, 807635511, 1716883082, 80335197, 1654299, 1459844212, 850673646],
+ 'delta': -27029,
+ }
+- self.req_bin_0 = '\x72\x00\x0f\x00' '\xfd\x1b\x7e\x44' \
+- '\x0c\x00\x6b\x96' '\xe4\x81\x9c\x0b' \
+- '\x05\x9b\x1c\x56' '\xdf\xab\x03\x1d' \
+- '\x62\x41\x45\x6e' '\xf9\x34\x8e\x40' \
+- '\x6b\xbd\xe1\x2e' '\x37\x8a\x23\x30' \
+- '\x8a\x8e\x55\x66' '\x5d\xd1\xc9\x04' \
+- '\x1b\x3e\x19\x00' '\x74\x74\x03\x57' \
+- '\xee\x3f\xb4\x32'
++ self.req_bin_0 = b'\x72\x00\x0f\x00' b'\xfd\x1b\x7e\x44' \
++ b'\x0c\x00\x6b\x96' b'\xe4\x81\x9c\x0b' \
++ b'\x05\x9b\x1c\x56' b'\xdf\xab\x03\x1d' \
++ b'\x62\x41\x45\x6e' b'\xf9\x34\x8e\x40' \
++ b'\x6b\xbd\xe1\x2e' b'\x37\x8a\x23\x30' \
++ b'\x8a\x8e\x55\x66' b'\x5d\xd1\xc9\x04' \
++ b'\x1b\x3e\x19\x00' b'\x74\x74\x03\x57' \
++ b'\xee\x3f\xb4\x32'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.RotateProperties._request.to_binary, (), self.req_args_0)
++ bin = request.RotateProperties._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -5324,11 +5332,11 @@
+ self.req_args_0 = {
+ 'mode': 1,
+ }
+- self.req_bin_0 = '\x73\x01\x01\x00'
++ self.req_bin_0 = b'\x73\x01\x01\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.ForceScreenSaver._request.to_binary, (), self.req_args_0)
++ bin = request.ForceScreenSaver._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -5351,21 +5359,21 @@
+ self.req_args_0 = {
+ 'map': [130, 178, 229, 218, 178],
+ }
+- self.req_bin_0 = '\x74\x05\x03\x00' '\x82\xb2\xe5\xda' \
+- '\xb2\x00\x00\x00'
++ self.req_bin_0 = b'\x74\x05\x03\x00' b'\x82\xb2\xe5\xda' \
++ b'\xb2\x00\x00\x00'
+
+ self.reply_args_0 = {
+ 'status': 145,
+ 'sequence_number': 57045,
+ }
+- self.reply_bin_0 = '\x01\x91\xd5\xde' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x91\xd5\xde' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.SetPointerMapping._request.to_binary, (), self.req_args_0)
++ bin = request.SetPointerMapping._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -5383,7 +5391,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.SetPointerMapping._reply.to_binary, (), self.reply_args_0)
++ bin = request.SetPointerMapping._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -5405,21 +5413,21 @@
+ def setUp(self):
+ self.req_args_0 = {
+ }
+- self.req_bin_0 = '\x75\x00\x01\x00'
++ self.req_bin_0 = b'\x75\x00\x01\x00'
+
+ self.reply_args_0 = {
+ 'map': [248, 185, 227, 157, 133],
+ 'sequence_number': 20072,
+ }
+- self.reply_bin_0 = '\x01\x05\x68\x4e' '\x02\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\xf8\xb9\xe3\x9d' '\x85\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x05\x68\x4e' b'\x02\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\xf8\xb9\xe3\x9d' b'\x85\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GetPointerMapping._request.to_binary, (), self.req_args_0)
++ bin = request.GetPointerMapping._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -5437,7 +5445,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GetPointerMapping._reply.to_binary, (), self.reply_args_0)
++ bin = request.GetPointerMapping._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -5460,22 +5468,22 @@
+ self.req_args_0 = {
+ 'keycodes': [[6, 191], [94, 123], [46, 94], [104, 116], [132, 158], [35, 75], [128, 63], [135, 221]],
+ }
+- self.req_bin_0 = '\x76\x02\x05\x00' '\x06\xbf\x5e\x7b' \
+- '\x2e\x5e\x68\x74' '\x84\x9e\x23\x4b' \
+- '\x80\x3f\x87\xdd'
++ self.req_bin_0 = b'\x76\x02\x05\x00' b'\x06\xbf\x5e\x7b' \
++ b'\x2e\x5e\x68\x74' b'\x84\x9e\x23\x4b' \
++ b'\x80\x3f\x87\xdd'
+
+ self.reply_args_0 = {
+ 'status': 149,
+ 'sequence_number': 26757,
+ }
+- self.reply_bin_0 = '\x01\x95\x85\x68' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00'
++ self.reply_bin_0 = b'\x01\x95\x85\x68' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.SetModifierMapping._request.to_binary, (), self.req_args_0)
++ bin = request.SetModifierMapping._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -5493,7 +5501,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.SetModifierMapping._reply.to_binary, (), self.reply_args_0)
++ bin = request.SetModifierMapping._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -5515,22 +5523,22 @@
+ def setUp(self):
+ self.req_args_0 = {
+ }
+- self.req_bin_0 = '\x77\x00\x01\x00'
++ self.req_bin_0 = b'\x77\x00\x01\x00'
+
+ self.reply_args_0 = {
+ 'keycodes': [[85, 162], [139, 194], [12, 107], [120, 193], [26, 40], [125, 221], [27, 0], [220, 78]],
+ 'sequence_number': 17677,
+ }
+- self.reply_bin_0 = '\x01\x02\x0d\x45' '\x04\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x00\x00\x00\x00' '\x00\x00\x00\x00' \
+- '\x55\xa2\x8b\xc2' '\x0c\x6b\x78\xc1' \
+- '\x1a\x28\x7d\xdd' '\x1b\x00\xdc\x4e'
++ self.reply_bin_0 = b'\x01\x02\x0d\x45' b'\x04\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x00\x00\x00\x00' b'\x00\x00\x00\x00' \
++ b'\x55\xa2\x8b\xc2' b'\x0c\x6b\x78\xc1' \
++ b'\x1a\x28\x7d\xdd' b'\x1b\x00\xdc\x4e'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.GetModifierMapping._request.to_binary, (), self.req_args_0)
++ bin = request.GetModifierMapping._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+@@ -5548,7 +5556,7 @@
+ raise AssertionError(args)
+
+ def testPackReply0(self):
+- bin = apply(request.GetModifierMapping._reply.to_binary, (), self.reply_args_0)
++ bin = request.GetModifierMapping._reply.to_binary(*(), **self.reply_args_0)
+ try:
+ assert bin == self.reply_bin_0
+ except AssertionError:
+@@ -5570,11 +5578,11 @@
+ def setUp(self):
+ self.req_args_0 = {
+ }
+- self.req_bin_0 = '\x7f\x00\x01\x00'
++ self.req_bin_0 = b'\x7f\x00\x01\x00'
+
+
+ def testPackRequest0(self):
+- bin = apply(request.NoOperation._request.to_binary, (), self.req_args_0)
++ bin = request.NoOperation._request.to_binary(*(), **self.req_args_0)
+ try:
+ assert bin == self.req_bin_0
+ except AssertionError:
+Index: python-xlib-0.14+20091101/Xlib/error.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/Xlib/error.py 2013-09-04 08:58:21.770241489 +0200
++++ python-xlib-0.14+20091101/Xlib/error.py 2013-09-04 08:58:21.766241489 +0200
+@@ -16,11 +16,8 @@
+ # along with this program; if not, write to the Free Software
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+-# Standard modules
+-import string
+-
+ # Xlib modules
+-import X
++from Xlib import X
+
+ # Xlib.protocol modules
+ from Xlib.protocol import rq
+@@ -78,7 +75,7 @@
+ 'major_opcode', 'minor_opcode'):
+ s.append('%s = %s' % (f, self._data[f]))
+
+- return '%s: %s' % (self.__class__, string.join(s, ', '))
++ return '%s: %s' % (self.__class__, ', '.join(s))
+
+ class XResourceError(XError):
+ _fields = rq.Struct( rq.Card8('type'), # Always 0
+Index: python-xlib-0.14+20091101/Xlib/protocol/event.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/Xlib/protocol/event.py 2013-09-04 08:58:21.770241489 +0200
++++ python-xlib-0.14+20091101/Xlib/protocol/event.py 2013-09-04 08:58:21.766241489 +0200
+@@ -21,7 +21,7 @@
+ from Xlib import X
+
+ # Xlib.protocol modules
+-import rq
++from Xlib.protocol import rq
+
+
+ class AnyEvent(rq.Event):
+Index: python-xlib-0.14+20091101/Xlib/XK.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/Xlib/XK.py 2013-09-04 08:58:21.770241489 +0200
++++ python-xlib-0.14+20091101/Xlib/XK.py 2013-09-04 08:58:21.766241489 +0200
+@@ -20,7 +20,7 @@
+ # as a modular keysym definition and loading mechanism. See the keysym
+ # definition modules in the Xlib/keysymdef directory.
+
+-from X import NoSymbol
++from Xlib.X import NoSymbol
+
+ def string_to_keysym(keysym):
+ '''Return the (16 bit) numeric code of keysym.
+Index: python-xlib-0.14+20091101/Xlib/ext/randr.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/Xlib/ext/randr.py 2013-09-04 08:58:21.770241489 +0200
++++ python-xlib-0.14+20091101/Xlib/ext/randr.py 2013-09-04 08:58:21.766241489 +0200
+@@ -1139,7 +1139,7 @@
+ # Initialization #
+
+ def init(disp, info):
+- print info.__class__
++ print(info.__class__)
+
+ disp.extension_add_method('display', 'xrandr_query_version', query_version)
+ disp.extension_add_method('window', 'xrandr_select_input', select_input)
+Index: python-xlib-0.14+20091101/Xlib/ext/record.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/Xlib/ext/record.py 2013-09-04 08:58:21.770241489 +0200
++++ python-xlib-0.14+20091101/Xlib/ext/record.py 2013-09-04 08:58:21.766241489 +0200
+@@ -71,7 +71,7 @@
+ return val, len(val), None
+
+ def parse_binary_value(self, data, display, length, format):
+- return str(data), ''
++ return data, ''
+
+
+ class GetVersion(rq.ReplyRequest):
+@@ -212,7 +212,7 @@
+
+ def __init__(self, callback, *args, **keys):
+ self._callback = callback
+- apply(rq.ReplyRequest.__init__, (self, ) + args, keys)
++ rq.ReplyRequest.__init__(self, *args, **keys)
+
+ def _parse_response(self, data):
+ r, d = self._reply.parse_binary(data, self._display)
+Index: python-xlib-0.14+20091101/Xlib/xobject/colormap.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/Xlib/xobject/colormap.py 2013-09-04 08:58:21.770241489 +0200
++++ python-xlib-0.14+20091101/Xlib/xobject/colormap.py 2013-09-04 08:58:21.766241489 +0200
+@@ -18,8 +18,7 @@
+
+ from Xlib import error
+ from Xlib.protocol import request
+-
+-import resource
++from Xlib.xobject import resource
+
+ import re
+ import string
+Index: python-xlib-0.14+20091101/Xlib/threaded.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/Xlib/threaded.py 2013-09-04 08:58:21.770241489 +0200
++++ python-xlib-0.14+20091101/Xlib/threaded.py 2013-09-04 08:58:21.766241489 +0200
+@@ -16,7 +16,12 @@
+ # along with this program; if not, write to the Free Software
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+-import thread
++try:
++ # Python 3
++ import _thread as thread
++except ImportError:
++ # Python 2
++ import thread
+
+ # We change the allocate_lock function in Xlib.support.lock to
+ # return a basic Python lock, instead of the default dummy lock
+Index: python-xlib-0.14+20091101/Xlib/xobject/resource.py
+===================================================================
+--- python-xlib-0.14+20091101.orig/Xlib/xobject/resource.py 2008-03-18 21:08:27.000000000 +0100
++++ python-xlib-0.14+20091101/Xlib/xobject/resource.py 2013-09-04 08:59:14.210244027 +0200
+@@ -27,14 +27,14 @@
+ def __resource__(self):
+ return self.id
+
+- def __cmp__(self, obj):
++ def __eq__(self, obj):
+ if isinstance(obj, Resource):
+ if self.display == obj.display:
+- return cmp(self.id, obj.id)
++ return self.id == obj.id
+ else:
+- return cmp(self.display, obj.display)
++ return self.display == obj.display
+ else:
+- return cmp(id(self), id(obj))
++ return id(self) == id(obj)
+
+ def __hash__(self):
+ return int(self.id)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/python-modules-team/attachments/20130904/caa924f6/attachment-0001.sig>
More information about the Python-modules-team
mailing list