Author: Armin Rigo <ar...@tunes.org> Branch: int-float-list-strategy Changeset: r78387:75683789a8bd Date: 2015-07-01 19:24 +0200 http://bitbucket.org/pypy/pypy/changeset/75683789a8bd/
Log: more tests diff --git a/pypy/objspace/std/test/test_liststrategies.py b/pypy/objspace/std/test/test_liststrategies.py --- a/pypy/objspace/std/test/test_liststrategies.py +++ b/pypy/objspace/std/test/test_liststrategies.py @@ -1,4 +1,5 @@ import sys +import py from pypy.objspace.std.listobject import ( W_ListObject, EmptyListStrategy, ObjectListStrategy, IntegerListStrategy, FloatListStrategy, BytesListStrategy, RangeListStrategy, @@ -166,7 +167,6 @@ assert isinstance(l.strategy, IntegerListStrategy) def test_list_empty_after_delete(self): - import py py.test.skip("return to emptyliststrategy is not supported anymore") l = W_ListObject(self.space, [self.space.wrap(3)]) assert isinstance(l.strategy, IntegerListStrategy) @@ -733,6 +733,31 @@ list_copy[0] = 42 assert list_orig == [1, 2, 3] + def test_int_or_float_special_nan(self): + from rpython.rlib import longlong2float, rarithmetic + space = self.space + ll = rarithmetic.r_longlong(0xfffffffe12345678 - 2**64) + specialnan = longlong2float.longlong2float(ll) + w_l = W_ListObject(space, [space.wrap(1), space.wrap(specialnan)]) + assert isinstance(w_l.strategy, ObjectListStrategy) + + def test_int_or_float_int_overflow(self): + if sys.maxint == 2147483647: + py.test.skip("only on 64-bit") + space = self.space + ok1 = 2**31 - 1 + ok2 = -2**31 + ovf1 = ok1 + 1 + ovf2 = ok2 - 1 + w_l = W_ListObject(space, [space.wrap(1.2), space.wrap(ovf1)]) + assert isinstance(w_l.strategy, ObjectListStrategy) + w_l = W_ListObject(space, [space.wrap(1.2), space.wrap(ovf2)]) + assert isinstance(w_l.strategy, ObjectListStrategy) + w_l = W_ListObject(space, [space.wrap(1.2), space.wrap(ok1)]) + assert isinstance(w_l.strategy, IntOrFloatListStrategy) + w_l = W_ListObject(space, [space.wrap(1.2), space.wrap(ok2)]) + assert isinstance(w_l.strategy, IntOrFloatListStrategy) + def test_int_or_float(self): space = self.space w_l = W_ListObject(space, [space.wrap(1), space.wrap(2.3)]) _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit