Issue #19535: Fixed test_docxmlrpc, test_functools, test_inspect, and
test_statistics when python is run with -OO.
diff --git a/Lib/test/test_docxmlrpc.py b/Lib/test/test_docxmlrpc.py
index 7086d9a..cb6366c 100644
--- a/Lib/test/test_docxmlrpc.py
+++ b/Lib/test/test_docxmlrpc.py
@@ -202,10 +202,12 @@
         """ Test that annotations works as expected """
         self.client.request("GET", "/")
         response = self.client.getresponse()
+        docstring = (b'' if sys.flags.optimize >= 2 else
+                     b'<dd><tt>Use&nbsp;function&nbsp;annotations.</tt></dd>')
         self.assertIn(
             (b'<dl><dt><a name="-annotation"><strong>annotation</strong></a>'
-             b'(x: int)</dt><dd><tt>Use&nbsp;function&nbsp;annotations.</tt>'
-             b'</dd></dl>\n<dl><dt><a name="-method_annotation"><strong>'
+             b'(x: int)</dt>' + docstring + b'</dl>\n'
+             b'<dl><dt><a name="-method_annotation"><strong>'
              b'method_annotation</strong></a>(x: bytes)</dt></dl>'),
             response.read())
 
diff --git a/Lib/test/test_functools.py b/Lib/test/test_functools.py
index d044237..75ae7f3 100644
--- a/Lib/test/test_functools.py
+++ b/Lib/test/test_functools.py
@@ -1126,7 +1126,8 @@
             "Simple test"
             return "Test"
         self.assertEqual(g.__name__, "g")
-        self.assertEqual(g.__doc__, "Simple test")
+        if sys.flags.optimize < 2:
+            self.assertEqual(g.__doc__, "Simple test")
 
     @unittest.skipUnless(decimal, 'requires _decimal')
     @support.cpython_only
diff --git a/Lib/test/test_inspect.py b/Lib/test/test_inspect.py
index 365f592..520bf0e 100644
--- a/Lib/test/test_inspect.py
+++ b/Lib/test/test_inspect.py
@@ -2529,7 +2529,8 @@
         # Just a quick sanity check on the output
         self.assertIn(module.__name__, output)
         self.assertIn(module.__file__, output)
-        self.assertIn(module.__cached__, output)
+        if not sys.flags.optimize:
+            self.assertIn(module.__cached__, output)
         self.assertEqual(err, b'')
 
 
diff --git a/Lib/test/test_statistics.py b/Lib/test/test_statistics.py
index ee585e2..3d30d88 100644
--- a/Lib/test/test_statistics.py
+++ b/Lib/test/test_statistics.py
@@ -8,6 +8,7 @@
 import doctest
 import math
 import random
+import sys
 import types
 import unittest
 
@@ -625,6 +626,8 @@
 
 
 class DocTests(unittest.TestCase):
+    @unittest.skipIf(sys.flags.optimize >= 2,
+                     "Docstrings are omitted with -OO and above")
     def test_doc_tests(self):
         failed, tried = doctest.testmod(statistics)
         self.assertGreater(tried, 0)
diff --git a/Misc/NEWS b/Misc/NEWS
index 8e758cb..633ef50 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -112,6 +112,9 @@
 Tests
 -----
 
+- Issue #19535: Fixed test_docxmlrpc, test_functools, test_inspect, and
+  test_statistics when python is run with -OO.
+
 - Issue #19926: Removed unneeded test_main from test_abstract_numbers.
   Patch by Vajrasky Kok.