mirror of
https://github.com/python/cpython.git
synced 2025-10-17 12:18:23 +00:00
bpo-29972: Skip tests known to fail on AIX (#979)
* bpo-29972: Fix test_eintr on AIX On AIX, sigtimedwait(0.2) sleeps 199.8 ms, whereas the test expects 200 ms or longer. * bpo-29972: Skip some inet_pton() tests on AIX Skip some inet_pton() tests of test_socket on AIX. inet_pton() on AIX is less strict than on Linux and doesn't reject some invalid IP addresses. The unit tests test more the libc than Python itself. * bpo-29972: Skip tests known to fail on AIX * test_locale.test_strcoll_with_diacritic() * test_locale.test_strxfrm_with_diacritic() * test_strptime.test_week_of_year_and_day_of_week_calculation() * test_tools.test_POT_Creation_Date()
This commit is contained in:
parent
02e1213800
commit
5de85a1702
5 changed files with 23 additions and 5 deletions
|
@ -380,7 +380,12 @@ class SignalEINTRTest(EINTRBaseTest):
|
||||||
t0 = time.monotonic()
|
t0 = time.monotonic()
|
||||||
signal.sigtimedwait([signal.SIGUSR1], self.sleep_time)
|
signal.sigtimedwait([signal.SIGUSR1], self.sleep_time)
|
||||||
dt = time.monotonic() - t0
|
dt = time.monotonic() - t0
|
||||||
self.assertGreaterEqual(dt, self.sleep_time)
|
|
||||||
|
if sys.platform.startswith('aix'):
|
||||||
|
# On AIX, sigtimedwait(0.2) sleeps 199.8 ms
|
||||||
|
self.assertGreaterEqual(dt, self.sleep_time * 0.9)
|
||||||
|
else:
|
||||||
|
self.assertGreaterEqual(dt, self.sleep_time)
|
||||||
|
|
||||||
@unittest.skipUnless(hasattr(signal, 'sigwaitinfo'),
|
@unittest.skipUnless(hasattr(signal, 'sigwaitinfo'),
|
||||||
'need signal.sigwaitinfo()')
|
'need signal.sigwaitinfo()')
|
||||||
|
|
|
@ -365,9 +365,13 @@ class TestEnUSCollation(BaseLocalizedTest, TestCollation):
|
||||||
raise unittest.SkipTest('wcscoll/wcsxfrm have known bugs')
|
raise unittest.SkipTest('wcscoll/wcsxfrm have known bugs')
|
||||||
BaseLocalizedTest.setUp(self)
|
BaseLocalizedTest.setUp(self)
|
||||||
|
|
||||||
|
@unittest.skipIf(sys.platform.startswith('aix'),
|
||||||
|
'bpo-29972: broken test on AIX')
|
||||||
def test_strcoll_with_diacritic(self):
|
def test_strcoll_with_diacritic(self):
|
||||||
self.assertLess(locale.strcoll('à', 'b'), 0)
|
self.assertLess(locale.strcoll('à', 'b'), 0)
|
||||||
|
|
||||||
|
@unittest.skipIf(sys.platform.startswith('aix'),
|
||||||
|
'bpo-29972: broken test on AIX')
|
||||||
def test_strxfrm_with_diacritic(self):
|
def test_strxfrm_with_diacritic(self):
|
||||||
self.assertLess(locale.strxfrm('à'), locale.strxfrm('b'))
|
self.assertLess(locale.strxfrm('à'), locale.strxfrm('b'))
|
||||||
|
|
||||||
|
|
|
@ -1026,7 +1026,9 @@ class GeneralModuleTests(unittest.TestCase):
|
||||||
self.assertEqual(b'\xaa\xaa\xaa\xaa', f('170.170.170.170'))
|
self.assertEqual(b'\xaa\xaa\xaa\xaa', f('170.170.170.170'))
|
||||||
self.assertEqual(b'\x01\x02\x03\x04', f('1.2.3.4'))
|
self.assertEqual(b'\x01\x02\x03\x04', f('1.2.3.4'))
|
||||||
self.assertEqual(b'\xff\xff\xff\xff', f('255.255.255.255'))
|
self.assertEqual(b'\xff\xff\xff\xff', f('255.255.255.255'))
|
||||||
assertInvalid(f, '0.0.0.')
|
# bpo-29972: inet_pton() doesn't fail on AIX
|
||||||
|
if not sys.platform.startswith('aix'):
|
||||||
|
assertInvalid(f, '0.0.0.')
|
||||||
assertInvalid(f, '300.0.0.0')
|
assertInvalid(f, '300.0.0.0')
|
||||||
assertInvalid(f, 'a.0.0.0')
|
assertInvalid(f, 'a.0.0.0')
|
||||||
assertInvalid(f, '1.2.3.4.5')
|
assertInvalid(f, '1.2.3.4.5')
|
||||||
|
@ -1081,10 +1083,12 @@ class GeneralModuleTests(unittest.TestCase):
|
||||||
assertInvalid('::0::')
|
assertInvalid('::0::')
|
||||||
assertInvalid('1::abc::')
|
assertInvalid('1::abc::')
|
||||||
assertInvalid('1::abc::def')
|
assertInvalid('1::abc::def')
|
||||||
assertInvalid('1:2:3:4:5:6:')
|
|
||||||
assertInvalid('1:2:3:4:5:6')
|
assertInvalid('1:2:3:4:5:6')
|
||||||
assertInvalid('1:2:3:4:5:6:7:8:')
|
|
||||||
assertInvalid('1:2:3:4:5:6:7:8:0')
|
assertInvalid('1:2:3:4:5:6:7:8:0')
|
||||||
|
# bpo-29972: inet_pton() doesn't fail on AIX
|
||||||
|
if not sys.platform.startswith('aix'):
|
||||||
|
assertInvalid('1:2:3:4:5:6:')
|
||||||
|
assertInvalid('1:2:3:4:5:6:7:8:')
|
||||||
|
|
||||||
self.assertEqual(b'\x00' * 12 + b'\xfe\x2a\x17\x40',
|
self.assertEqual(b'\x00' * 12 + b'\xfe\x2a\x17\x40',
|
||||||
f('::254.42.23.64')
|
f('::254.42.23.64')
|
||||||
|
|
|
@ -5,6 +5,7 @@ import time
|
||||||
import locale
|
import locale
|
||||||
import re
|
import re
|
||||||
import os
|
import os
|
||||||
|
import sys
|
||||||
from test import support
|
from test import support
|
||||||
from datetime import date as datetime_date
|
from datetime import date as datetime_date
|
||||||
|
|
||||||
|
@ -482,6 +483,8 @@ class CalculationTests(unittest.TestCase):
|
||||||
_ymd_excluded = ()
|
_ymd_excluded = ()
|
||||||
_formats_excluded = ()
|
_formats_excluded = ()
|
||||||
|
|
||||||
|
@unittest.skipIf(sys.platform.startswith('aix'),
|
||||||
|
'bpo-29972: broken test on AIX')
|
||||||
def test_week_of_year_and_day_of_week_calculation(self):
|
def test_week_of_year_and_day_of_week_calculation(self):
|
||||||
# Should be able to infer date if given year, week of year (%U or %W)
|
# Should be able to infer date if given year, week of year (%U or %W)
|
||||||
# and day of the week
|
# and day of the week
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
"""Tests to cover the Tools/i18n package"""
|
"""Tests to cover the Tools/i18n package"""
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
import sys
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
from test.support.script_helper import assert_python_ok
|
from test.support.script_helper import assert_python_ok
|
||||||
|
@ -53,7 +54,8 @@ class Test_pygettext(unittest.TestCase):
|
||||||
|
|
||||||
#"Plural-Forms" is optional
|
#"Plural-Forms" is optional
|
||||||
|
|
||||||
|
@unittest.skipIf(sys.platform.startswith('aix'),
|
||||||
|
'bpo-29972: broken test on AIX')
|
||||||
def test_POT_Creation_Date(self):
|
def test_POT_Creation_Date(self):
|
||||||
""" Match the date format from xgettext for POT-Creation-Date """
|
""" Match the date format from xgettext for POT-Creation-Date """
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue