forked from pool/python-pytest-server-fixtures
Accepting request 926333 from devel:languages:python:pytest
OBS-URL: https://build.opensuse.org/request/show/926333 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest-server-fixtures?expand=0&rev=5
This commit is contained in:
43
pytest-plugins-pr186-fix-psycopg29.patch
Normal file
43
pytest-plugins-pr186-fix-psycopg29.patch
Normal file
@@ -0,0 +1,43 @@
|
||||
From 291995b3cfe60a5b30d5c6e1f3279ea40d35c7bb Mon Sep 17 00:00:00 2001
|
||||
From: Ben Greiner <code@bnavigator.de>
|
||||
Date: Sun, 17 Oct 2021 18:57:06 +0200
|
||||
Subject: [PATCH] Don't use context manager for CREATE DATABASE
|
||||
|
||||
Psycopg 2.9 uses transaction blocks withing context managers,
|
||||
which is not allowed for CREATE DATABASE
|
||||
https://github.com/psycopg/psycopg2/issues/941
|
||||
---
|
||||
.../pytest_server_fixtures/postgres.py | 12 ++++++++----
|
||||
1 file changed, 8 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/pytest-server-fixtures/pytest_server_fixtures/postgres.py b/pytest-server-fixtures/pytest_server_fixtures/postgres.py
|
||||
index 7c6ea33..aeab36a 100644
|
||||
--- a/pytest-server-fixtures/pytest_server_fixtures/postgres.py
|
||||
+++ b/pytest-server-fixtures/pytest_server_fixtures/postgres.py
|
||||
@@ -103,18 +103,22 @@ def run_cmd(self):
|
||||
|
||||
def check_server_up(self):
|
||||
from psycopg2 import OperationalError
|
||||
+ conn = None
|
||||
try:
|
||||
print("Connecting to Postgres at localhost:{}".format(self.port))
|
||||
- with self.connect('postgres') as conn:
|
||||
- conn.set_session(autocommit=True)
|
||||
- with conn.cursor() as cursor:
|
||||
- cursor.execute("CREATE DATABASE " + self.database_name)
|
||||
+ conn = self.connect('postgres')
|
||||
+ conn.set_session(autocommit=True)
|
||||
+ with conn.cursor() as cursor:
|
||||
+ cursor.execute("CREATE DATABASE " + self.database_name)
|
||||
self.connection = self.connect(self.database_name)
|
||||
with open(self.workspace / 'db' / 'postmaster.pid', 'r') as f:
|
||||
self.pid = int(f.readline().rstrip())
|
||||
return True
|
||||
except OperationalError as e:
|
||||
print("Could not connect to test postgres: {}".format(e))
|
||||
+ finally:
|
||||
+ if conn:
|
||||
+ conn.close()
|
||||
return False
|
||||
|
||||
def connect(self, database=None):
|
||||
@@ -1,3 +1,10 @@
|
||||
-------------------------------------------------------------------
|
||||
Sun Oct 17 17:03:09 UTC 2021 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Fix compatibikity with with Psycopg 2.9
|
||||
* pytest-plugins-pr186-fix-psycopg29.patch
|
||||
* gh#man-group/pytest-plugins#186
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat May 1 10:31:41 UTC 2021 - Matej Cepl <mcepl@suse.com>
|
||||
|
||||
|
||||
@@ -23,8 +23,10 @@ Release: 0
|
||||
Summary: Extensible server fixures for py.test
|
||||
License: MIT
|
||||
Group: Development/Languages/Python
|
||||
URL: https://github.com/manahl/pytest-plugins
|
||||
URL: https://github.com/man-group/pytest-plugins
|
||||
Source: https://files.pythonhosted.org/packages/source/p/pytest-server-fixtures/pytest-server-fixtures-%{version}.tar.gz
|
||||
# PATCH-FIX-UPSTREAM pytest-plugins-pr186-fix-psycopg29.patch -- gh#man-group/pytest-plugins#186
|
||||
Patch0: https://github.com/man-group/pytest-plugins/pull/186.patch#/pytest-plugins-pr186-fix-psycopg29.patch
|
||||
BuildRequires: %{python_module setuptools-git}
|
||||
BuildRequires: %{python_module setuptools}
|
||||
BuildRequires: fdupes
|
||||
@@ -89,7 +91,7 @@ BuildRequires: xorg-x11-server
|
||||
Extensible server fixures for py.test.
|
||||
|
||||
%prep
|
||||
%setup -q -n pytest-server-fixtures-%{version}
|
||||
%autosetup -p2 -n pytest-server-fixtures-%{version}
|
||||
|
||||
# Tests requiring a server
|
||||
rm tests/integration/test_mongo_server.py
|
||||
|
||||
Reference in New Issue
Block a user