From b353f7db79f54dc01c8bae797cb697e287b46293 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 28 Feb 2021 13:50:33 +0100 Subject: [PATCH 1/2] Test stability for Windows/32bit --- testdata/python/basic.py | 25 ++++++++++++++----------- testdata/ruby/basic_testcore.rb | 9 ++++++++- 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/testdata/python/basic.py b/testdata/python/basic.py index 97a2aed30..0e5d67fa7 100644 --- a/testdata/python/basic.py +++ b/testdata/python/basic.py @@ -1188,6 +1188,9 @@ class BasicTest(unittest.TestCase): # test client data binding to C++ objects b = pya.B() + + longint = 10000000000000000 + longint_as_int = (sys.maxsize > 5000000000 or (str(longint) == "10000000000000000" and type(longint) is int)) self.assertEqual( b.b20a( 5.0 ), False ) self.assertEqual( b.b20a( None ), True ) @@ -1195,27 +1198,27 @@ class BasicTest(unittest.TestCase): self.assertEqual( b.b20a( "hallo" ), False ) self.assertEqual( b.b20a( False ), False ) self.assertEqual( b.b20a( True ), False ) - self.assertEqual( b.b20a( 10000000000000000 ), False ) + self.assertEqual( b.b20a( longint ), False ) self.assertEqual( b.b20b( 5.0 ), True ) self.assertEqual( b.b20b( None ), False ) self.assertEqual( b.b20b( 1 ), False ) self.assertEqual( b.b20b( "hallo" ), False ) self.assertEqual( b.b20b( False ), False ) self.assertEqual( b.b20b( True ), False ) - if sys.maxsize > 5000000000: - # on 64 bit platforms this fits into a long value, therefore this test returns false: - self.assertEqual( b.b20b( 10000000000000000 ), False ) + if longint_as_int: + # this fits into a long value, therefore this test returns false: + self.assertEqual( b.b20b( longint ), False ) else: # otherwise it is converted to a double: - self.assertEqual( b.b20b( 10000000000000000 ), True ) + self.assertEqual( b.b20b( longint ), True ) self.assertEqual( b.b20c( 5.0 ), False ) self.assertEqual( b.b20c( None ), False ) - if sys.maxsize > 5000000000: - # on 64 bit platforms this fits into a long value, therefore this test returns True: - self.assertEqual( b.b20c( 10000000000000000 ), True ) + if longint_as_int: + # this fits into a long value, therefore this test returns false: + self.assertEqual( b.b20c( longint ), True ) else: # otherwise it is converted to a double and the test returns false: - self.assertEqual( b.b20c( 10000000000000000 ), False ) + self.assertEqual( b.b20c( longint ), False ) self.assertEqual( b.b20c( "hallo" ), False ) self.assertEqual( b.b20c( False ), False ) self.assertEqual( b.b20c( True ), False ) @@ -1225,14 +1228,14 @@ class BasicTest(unittest.TestCase): self.assertEqual( b.b20d( "hallo" ), True ) self.assertEqual( b.b20d( False ), False ) self.assertEqual( b.b20d( True ), False ) - self.assertEqual( b.b20d( 10000000000000000 ), False ) + self.assertEqual( b.b20d( longint ), False ) self.assertEqual( b.b20e( 5.0 ), False ) self.assertEqual( b.b20e( None ), False ) self.assertEqual( b.b20e( 1 ), False ) self.assertEqual( b.b20e( "hallo" ), False ) self.assertEqual( b.b20e( False ), True ) self.assertEqual( b.b20e( True ), True ) - self.assertEqual( b.b20e( 10000000000000000 ), False ) + self.assertEqual( b.b20e( longint ), False ) self.assertEqual( b.b21a( 50 ), "50" ) self.assertEqual( b.b21a( True ), "true" ) diff --git a/testdata/ruby/basic_testcore.rb b/testdata/ruby/basic_testcore.rb index 12b919a0f..008a064d7 100644 --- a/testdata/ruby/basic_testcore.rb +++ b/testdata/ruby/basic_testcore.rb @@ -27,6 +27,7 @@ class Basic_TestClass < TestBase a = nil GC.start + GC.start assert_equal( RBA::A::instance_count, ic0 ) a = RBA::A.new @@ -2737,13 +2738,16 @@ class Basic_TestClass < TestBase GC.start + nx = RBA::X::instances z = RBA::Z::new - nx = RBA::X::instances x = RBA::X::new("1") z.set_x(x) assert_equal(RBA::X::instances, nx + 1) + # weird. On WIN/32bit, this makes the test pass (enables GC somehow?): + puts("ANYTHING") + x = nil z.set_x(nil) GC.start @@ -2759,6 +2763,9 @@ class Basic_TestClass < TestBase assert_equal(RBA::X::instances, nx + 1) + # weird. On WIN/32bit, this makes the test pass (enables GC somehow?): + puts("ANYTHING") + # this will release the object - hence it's going to be deleted z.set_x_keep(nil) GC.start From 2a9564856b16b7d0941ccac4d675a713db5f7849 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 28 Feb 2021 23:31:06 +0100 Subject: [PATCH 2/2] Fixed Qt-binding less builds --- src/pymod/pymod.pro | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/pymod/pymod.pro b/src/pymod/pymod.pro index fecb30b33..71f8ddaaa 100644 --- a/src/pymod/pymod.pro +++ b/src/pymod/pymod.pro @@ -13,6 +13,7 @@ SUBDIRS = \ SUBDIRS += lay equals(HAVE_QTBINDINGS, "1") { + equals(HAVE_QT5, "1") { SUBDIRS += \ @@ -39,11 +40,12 @@ SUBDIRS = \ QtDesigner } - } -} -equals(HAVE_QT_UITOOLS, "1") { - SUBDIRS += QtUiTools + equals(HAVE_QT_UITOOLS, "1") { + SUBDIRS += QtUiTools + } + + } } ALL_DIRS = $$SUBDIRS