Changeset 690 for trunk


Ignore:
Timestamp:
Jan 2, 2016, 6:25:14 PM (4 years ago)
Author:
cito
Message:

Amend tests so that they can run with PostgreSQL < 9.0

Note that we do not need to make these amendments in the trunk,
because we assume PostgreSQL >= 9.0 for PyGreSQL version 5.0.

Location:
trunk/module
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/module/setup.py

    r654 r690  
    7777            part = int(part)
    7878        parts.append(part)
    79     return tuple(parts or [8])
     79    return tuple(parts or [9])
    8080
    8181
     
    130130        if self.default_vars:
    131131            define_macros.append(('DEFAULT_VARS', None))
    132         if self.escaping_funcs:
     132        if self.escaping_funcs and pg_version[0] >= 9:
    133133            define_macros.append(('ESCAPING_FUNCS', None))
    134134        if sys.platform == 'win32':
    135135            bits = platform.architecture()[0]
    136             if bits == '64bit': # we need to find libpq64
     136            if bits == '64bit':  # we need to find libpq64
    137137                for path in os.environ['PATH'].split(os.pathsep) + [
    138138                        r'C:\Program Files\PostgreSQL\libpq64']:
     
    151151                    if include_dir not in include_dirs:
    152152                        include_dirs.insert(1, include_dir)
    153                     libraries[0] += 'dll' # libpqdll instead of libpq
     153                    libraries[0] += 'dll'  # libpqdll instead of libpq
    154154                    break
    155155            compiler = self.get_compiler()
    156             if compiler == 'mingw32': # MinGW
    157                 if bits == '64bit': # needs MinGW-w64
     156            if compiler == 'mingw32':  # MinGW
     157                if bits == '64bit':  # needs MinGW-w64
    158158                    define_macros.append(('MS_WIN64', None))
    159             elif compiler == 'msvc': # Microsoft Visual C++
     159            elif compiler == 'msvc':  # Microsoft Visual C++
    160160                libraries[0] = 'lib' + libraries[0]
    161161
     
    165165    version=version,
    166166    description="Python PostgreSQL Interfaces",
    167     long_description=__doc__.split('\n\n', 2)[1], # first passage
     167    long_description=__doc__.split('\n\n', 2)[1],  # first passage
    168168    keywords="pygresql postgresql database api dbapi",
    169169    author="D'Arcy J. M. Cain",
  • trunk/module/tests/test_classic_connection.py

    r680 r690  
    761761        self.assertEqual(query("select 1, $1::integer", (2,)
    762762            ).getresult(), [(1, 2)])
    763         self.assertEqual(query("select 1 union select $1", (2,)
     763        self.assertEqual(query("select 1 union select $1::integer", (2,)
    764764            ).getresult(), [(1,), (2,)])
    765765        self.assertEqual(query("select $1::integer+$2", (1, 2)
     
    12241224            self.assertEqual(r[2], '')
    12251225            self.assertIsNone(self.c.getnotify())
    1226             try:
    1227                 query("notify test_notify, 'test_payload'")
    1228             except pg.ProgrammingError:  # PostgreSQL < 9.0
    1229                 pass
    1230             else:
    1231                 r = getnotify()
    1232                 self.assertTrue(isinstance(r, tuple))
    1233                 self.assertEqual(len(r), 3)
    1234                 self.assertIsInstance(r[0], str)
    1235                 self.assertIsInstance(r[1], int)
    1236                 self.assertIsInstance(r[2], str)
    1237                 self.assertEqual(r[0], 'test_notify')
    1238                 self.assertEqual(r[2], 'test_payload')
    1239                 self.assertIsNone(getnotify())
     1226            query("notify test_notify, 'test_payload'")
     1227            r = getnotify()
     1228            self.assertTrue(isinstance(r, tuple))
     1229            self.assertEqual(len(r), 3)
     1230            self.assertIsInstance(r[0], str)
     1231            self.assertIsInstance(r[1], int)
     1232            self.assertIsInstance(r[2], str)
     1233            self.assertEqual(r[0], 'test_notify')
     1234            self.assertEqual(r[2], 'test_payload')
     1235            self.assertIsNone(getnotify())
    12401236        finally:
    12411237            query('unlisten test_notify')
     
    13531349        de_locales = 'de', 'de_DE', 'de_DE.utf8', 'de_DE.UTF-8'
    13541350        de_money = ('34,25€', '34,25 €', '€34,25' '€ 34,25',
    1355             '34,25 EUR', '34,25 Euro', '34,25 DM')
     1351            'EUR34,25', 'EUR 34,25', '34,25 EUR', '34,25 Euro', '34,25 DM')
    13561352        # first try with English localization (using the point)
    13571353        for lc in en_locales:
  • trunk/module/tests/test_classic_dbwrapper.py

    r680 r690  
    299299        query('set client_encoding=utf8')
    300300        query('set standard_conforming_strings=on')
     301        query("set lc_monetary='C'")
     302        query("set datestyle='ISO,YMD'")
    301303        query('set bytea_output=hex')
    302         query("set lc_monetary='C'")
    303304
    304305    def tearDown(self):
     
    756757        insert = self.db.insert
    757758        query = self.db.query
     759        server_version = self.db.server_version
    758760        for table in ('insert_test_table', 'test table for insert'):
    759761            query('drop table if exists "%s"' % table)
     
    818820                expect = data.copy()
    819821                expect.update(change)
     822                if data.get('m') and server_version < 910000:
     823                    # PostgreSQL < 9.1 cannot directly convert numbers to money
     824                    data['m'] = "'%s'::money" % data['m']
    820825                self.assertEqual(insert(table, data), data)
    821826                self.assertIn(oid_table, data)
  • trunk/module/tests/test_dbapi20.py

    r683 r690  
    248248        try:
    249249            cur = con.cursor()
     250            cur.execute("set datestyle to 'iso'")
    250251            cur.execute("create table %s ("
    251252                "stringtest varchar,"
Note: See TracChangeset for help on using the changeset viewer.