On Mon, Feb 18, 2019 at 05:48:54PM +0100, frenzy@xxxxxxxxx wrote: > From: Petr Viktorin <pviktori@xxxxxxxxxx> > > Signed-off-by: Petr Viktorin <pviktori@xxxxxxxxxx> Applied, thanks. > --- > pylibfdt/libfdt.i | 4 ++++ > tests/pylibfdt_tests.py | 12 +++++++----- > 2 files changed, 11 insertions(+), 5 deletions(-) > > diff --git a/pylibfdt/libfdt.i b/pylibfdt/libfdt.i > index 084bc5b..4f14403 100644 > --- a/pylibfdt/libfdt.i > +++ b/pylibfdt/libfdt.i > @@ -1084,6 +1084,10 @@ typedef uint32_t fdt32_t; > /* typemap used for fdt_setprop() */ > %typemap(in) (const void *val) { > %#if PY_VERSION_HEX >= 0x03000000 > + if (!PyBytes_Check($input)) { > + SWIG_exception_fail(SWIG_TypeError, "bytes expected in method '" "$symname" > + "', argument " "$argnum"" of type '" "$type""'"); > + } > $1 = PyBytes_AsString($input); > %#else > $1 = PyString_AsString($input); /* char *str */ > diff --git a/tests/pylibfdt_tests.py b/tests/pylibfdt_tests.py > index 4761c52..e6c13ff 100644 > --- a/tests/pylibfdt_tests.py > +++ b/tests/pylibfdt_tests.py > @@ -82,6 +82,8 @@ TEST_VALUE64_1 = (TEST_VALUE64_1H << 32) | TEST_VALUE64_1L > PHANDLE_1 = 0x2000 > PHANDLE_2 = 0x2001 > > +TEST_BYTES_1 = b'hello world' > + > TEST_STRING_1 = 'hello world' > TEST_STRING_2 = 'hi world' > TEST_STRING_3 = u'unicode \u01d3' > @@ -443,21 +445,21 @@ class PyLibfdtBasicTests(unittest.TestCase): > def testSetProp(self): > """Test that we can update and create properties""" > node = self.fdt.path_offset('/subnode@1') > - self.fdt.setprop(node, 'compatible', TEST_STRING_1) > - self.assertEquals(TEST_STRING_1, self.fdt.getprop(node, 'compatible')) > + self.fdt.setprop(node, 'compatible', TEST_BYTES_1) > + self.assertEquals(TEST_BYTES_1, self.fdt.getprop(node, 'compatible')) > > # Check that this property is missing, and that we don't have space to > # add it > self.assertEquals(-libfdt.NOTFOUND, > self.fdt.getprop(node, 'missing', QUIET_NOTFOUND)) > self.assertEquals(-libfdt.NOSPACE, > - self.fdt.setprop(node, 'missing', TEST_STRING_1, > + self.fdt.setprop(node, 'missing', TEST_BYTES_1, > quiet=(libfdt.NOSPACE,))) > > # Expand the device tree so we now have room > self.fdt.resize(self.fdt.totalsize() + 50) > - self.fdt.setprop(node, 'missing', TEST_STRING_1) > - self.assertEquals(TEST_STRING_1, self.fdt.getprop(node, 'missing')) > + self.fdt.setprop(node, 'missing', TEST_BYTES_1) > + self.assertEquals(TEST_BYTES_1, self.fdt.getprop(node, 'missing')) > > def testSetPropU32(self): > """Test that we can update and create integer properties""" -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
Attachment:
signature.asc
Description: PGP signature