bpo-41074: Fix support of non-ASCII names and SQL in msilib. (GH-21126)

* Fix support of non-ASCII names in functions OpenDatabase()
  and init_database().
* Fix support of non-ASCII SQL in method Database.OpenView().
This commit is contained in:
Serhiy Storchaka 2020-06-25 11:37:12 +03:00 committed by GitHub
parent 152f0b8bee
commit 55939b1708
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 21 additions and 8 deletions

View file

@ -1,13 +1,13 @@
""" Test suite for the code in msilib """
import os
import unittest
from test.support import TESTFN, import_module, unlink
from test.support import TESTFN, FS_NONASCII, import_module, unlink
msilib = import_module('msilib')
import msilib.schema
def init_database():
path = TESTFN + '.msi'
path = TESTFN + (FS_NONASCII or '') + '.msi'
db = msilib.init_database(
path,
msilib.schema,
@ -42,6 +42,16 @@ class MsiDatabaseTestCase(unittest.TestCase):
)
self.addCleanup(unlink, db_path)
def test_view_non_ascii(self):
db, db_path = init_database()
view = db.OpenView("SELECT 'ß-розпад' FROM Property")
view.Execute(None)
record = view.Fetch()
self.assertEqual(record.GetString(1), 'ß-розпад')
view.Close()
db.Close()
self.addCleanup(unlink, db_path)
def test_summaryinfo_getproperty_issue1104(self):
db, db_path = init_database()
try: