-
Notifications
You must be signed in to change notification settings - Fork 567
Closed
Description
Environment
- Python: 3.10.1
- pyodbc: built from current HEAD of master branch
- OS: macOS 11.6.2 (for client) Debian 10.2.1-6 (for server)
- DB: PostgreSQL 14.1
- driver: psqlodbcw.so 13.02.0000 (supports ODBC version 03.51)
- unixODBC 2.3.9
Issue
The test_emoticons_as_literal()
test fails for the pgtests.py
suite.
======================================================================
FAIL: test_emoticons_as_literal (__main__.PGTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/bkline/repos/pyodbc/tests3/pgtests.py", line 625, in test_emoticons_as_literal
self.assertEqual(result, v)
AssertionError: 'x � z' != 'x 🌜 z'
- x � z
? ^
+ x 🌜 z
? ^
This is similar to the failure reported for another test suite by #536. Interestingly, if I run the tests with the --ansi
flag set, this test passes, but the test_output_conversion
test fails, because apparently setting ansi=True
in the pyodbc.connect()
call results for some reason in the return value from the local convert()
function not being used (or perhaps that local function isn't invoked at all)
======================================================================
FAIL: test_output_conversion (__main__.PGTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/bkline/repos/pyodbc/tests3/pgtests.py", line 671, in test_output_conversion
self.assertEqual(value, 'X123.45X')
AssertionError: '123.45' != 'X123.45X'
- 123.45
+ X123.45X
? + +
However, if I comment out the setencoding()
call:
diff --git a/tests3/pgtests.py b/tests3/pgtests.py
index dcb03a9..5dfacc9 100755
--- a/tests3/pgtests.py
+++ b/tests3/pgtests.py
@@ -70,7 +70,7 @@ class PGTestCase(unittest.TestCase):
# I've set my test database to use UTF-8 which seems most popular.
self.cnxn.setdecoding(pyodbc.SQL_WCHAR, encoding='utf-8')
- self.cnxn.setencoding(encoding='utf-8')
+ # self.cnxn.setencoding(encoding='utf-8')
# As of psql 9.5.04 SQLGetTypeInfo returns absurdly small sizes leading
# to slow writes. Override them:
... and omit the --ansi
flag in the test suite invocation, then all the tests pass (except for the error reported by #1003).
Library: /Users/bkline/repos/pyodbc/build/lib.macosx-11-x86_64-3.10/pyodbc.cpython-310-darwin.so
/Users/bkline/repos/pyodbc/tests3 --> /Users/bkline/repos/pyodbc
/Users/bkline/repos/pyodbc/tests3/pgtests.py:519: DeprecationWarning: PyUnicode_FromUnicode(NULL, size) is deprecated; use PyUnicode_New() instead
result = str(row)
======================================================================
ERROR: test_columns (__main__.PGTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/bkline/repos/pyodbc/tests3/pgtests.py", line 575, in test_columns
assert row.precision == 3, row.precision
AttributeError: 'pyodbc.Row' object has no attribute 'precision'
----------------------------------------------------------------------
Ran 79 tests in 4.181s
FAILED (errors=1)
Metadata
Metadata
Assignees
Labels
No labels