From ddefe6cf8c84a91c089100d34478b6346ed115ea Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Mon, 21 Aug 2017 17:55:26 -0400 Subject: - try to get PG database create to be more reliable Change-Id: I9c9d101547f4484af447db924dc06afd0392a03e --- lib/sqlalchemy/testing/provision.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'lib/sqlalchemy/testing/provision.py') diff --git a/lib/sqlalchemy/testing/provision.py b/lib/sqlalchemy/testing/provision.py index ae82a2e89..7ea6a569c 100644 --- a/lib/sqlalchemy/testing/provision.py +++ b/lib/sqlalchemy/testing/provision.py @@ -167,7 +167,7 @@ def _pg_create_db(cfg, eng, ident): except Exception: pass currentdb = conn.scalar("select current_database()") - for attempt in range(3): + for attempt in range(10): try: conn.execute( "CREATE DATABASE %s TEMPLATE %s" % (ident, currentdb)) @@ -178,6 +178,15 @@ def _pg_create_db(cfg, eng, ident): else: raise else: + time.sleep(.5) + result = conn.execute( + "SELECT datname FROM pg_database " + "where datname=%s" % ident) + row = result.first() + if not row: + raise Exception( + "Database named %s did not get " + "created, in engine %r" % (ident, eng.url)) break -- cgit v1.2.1