Index: Lib/test/test_sys.py =================================================================== --- Lib/test/test_sys.py (revision 64296) +++ Lib/test/test_sys.py (working copy) @@ -538,8 +538,8 @@ self.check_sizeof([], h + l + p + l) self.check_sizeof([1, 2, 3], h + l + p + l + 3*l) # unicode - import math - usize = math.log(sys.maxunicode + 1, 2) / 8 + import _testcapi + usize = _testcapi.Py_UNICODE_SIZEOF samples = [u'', u'1'*100] # we need to test for both sizes, because we don't know if the string # has been cached Index: Modules/_testcapimodule.c =================================================================== --- Modules/_testcapimodule.c (revision 64296) +++ Modules/_testcapimodule.c (working copy) @@ -967,6 +967,7 @@ PyModule_AddObject(m, "ULLONG_MAX", PyLong_FromUnsignedLongLong(PY_ULLONG_MAX)); PyModule_AddObject(m, "PY_SSIZE_T_MAX", PyInt_FromSsize_t(PY_SSIZE_T_MAX)); PyModule_AddObject(m, "PY_SSIZE_T_MIN", PyInt_FromSsize_t(PY_SSIZE_T_MIN)); + PyModule_AddObject(m, "Py_UNICODE_SIZEOF", PyInt_FromSsize_t(sizeof(Py_UNICODE))); TestError = PyErr_NewException("_testcapi.error", NULL, NULL); Py_INCREF(TestError);