diff options
author | Jon Dufresne <jon.dufresne@gmail.com> | 2017-12-03 18:47:19 -0800 |
---|---|---|
committer | Jon Dufresne <jon.dufresne@gmail.com> | 2017-12-10 10:55:58 -0800 |
commit | 389f6c08d9536060184bfd5c8ea2491a4a91c2fb (patch) | |
tree | f85e494ab9c681494616ec6bb9b9d01852c62f90 /tests | |
parent | c86e682153f4cb8d99e490b2af964f3f11e3489f (diff) | |
download | psycopg2-389f6c08d9536060184bfd5c8ea2491a4a91c2fb.tar.gz |
Avoid installing tests to site-packages
For library end users, there is no need to install tests alongside the
package itself. This keeps the tests available for development without
adding extra packages to user's site-packages directory. Reduces the
size of the installed package. Avoids accidental execution of test code
by an installed package.
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/test_async.py | 5 | ||||
-rwxr-xr-x | tests/test_copy.py | 5 | ||||
-rwxr-xr-x | tests/test_cursor.py | 2 | ||||
-rwxr-xr-x | tests/test_errcodes.py | 4 | ||||
-rwxr-xr-x | tests/test_extras_dictcursor.py | 2 | ||||
-rwxr-xr-x | tests/test_module.py | 3 | ||||
-rwxr-xr-x | tests/test_quote.py | 2 | ||||
-rwxr-xr-x | tests/test_sql.py | 4 | ||||
-rwxr-xr-x | tests/test_types_basic.py | 6 | ||||
-rwxr-xr-x | tests/test_types_extras.py | 16 | ||||
-rw-r--r-- | tests/testutils.py | 17 |
11 files changed, 40 insertions, 26 deletions
diff --git a/tests/test_async.py b/tests/test_async.py index 6469a25..ce5e9b1 100755 --- a/tests/test_async.py +++ b/tests/test_async.py @@ -30,9 +30,8 @@ import psycopg2 from psycopg2 import extensions as ext import time -import StringIO -from .testutils import ConnectingTestCase +from .testutils import ConnectingTestCase, StringIO class PollableStub(object): @@ -241,7 +240,7 @@ class AsyncTests(ConnectingTestCase): # copy should fail self.assertRaises(psycopg2.ProgrammingError, cur.copy_from, - StringIO.StringIO("1\n3\n5\n\\.\n"), "table1") + StringIO("1\n3\n5\n\\.\n"), "table1") def test_lobject_while_async(self): # large objects should be prohibited diff --git a/tests/test_copy.py b/tests/test_copy.py index d8eba08..b16e1dd 100755 --- a/tests/test_copy.py +++ b/tests/test_copy.py @@ -26,9 +26,8 @@ import sys import string import unittest from .testutils import (ConnectingTestCase, decorate_all_tests, - skip_before_postgres, slow) -from cStringIO import StringIO -from itertools import cycle, izip + skip_before_postgres, slow, StringIO) +from itertools import cycle from subprocess import Popen, PIPE import psycopg2 diff --git a/tests/test_cursor.py b/tests/test_cursor.py index 840819a..ec76918 100755 --- a/tests/test_cursor.py +++ b/tests/test_cursor.py @@ -29,7 +29,7 @@ import psycopg2.extensions import unittest from .testutils import (ConnectingTestCase, skip_before_postgres, skip_if_no_getrefcount, slow, skip_if_no_superuser, - skip_if_windows) + skip_if_windows, unicode) import psycopg2.extras diff --git a/tests/test_errcodes.py b/tests/test_errcodes.py index 6775d83..5ce2cef 100755 --- a/tests/test_errcodes.py +++ b/tests/test_errcodes.py @@ -23,7 +23,7 @@ # License for more details. import unittest -from .testutils import ConnectingTestCase, slow +from .testutils import ConnectingTestCase, slow, reload try: reload @@ -52,7 +52,7 @@ class ErrocodeTests(ConnectingTestCase): except Exception as e: errs.append(e) - for __ in xrange(MAX_CYCLES): + for __ in range(MAX_CYCLES): reload(errorcodes) (t1, t2) = (Thread(target=f), Thread(target=f)) (t1.start(), t2.start()) diff --git a/tests/test_extras_dictcursor.py b/tests/test_extras_dictcursor.py index 5a726ec..75c2277 100755 --- a/tests/test_extras_dictcursor.py +++ b/tests/test_extras_dictcursor.py @@ -390,7 +390,7 @@ class NamedTupleCursorTest(ConnectingTestCase): recs.extend(curs.fetchmany(5)) recs.append(curs.fetchone()) recs.extend(curs.fetchall()) - self.assertEqual(range(10), [t.i for t in recs]) + self.assertEqual(list(range(10)), [t.i for t in recs]) def test_named_fetchone(self): curs = self.conn.cursor('tmp') diff --git a/tests/test_module.py b/tests/test_module.py index e1c065d..ddd6b02 100755 --- a/tests/test_module.py +++ b/tests/test_module.py @@ -28,7 +28,7 @@ from subprocess import Popen import unittest from .testutils import (skip_before_postgres, - ConnectingTestCase, skip_copy_if_green, slow) + ConnectingTestCase, skip_copy_if_green, slow, StringIO) import psycopg2 @@ -217,7 +217,6 @@ class ExceptionsTestCase(ConnectingTestCase): @skip_copy_if_green def test_diagnostics_copy(self): - from StringIO import StringIO f = StringIO() cur = self.conn.cursor() try: diff --git a/tests/test_quote.py b/tests/test_quote.py index a79bb56..fad6cee 100755 --- a/tests/test_quote.py +++ b/tests/test_quote.py @@ -25,7 +25,7 @@ import sys from . import testutils import unittest -from .testutils import ConnectingTestCase +from .testutils import ConnectingTestCase, unichr import psycopg2 import psycopg2.extensions diff --git a/tests/test_sql.py b/tests/test_sql.py index 6cb978f..1c20997 100755 --- a/tests/test_sql.py +++ b/tests/test_sql.py @@ -23,10 +23,10 @@ # License for more details. import datetime as dt -from cStringIO import StringIO import unittest from .testutils import (ConnectingTestCase, - skip_before_postgres, skip_before_python, skip_copy_if_green) + skip_before_postgres, skip_before_python, skip_copy_if_green, + unicode, StringIO) import psycopg2 from psycopg2 import sql diff --git a/tests/test_types_basic.py b/tests/test_types_basic.py index 6e34a47..a93265d 100755 --- a/tests/test_types_basic.py +++ b/tests/test_types_basic.py @@ -28,7 +28,7 @@ import sys from functools import wraps from . import testutils import unittest -from .testutils import ConnectingTestCase, decorate_all_tests +from .testutils import ConnectingTestCase, decorate_all_tests, long import psycopg2 @@ -54,8 +54,8 @@ class TypesBasicTests(ConnectingTestCase): def testNumber(self): s = self.execute("SELECT %s AS foo", (1971,)) self.failUnless(s == 1971, "wrong integer quoting: " + str(s)) - s = self.execute("SELECT %s AS foo", (1971L,)) - self.failUnless(s == 1971L, "wrong integer quoting: " + str(s)) + s = self.execute("SELECT %s AS foo", (long(1971),)) + self.failUnless(s == long(1971), "wrong integer quoting: " + str(s)) def testBoolean(self): x = self.execute("SELECT %s as foo", (False,)) diff --git a/tests/test_types_extras.py b/tests/test_types_extras.py index abe0610..5cb1353 100755 --- a/tests/test_types_extras.py +++ b/tests/test_types_extras.py @@ -181,7 +181,7 @@ class HstoreTestCase(ConnectingTestCase): kk = m.group(1).split(b", ") vv = m.group(2).split(b", ") - ii = zip(kk, vv) + ii = list(zip(kk, vv)) ii.sort() self.assertEqual(len(ii), len(o)) @@ -306,7 +306,7 @@ class HstoreTestCase(ConnectingTestCase): ok({}) ok({'a': 'b', 'c': None}) - ab = map(chr, range(32, 128)) + ab = list(map(chr, range(32, 128))) ok(dict(zip(ab, ab))) ok({''.join(ab): ''.join(ab)}) @@ -314,7 +314,7 @@ class HstoreTestCase(ConnectingTestCase): if sys.version_info[0] < 3: ab = map(chr, range(32, 127) + range(160, 255)) else: - ab = bytes(range(32, 127) + range(160, 255)).decode('latin1') + ab = bytes(list(range(32, 127)) + list(range(160, 255))).decode('latin1') ok({''.join(ab): ''.join(ab)}) ok(dict(zip(ab, ab))) @@ -371,7 +371,7 @@ class HstoreTestCase(ConnectingTestCase): ds = [{}, {'a': 'b', 'c': None}] - ab = map(chr, range(32, 128)) + ab = list(map(chr, range(32, 128))) ds.append(dict(zip(ab, ab))) ds.append({''.join(ab): ''.join(ab)}) @@ -379,7 +379,7 @@ class HstoreTestCase(ConnectingTestCase): if sys.version_info[0] < 3: ab = map(chr, range(32, 127) + range(160, 255)) else: - ab = bytes(range(32, 127) + range(160, 255)).decode('latin1') + ab = bytes(list(range(32, 127)) + list(range(160, 255))).decode('latin1') ds.append({''.join(ab): ''.join(ab)}) ds.append(dict(zip(ab, ab))) @@ -514,7 +514,7 @@ class AdaptTypeTestCase(ConnectingTestCase): '@,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,[,"\\\\",],' '^,_,`,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,{,|,},' '~,\x7f)', - map(chr, range(1, 128))) + list(map(chr, range(1, 128)))) ok('(,"\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f' '\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !' '""#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]' @@ -1641,8 +1641,8 @@ class RangeCasterTestCase(ConnectingTestCase): bounds = ['[)', '(]', '()', '[]'] ranges = [TextRange(low, up, bounds[i % 4]) for i, (low, up) in enumerate(zip( - [None] + map(chr, range(1, 128)), - map(chr, range(1, 128)) + [None], + [None] + list(map(chr, range(1, 128))), + list(map(chr, range(1, 128))) + [None], ))] ranges.append(TextRange()) ranges.append(TextRange(empty=True)) diff --git a/tests/testutils.py b/tests/testutils.py index e1744c8..d70e091 100644 --- a/tests/testutils.py +++ b/tests/testutils.py @@ -31,6 +31,23 @@ import unittest from functools import wraps from .testconfig import dsn, repl_dsn +# Python 2/3 compatibility + +if sys.version_info[0] == 2: + # Python 2 + from StringIO import StringIO + long = long + reload = reload + unichr = unichr + unicode = unicode +else: + # Python 3 + from io import StringIO + from importlib import reload + long = int + unichr = chr + unicode = str + # Silence warnings caused by the stubbornness of the Python unittest # maintainers |