mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
gh-126742: Add _PyErr_SetLocaleString, use it for gdbm & dlerror messages (GH-126746)
- Add a helper to set an error from locale-encoded `char*` - Use the helper for gdbm & dlerror messages Co-authored-by: Victor Stinner <vstinner@python.org>
This commit is contained in:
parent
b9a492b809
commit
7303f06846
12 changed files with 176 additions and 69 deletions
|
@ -1,10 +1,11 @@
|
|||
from test import support
|
||||
from test.support import import_helper, cpython_only
|
||||
gdbm = import_helper.import_module("dbm.gnu") #skip if not supported
|
||||
import unittest
|
||||
import os
|
||||
from test.support.os_helper import TESTFN, TESTFN_NONASCII, unlink, FakePath
|
||||
import unittest
|
||||
from test import support
|
||||
from test.support import cpython_only, import_helper
|
||||
from test.support.os_helper import (TESTFN, TESTFN_NONASCII, FakePath,
|
||||
create_empty_file, temp_dir, unlink)
|
||||
|
||||
gdbm = import_helper.import_module("dbm.gnu") # skip if not supported
|
||||
|
||||
filename = TESTFN
|
||||
|
||||
|
@ -205,6 +206,16 @@ class TestGdbm(unittest.TestCase):
|
|||
self.assertNotIn(k, db)
|
||||
self.assertEqual(len(db), 0)
|
||||
|
||||
@support.run_with_locale(
|
||||
'LC_ALL',
|
||||
'fr_FR.iso88591', 'ja_JP.sjis', 'zh_CN.gbk',
|
||||
'fr_FR.utf8', 'en_US.utf8',
|
||||
'',
|
||||
)
|
||||
def test_localized_error(self):
|
||||
with temp_dir() as d:
|
||||
create_empty_file(os.path.join(d, 'test'))
|
||||
self.assertRaises(gdbm.error, gdbm.open, filename, 'r')
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue