From dbda7702343e4cae878b2c9a89c16890a09de930 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 12 Jun 2019 19:15:00 +0200 Subject: [PATCH] Skip tests relying on assertion when python is optimized issue8381 review271471002 --- trytond/tests/test_pyson.py | 139 ++++++++++++++++++++++-------------- trytond/tests/test_tools.py | 3 + 2 files changed, 87 insertions(+), 55 deletions(-) diff --git a/trytond/tests/test_pyson.py b/trytond/tests/test_pyson.py index 9b04febb64..c3c4e128ac 100644 --- a/trytond/tests/test_pyson.py +++ b/trytond/tests/test_pyson.py @@ -4,6 +4,8 @@ import unittest import datetime +import sys + from decimal import Decimal from trytond import pyson @@ -109,8 +111,9 @@ class PYSONTestCase(unittest.TestCase): 's': [True, False], }) - self.assertRaises(AssertionError, pyson.And, True) - self.assertRaises(AssertionError, pyson.And) + if not sys.flags.optimize: + self.assertRaises(AssertionError, pyson.And, True) + self.assertRaises(AssertionError, pyson.And) self.assertEqual(pyson.And(True, False).types(), set([bool])) @@ -151,8 +154,9 @@ class PYSONTestCase(unittest.TestCase): 's': [True, False], }) - self.assertRaises(AssertionError, pyson.Or, True) - self.assertRaises(AssertionError, pyson.Or) + if not sys.flags.optimize: + self.assertRaises(AssertionError, pyson.Or, True) + self.assertRaises(AssertionError, pyson.Or) self.assertEqual(pyson.Or(True, False).types(), set([bool])) @@ -194,7 +198,8 @@ class PYSONTestCase(unittest.TestCase): 's2': 'test', }) - self.assertRaises(AssertionError, pyson.Equal, 'test', True) + if not sys.flags.optimize: + self.assertRaises(AssertionError, pyson.Equal, 'test', True) self.assertEqual(pyson.Equal('test', 'test').types(), set([bool])) @@ -216,8 +221,9 @@ class PYSONTestCase(unittest.TestCase): 'e': False, }) - self.assertRaises(AssertionError, pyson.Greater, 'test', 0) - self.assertRaises(AssertionError, pyson.Greater, 1, 'test') + if not sys.flags.optimize: + self.assertRaises(AssertionError, pyson.Greater, 'test', 0) + self.assertRaises(AssertionError, pyson.Greater, 1, 'test') self.assertEqual(pyson.Greater(1, 0).types(), set([bool])) @@ -256,8 +262,9 @@ class PYSONTestCase(unittest.TestCase): 'e': False, }) - self.assertRaises(AssertionError, pyson.Less, 'test', 1) - self.assertRaises(AssertionError, pyson.Less, 0, 'test') + if not sys.flags.optimize: + self.assertRaises(AssertionError, pyson.Less, 'test', 1) + self.assertRaises(AssertionError, pyson.Less, 0, 'test') self.assertEqual(pyson.Less(0, 1).types(), set([bool])) @@ -296,7 +303,8 @@ class PYSONTestCase(unittest.TestCase): 'e': 'bar', }) - self.assertRaises(AssertionError, pyson.If, True, 'foo', False) + if not sys.flags.optimize: + self.assertRaises(AssertionError, pyson.If, True, 'foo', False) self.assertEqual(pyson.If(True, 'foo', 'bar').types(), set([str])) @@ -320,8 +328,10 @@ class PYSONTestCase(unittest.TestCase): 'd': 'default', }) - self.assertRaises(AssertionError, pyson.Get, 'test', 'foo', 'default') - self.assertRaises(AssertionError, pyson.Get, {}, 1, 'default') + if not sys.flags.optimize: + self.assertRaises( + AssertionError, pyson.Get, 'test', 'foo', 'default') + self.assertRaises(AssertionError, pyson.Get, {}, 1, 'default') self.assertEqual(pyson.Get({}, 'foo', 'default').types(), set([str])) @@ -350,8 +360,9 @@ class PYSONTestCase(unittest.TestCase): 'v': {'foo': 'bar'}, }) - self.assertRaises(AssertionError, pyson.In, object(), {}) - self.assertRaises(AssertionError, pyson.In, 'test', 'foo') + if not sys.flags.optimize: + self.assertRaises(AssertionError, pyson.In, object(), {}) + self.assertRaises(AssertionError, pyson.In, 'test', 'foo') self.assertEqual(pyson.In('foo', {}).types(), set([bool])) @@ -400,18 +411,19 @@ class PYSONTestCase(unittest.TestCase): 'dd': -7 }) - self.assertRaises(AssertionError, pyson.Date, 'test', 1, 12, -1, 12, - -7) - self.assertRaises(AssertionError, pyson.Date, 2010, 'test', 12, -1, 12, - -7) - self.assertRaises(AssertionError, pyson.Date, 2010, 1, 'test', -1, 12, - -7) - self.assertRaises(AssertionError, pyson.Date, 2010, 1, 12, 'test', 12, - -7) - self.assertRaises(AssertionError, pyson.Date, 2010, 1, 12, -1, 'test', - -7) - self.assertRaises(AssertionError, pyson.Date, 2010, 1, 12, -1, 12, - 'test') + if not sys.flags.optimize: + self.assertRaises( + AssertionError, pyson.Date, 'test', 1, 12, -1, 12, -7) + self.assertRaises( + AssertionError, pyson.Date, 2010, 'test', 12, -1, 12, -7) + self.assertRaises( + AssertionError, pyson.Date, 2010, 1, 'test', -1, 12, -7) + self.assertRaises( + AssertionError, pyson.Date, 2010, 1, 12, 'test', 12, -7) + self.assertRaises( + AssertionError, pyson.Date, 2010, 1, 12, -1, 'test', -7) + self.assertRaises( + AssertionError, pyson.Date, 2010, 1, 12, -1, 12, 'test') self.assertEqual(pyson.Date(2010, 1, 12, -1, 12, -7).types(), set([datetime.date])) @@ -464,34 +476,49 @@ class PYSONTestCase(unittest.TestCase): 'dms': 1, }) - self.assertRaises(AssertionError, pyson.DateTime, 'test', 1, 12, 10, - 30, 20, 0, -1, 12, -7, 2, 15, 30, 1) - self.assertRaises(AssertionError, pyson.DateTime, 2010, 'test', 12, 10, - 30, 20, 0, -1, 12, -7, 2, 15, 30, 1) - self.assertRaises(AssertionError, pyson.DateTime, 2010, 1, 'test', 10, - 30, 20, 0, -1, 12, -7, 2, 15, 30, 1) - self.assertRaises(AssertionError, pyson.DateTime, 2010, 1, 12, 'test', - 30, 20, 0, -1, 12, -7, 2, 15, 30, 1) - self.assertRaises(AssertionError, pyson.DateTime, 2010, 1, 12, 10, - 'test', 20, 0, -1, 12, -7, 2, 15, 30, 1) - self.assertRaises(AssertionError, pyson.DateTime, 2010, 1, 12, 10, 30, - 'test', 0, -1, 12, -7, 2, 15, 30, 1) - self.assertRaises(AssertionError, pyson.DateTime, 2010, 1, 12, 10, 30, - 20, 'test', -1, 12, -7, 2, 15, 30, 1) - self.assertRaises(AssertionError, pyson.DateTime, 2010, 1, 12, 10, 30, - 20, 0, 'test', 12, -7, 2, 15, 30, 1) - self.assertRaises(AssertionError, pyson.DateTime, 2010, 1, 12, 10, 30, - 20, 0, -1, 'test', -7, 2, 15, 30, 1) - self.assertRaises(AssertionError, pyson.DateTime, 2010, 1, 12, 10, 30, - 20, 0, -1, 12, 'test', 2, 15, 30, 1) - self.assertRaises(AssertionError, pyson.DateTime, 2010, 1, 12, 10, 30, - 20, 0, -1, 12, -7, 'test', 15, 30, 1) - self.assertRaises(AssertionError, pyson.DateTime, 2010, 1, 12, 10, 30, - 20, 0, -1, 12, -7, 2, 'test', 30, 1) - self.assertRaises(AssertionError, pyson.DateTime, 2010, 1, 12, 10, 30, - 20, 0, -1, 12, -7, 2, 15, 'test', 1) - self.assertRaises(AssertionError, pyson.DateTime, 2010, 1, 12, 10, 30, - 20, 0, -1, 12, -7, 2, 15, 30, 'test') + if not sys.flags.optimize: + self.assertRaises( + AssertionError, pyson.DateTime, + 'test', 1, 12, 10, 30, 20, 0, -1, 12, -7, 2, 15, 30, 1) + self.assertRaises( + AssertionError, pyson.DateTime, + 2010, 'test', 12, 10, 30, 20, 0, -1, 12, -7, 2, 15, 30, 1) + self.assertRaises( + AssertionError, pyson.DateTime, + 2010, 1, 'test', 10, 30, 20, 0, -1, 12, -7, 2, 15, 30, 1) + self.assertRaises( + AssertionError, pyson.DateTime, + 2010, 1, 12, 'test', 30, 20, 0, -1, 12, -7, 2, 15, 30, 1) + self.assertRaises( + AssertionError, pyson.DateTime, + 2010, 1, 12, 10, 'test', 20, 0, -1, 12, -7, 2, 15, 30, 1) + self.assertRaises( + AssertionError, pyson.DateTime, + 2010, 1, 12, 10, 30, 'test', 0, -1, 12, -7, 2, 15, 30, 1) + self.assertRaises( + AssertionError, pyson.DateTime, + 2010, 1, 12, 10, 30, 20, 'test', -1, 12, -7, 2, 15, 30, 1) + self.assertRaises( + AssertionError, pyson.DateTime, + 2010, 1, 12, 10, 30, 20, 0, 'test', 12, -7, 2, 15, 30, 1) + self.assertRaises( + AssertionError, pyson.DateTime, + 2010, 1, 12, 10, 30, 20, 0, -1, 'test', -7, 2, 15, 30, 1) + self.assertRaises( + AssertionError, pyson.DateTime, + 2010, 1, 12, 10, 30, 20, 0, -1, 12, 'test', 2, 15, 30, 1) + self.assertRaises( + AssertionError, pyson.DateTime, + 2010, 1, 12, 10, 30, 20, 0, -1, 12, -7, 'test', 15, 30, 1) + self.assertRaises( + AssertionError, pyson.DateTime, + 2010, 1, 12, 10, 30, 20, 0, -1, 12, -7, 2, 'test', 30, 1) + self.assertRaises( + AssertionError, pyson.DateTime, + 2010, 1, 12, 10, 30, 20, 0, -1, 12, -7, 2, 15, 'test', 1) + self.assertRaises( + AssertionError, pyson.DateTime, + 2010, 1, 12, 10, 30, 20, 0, -1, 12, -7, 2, 15, 30, 'test') self.assertEqual(pyson.DateTime(2010, 1, 12, 10, 30, 20, 0, -1, 12, -7, 2, 15, 30, 1).types(), set([datetime.datetime])) @@ -552,7 +579,8 @@ class PYSONTestCase(unittest.TestCase): 'v': [1, 2, 3], }) - self.assertRaises(AssertionError, pyson.Len, object()) + if not sys.flags.optimize: + self.assertRaises(AssertionError, pyson.Len, object()) self.assertEqual(pyson.Len([1, 2, 3]).types(), set([int])) @@ -581,6 +609,7 @@ class PYSONTestCase(unittest.TestCase): self.assertEqual( pyson.TimeDelta(seconds=10).types(), {datetime.timedelta}) + @unittest.skipIf(sys.flags.optimize, "assert removed by optimization") def test_TimeDelta_invalid_type(self): "Test pyson.TimeDelta invalid type" with self.assertRaises(AssertionError): diff --git a/trytond/tests/test_tools.py b/trytond/tests/test_tools.py index 7f1734af80..600b9a4774 100644 --- a/trytond/tests/test_tools.py +++ b/trytond/tests/test_tools.py @@ -4,6 +4,8 @@ import unittest import doctest +import sys + import sql import sql.operators @@ -51,6 +53,7 @@ class ToolsTestCase(unittest.TestCase): (((self.table.id >= 1) & (self.table.id <= 12)) | (self.table.id.in_([15, 18, 19, 21])))) + @unittest.skipIf(sys.flags.optimize, "assert removed by optimization") def test_reduce_ids_float(self): 'Test reduce_ids with integer as float' self.assertEqual(reduce_ids(self.table.id,