Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tweak test_emoticons in mysqltests.py (#536) #532

Merged
merged 2 commits into from
Jul 31, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 11 additions & 7 deletions tests2/mysqltests.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,18 @@
usage = """\
usage: %prog [options] connection_string

Unit tests for MySQL. To use, pass a connection string as the parameter. The tests will create and drop tables t1 and
t2 as necessary. The default installation of mysql allows you to connect locally with no password and already contains
a 'test' database, so you can probably use the following. (Update the driver name as appropriate.)

./mysqltests DRIVER={MySQL};DATABASE=test
Unit tests for MySQL. To use, pass a connection string as the parameter.
The tests will create and drop tables t1 and t2 as necessary.

These tests use the pyodbc library from the build directory, not the version installed in your
Python directories. You must run `python setup.py build` before running these tests.

You can also put the connection string into a tmp/setup.cfg file like so:

[mysqltests]
connection-string=DRIVER=MySQL ODBC 8.0 Unicode Driver;charset=utf8mb4;SERVER=localhost;DATABASE=pyodbc;UID=root;PWD=rootpw

Note: Include charset=utf8mb4 in the connection string so the high-Unicode tests won't fail.
"""

import sys, os, re
Expand Down Expand Up @@ -689,9 +693,9 @@ def test_emoticons(self):
#
# http://www.fileformat.info/info/unicode/char/1f31c/index.htm

v = "x \U0001F31C z"
v = u"x \U0001F31C z"

self.cursor.execute("create table t1(s varchar(100))")
self.cursor.execute("CREATE TABLE t1(s varchar(100)) DEFAULT CHARSET=utf8mb4")
self.cursor.execute("insert into t1 values (?)", v)

result = self.cursor.execute("select s from t1").fetchone()[0]
Expand Down
13 changes: 6 additions & 7 deletions tests3/mysqltests.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,18 @@
usage = """\
usage: %prog [options] connection_string

Unit tests for MySQL. To use, pass a connection string as the parameter. The tests will create and drop tables t1 and
t2 as necessary. The default installation of mysql allows you to connect locally with no password and already contains
a 'test' database, so you can probably use the following. (Update the driver name as appropriate.)

./mysqltests DRIVER={MySQL};DATABASE=test
Unit tests for MySQL. To use, pass a connection string as the parameter.
The tests will create and drop tables t1 and t2 as necessary.

These tests use the pyodbc library from the build directory, not the version installed in your
Python directories. You must run `python setup.py build` before running these tests.

You can also put the connection string into a tmp/setup.cfg file like so:

[mysqltests]
connection-string=DRIVER={MySQL};SERVER=localhost;UID=uid;PWD=pwd;DATABASE=db
connection-string=DRIVER=MySQL ODBC 8.0 Unicode Driver;charset=utf8mb4;SERVER=localhost;DATABASE=pyodbc;UID=root;PWD=rootpw

Note: Include charset=utf8mb4 in the connection string so the high-Unicode tests won't fail.
"""

import sys, os, re
Expand Down Expand Up @@ -722,7 +721,7 @@ def test_emoticons(self):

v = "x \U0001F31C z"

self.cursor.execute("create table t1(s varchar(100))")
self.cursor.execute("CREATE TABLE t1(s varchar(100)) DEFAULT CHARSET=utf8mb4")
self.cursor.execute("insert into t1 values (?)", v)

result = self.cursor.execute("select s from t1").fetchone()[0]
Expand Down