diff --git a/Lib/test/eintrdata/eintr_tester.py b/Lib/test/eintrdata/eintr_tester.py
index c619b3d..74a509b 100644
--- a/Lib/test/eintrdata/eintr_tester.py
+++ b/Lib/test/eintrdata/eintr_tester.py
@@ -380,7 +380,12 @@
         t0 = time.monotonic()
         signal.sigtimedwait([signal.SIGUSR1], self.sleep_time)
         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'),
                          'need signal.sigwaitinfo()')
diff --git a/Lib/test/test_locale.py b/Lib/test/test_locale.py
index 4dd300e..668f3cb 100644
--- a/Lib/test/test_locale.py
+++ b/Lib/test/test_locale.py
@@ -365,9 +365,13 @@
             raise unittest.SkipTest('wcscoll/wcsxfrm have known bugs')
         BaseLocalizedTest.setUp(self)
 
+    @unittest.skipIf(sys.platform.startswith('aix'),
+                     'bpo-29972: broken test on AIX')
     def test_strcoll_with_diacritic(self):
         self.assertLess(locale.strcoll('à', 'b'), 0)
 
+    @unittest.skipIf(sys.platform.startswith('aix'),
+                     'bpo-29972: broken test on AIX')
     def test_strxfrm_with_diacritic(self):
         self.assertLess(locale.strxfrm('à'), locale.strxfrm('b'))
 
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
index 7cc2e57..2155d63 100644
--- a/Lib/test/test_socket.py
+++ b/Lib/test/test_socket.py
@@ -1026,7 +1026,9 @@
         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'\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, 'a.0.0.0')
         assertInvalid(f, '1.2.3.4.5')
@@ -1081,10 +1083,12 @@
         assertInvalid('::0::')
         assertInvalid('1::abc::')
         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:7:8:')
         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',
             f('::254.42.23.64')
diff --git a/Lib/test/test_strptime.py b/Lib/test/test_strptime.py
index 2cf0926..9343180 100644
--- a/Lib/test/test_strptime.py
+++ b/Lib/test/test_strptime.py
@@ -5,6 +5,7 @@
 import locale
 import re
 import os
+import sys
 from test import support
 from datetime import date as datetime_date
 
@@ -482,6 +483,8 @@
         _ymd_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):
         # Should be able to infer date if given year, week of year (%U or %W)
         # and day of the week
diff --git a/Lib/test/test_tools/test_i18n.py b/Lib/test/test_tools/test_i18n.py
index ce6f549..5c28bae 100644
--- a/Lib/test/test_tools/test_i18n.py
+++ b/Lib/test/test_tools/test_i18n.py
@@ -1,6 +1,7 @@
 """Tests to cover the Tools/i18n package"""
 
 import os
+import sys
 import unittest
 
 from test.support.script_helper import assert_python_ok
@@ -53,7 +54,8 @@
 
             #"Plural-Forms" is optional
 
-
+    @unittest.skipIf(sys.platform.startswith('aix'),
+                     'bpo-29972: broken test on AIX')
     def test_POT_Creation_Date(self):
         """ Match the date format from xgettext for POT-Creation-Date """
         from datetime import datetime
