pytest/dcerpc.integer: force py2 long int without incompatible syntax
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Thu, 11 Oct 2018 05:31:09 +0000 (18:31 +1300)
committerNoel Power <npower@samba.org>
Thu, 25 Oct 2018 19:45:57 +0000 (21:45 +0200)
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Noel Power <npower@samba.org>
python/samba/tests/dcerpc/integer.py

index 682edc1a67ef9947a565ed1ff6d2d0c3d14f057e..42308b657ce564d5dcd9e06a8bc3488cffeed29d 100644 (file)
@@ -68,7 +68,13 @@ class IntegerTests(samba.tests.TestCase):
 
     def test_long_into_int32(self):
         s = srvsvc.NetRemoteTODInfo()
-        s.timezone = 5
+        # here we force python2 to convert its 32/64 bit python int into
+        # an arbitrarily long python long, then reduce the number back
+        # down to something that would fit in an int anyway. In a pure
+        # python2 world, you could achieve the same thing by writing
+        #    s.timezone = 5L
+        # but that is a syntax error in py3.
+        s.timezone = (5 << 65) >> 65
         self.assertEquals(s.timezone, 5)
 
     def test_larger_long_int_into_int32(self):