Skip to content

Commit 4502e82

Browse files
authored
TST: skip decimal conversion tests on 32-bit (#15922)
xref #15865
1 parent c112252 commit 4502e82

File tree

2 files changed

+10
-21
lines changed

2 files changed

+10
-21
lines changed

pandas/tests/io/json/test_pandas.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
# -*- coding: utf-8 -*-
22
# pylint: disable-msg=W0612,E1101
33
import pytest
4-
from pandas.compat import range, lrange, StringIO, OrderedDict
4+
from pandas.compat import (range, lrange, StringIO,
5+
OrderedDict, is_platform_32bit)
56
import os
67

78
import numpy as np
@@ -380,6 +381,8 @@ def test_frame_from_json_nones(self):
380381
unser = read_json(df.to_json(), dtype=False)
381382
self.assertTrue(np.isnan(unser[2][0]))
382383

384+
@pytest.mark.skipif(is_platform_32bit(),
385+
reason="not compliant on 32-bit, xref #15865")
383386
def test_frame_to_json_float_precision(self):
384387
df = pd.DataFrame([dict(a_float=0.95)])
385388
encoded = df.to_json(double_precision=1)

pandas/tests/io/json/test_ujson.py

+6-20
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88
import simplejson as json
99
import math
1010
import pytest
11-
import platform
12-
import sys
1311
import time
1412
import datetime
1513
import calendar
@@ -25,18 +23,14 @@
2523
import pandas.util.testing as tm
2624

2725

28-
def _skip_if_python_ver(skip_major, skip_minor=None):
29-
major, minor = sys.version_info[:2]
30-
if major == skip_major and (skip_minor is None or minor == skip_minor):
31-
pytest.skip("skipping Python version %d.%d" % (major, minor))
32-
33-
3426
json_unicode = (json.dumps if compat.PY3
3527
else partial(json.dumps, encoding="utf-8"))
3628

3729

3830
class UltraJSONTests(TestCase):
3931

32+
@pytest.mark.skipif(compat.is_platform_32bit(),
33+
reason="not compliant on 32-bit, xref #15865")
4034
def test_encodeDecimal(self):
4135
sut = decimal.Decimal("1337.1337")
4236
encoded = ujson.encode(sut, double_precision=15)
@@ -153,10 +147,9 @@ def test_decimalDecodeTestPrecise(self):
153147
decoded = ujson.decode(encoded, precise_float=True)
154148
self.assertEqual(sut, decoded)
155149

150+
@pytest.mark.skipif(compat.is_platform_windows() and not compat.PY3,
151+
reason="buggy on win-64 for py2")
156152
def test_encodeDoubleTinyExponential(self):
157-
if compat.is_platform_windows() and not compat.PY3:
158-
pytest.skip("buggy on win-64 for py2")
159-
160153
num = 1e-40
161154
self.assertEqual(num, ujson.decode(ujson.encode(num)))
162155
num = 1e-100
@@ -275,8 +268,6 @@ def test_encodeUnicodeConversion2(self):
275268
self.assertEqual(dec, json.loads(enc))
276269

277270
def test_encodeUnicodeSurrogatePair(self):
278-
_skip_if_python_ver(2, 5)
279-
_skip_if_python_ver(2, 6)
280271
input = "\xf0\x90\x8d\x86"
281272
enc = ujson.encode(input)
282273
dec = ujson.decode(enc)
@@ -285,8 +276,6 @@ def test_encodeUnicodeSurrogatePair(self):
285276
self.assertEqual(dec, json.loads(enc))
286277

287278
def test_encodeUnicode4BytesUTF8(self):
288-
_skip_if_python_ver(2, 5)
289-
_skip_if_python_ver(2, 6)
290279
input = "\xf0\x91\x80\xb0TRAILINGNORMAL"
291280
enc = ujson.encode(input)
292281
dec = ujson.decode(enc)
@@ -295,8 +284,6 @@ def test_encodeUnicode4BytesUTF8(self):
295284
self.assertEqual(dec, json.loads(enc))
296285

297286
def test_encodeUnicode4BytesUTF8Highest(self):
298-
_skip_if_python_ver(2, 5)
299-
_skip_if_python_ver(2, 6)
300287
input = "\xf3\xbf\xbf\xbfTRAILINGNORMAL"
301288
enc = ujson.encode(input)
302289

@@ -462,7 +449,6 @@ def test_datetime_units(self):
462449
self.assertRaises(ValueError, ujson.encode, val, date_unit='foo')
463450

464451
def test_encodeToUTF8(self):
465-
_skip_if_python_ver(2, 5)
466452
input = "\xe6\x97\xa5\xd1\x88"
467453
enc = ujson.encode(input, ensure_ascii=False)
468454
dec = ujson.decode(enc)
@@ -696,8 +682,8 @@ def test_decodeNumericIntNeg(self):
696682
input = "-31337"
697683
self.assertEqual(-31337, ujson.decode(input))
698684

685+
@pytest.mark.skipif(compat.PY3, reason="only PY2")
699686
def test_encodeUnicode4BytesUTF8Fail(self):
700-
_skip_if_python_ver(3)
701687
input = "\xfd\xbf\xbf\xbf\xbf\xbf"
702688
try:
703689
enc = ujson.encode(input) # noqa
@@ -1029,7 +1015,7 @@ def testIntMax(self):
10291015
num = np.uint32(np.iinfo(np.uint32).max)
10301016
self.assertEqual(np.uint32(ujson.decode(ujson.encode(num))), num)
10311017

1032-
if platform.architecture()[0] != '32bit':
1018+
if not compat.is_platform_32bit():
10331019
num = np.int64(np.iinfo(np.int64).max)
10341020
self.assertEqual(np.int64(ujson.decode(ujson.encode(num))), num)
10351021

0 commit comments

Comments
 (0)