From d51734af3158ff871bef05c87de88f36a841fe02 Mon Sep 17 00:00:00 2001 From: Catalin Iacob Date: Tue, 12 Mar 2013 21:02:48 +0100 Subject: [PATCH] Fix tests for Postgres 9.3 Postgres 9.3 turns messages about implicit indexes and sequences from NOTICE to DEBUG1 so the tests fail with a default 9.3 server configuration because the client doesn't get any NOTICE. Fix it by using another query that generates a NOTICE on all versions between 7.4 and 9.3, namely asking for reindexing of a table that has no defined index. --- tests/test_async.py | 5 ++++- tests/test_connection.py | 31 ++++++++++++++++++------------- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/tests/test_async.py b/tests/test_async.py index 08113c4..ebab5e9 100755 --- a/tests/test_async.py +++ b/tests/test_async.py @@ -429,9 +429,12 @@ class AsyncTests(unittest.TestCase): def test_notices(self): del self.conn.notices[:] cur = self.conn.cursor() - cur.execute("create temp table chatty (id serial primary key);") + cur.execute("create temp table async_notices (id integer);") self.wait(cur) self.assertEqual("CREATE TABLE", cur.statusmessage) + cur.execute("reindex table async_notices;") + self.wait(cur) + self.assertEqual("REINDEX", cur.statusmessage) self.assert_(self.conn.notices) def test_async_cursor_gone(self): diff --git a/tests/test_connection.py b/tests/test_connection.py index e4b7d83..e0ffd9a 100755 --- a/tests/test_connection.py +++ b/tests/test_connection.py @@ -79,33 +79,38 @@ class ConnectionTests(unittest.TestCase): def test_notices(self): conn = self.conn cur = conn.cursor() - cur.execute("create temp table chatty (id serial primary key);") + cur.execute("create temp table notices (id integer);") self.assertEqual("CREATE TABLE", cur.statusmessage) + cur.execute("reindex table notices;") + self.assertEqual("REINDEX", cur.statusmessage) self.assert_(conn.notices) def test_notices_consistent_order(self): + num_tables = 4 + conn = self.conn cur = conn.cursor() - cur.execute("create temp table table1 (id serial); create temp table table2 (id serial);") - cur.execute("create temp table table3 (id serial); create temp table table4 (id serial);") - self.assertEqual(4, len(conn.notices)) - self.assert_('table1' in conn.notices[0]) - self.assert_('table2' in conn.notices[1]) - self.assert_('table3' in conn.notices[2]) - self.assert_('table4' in conn.notices[3]) + for i in range(num_tables): + cur.execute("create temp table order%d (id integer);" % i) + cur.execute("reindex table order%d;" % i) + + self.assertEqual(num_tables, len(conn.notices)) + for i in range(num_tables): + self.assert_('order%d' % i in conn.notices[i]) def test_notices_limited(self): conn = self.conn cur = conn.cursor() for i in range(0, 100, 10): - sql = " ".join(["create temp table table%d (id serial);" % j for j in range(i, i+10)]) + sql = " ".join(["create temp table limited%d (id integer);" % j for j in range(i, i+10)]) + sql += " ".join(["reindex table limited%d;" % j for j in range(i, i+10)]) cur.execute(sql) self.assertEqual(50, len(conn.notices)) - self.assert_('table50' in conn.notices[0], conn.notices[0]) - self.assert_('table51' in conn.notices[1], conn.notices[1]) - self.assert_('table98' in conn.notices[-2], conn.notices[-2]) - self.assert_('table99' in conn.notices[-1], conn.notices[-1]) + self.assert_('limited50' in conn.notices[0], conn.notices[0]) + self.assert_('limited51' in conn.notices[1], conn.notices[1]) + self.assert_('limited98' in conn.notices[-2], conn.notices[-2]) + self.assert_('limited99' in conn.notices[-1], conn.notices[-1]) def test_server_version(self): self.assert_(self.conn.server_version) -- 1.8.1.5