15
0

Accepting request 183187 from home:frispete:python

fix build and test rig

OBS-URL: https://build.opensuse.org/request/show/183187
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-SQLAlchemy?expand=0&rev=49
This commit is contained in:
Sascha Peilicke
2013-07-22 06:33:12 +00:00
committed by Git OBS Bridge
parent 5c1dc1d1f0
commit 2e67e33ef7
4 changed files with 151 additions and 1 deletions

View File

@@ -1,3 +1,14 @@
-------------------------------------------------------------------
Mon Jul 15 20:05:02 UTC 2013 - hpj@urpla.net
- apply patch to fix TypeError, when running python setup.py test
-------------------------------------------------------------------
Sun Jul 14 22:20:29 UTC 2013 - hpj@urpla.net
- add python-sqlite build dep for the test rig
- apply a patch, that fixes TB of the test rig
-------------------------------------------------------------------
Fri Mar 8 08:14:13 UTC 2013 - lars@linux-schulserver.de

View File

@@ -24,10 +24,13 @@ Summary: Database Abstraction Library
License: MIT
Group: Development/Languages/Python
Source0: http://pypi.python.org/packages/source/S/SQLAlchemy/SQLAlchemy-%{version}.tar.gz
Patch0: sqlalchemy-0.7-logging.patch
Patch1: sqlalchemy-0.7-setup_test.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: python-devel
BuildRequires: python-distribute
BuildRequires: python-nose
BuildRequires: python-sqlite
Provides: python-sqlalchemy = %{version}
Obsoletes: python-sqlalchemy < %{version}
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
@@ -59,6 +62,8 @@ reference for python-SQLAlchemy.
%setup -q -n SQLAlchemy-%{version}
rm -rf doc/build # Remove unnecessary scripts for building documentation
sed -i 's/\r$//' examples/dynamic_dict/dynamic_dict.py
%patch0
%patch1
%build
CFLAGS="%{optflags} -fno-strict-aliasing" python setup.py --with-cextensions build
@@ -68,7 +73,7 @@ python setup.py install --prefix=%{_prefix} --root=%{buildroot}
%if 0%{?suse_version} > 1110
%check
python setup.py test
python setup.py test -v
%endif
%files

View File

@@ -0,0 +1,116 @@
Some odd reason usual import logging doesn't work; matches import of other modules in test_execute.py
diff -ur SQLAlchemy-0.7.9.orig/test/engine/test_execute.py SQLAlchemy-0.7.9/test/engine/test_execute.py
--- test/engine/test_execute.py 2012-10-02 06:33:29.000000000 +0800
+++ test/engine/test_execute.py 2013-02-26 16:13:44.923958389 +0800
@@ -9,7 +9,7 @@
import sqlalchemy as tsa
from test.lib import testing, engines
from test.lib.engines import testing_engine
-import logging
+from logging import handlers, getLogger, DEBUG, INFO, WARN
from sqlalchemy.dialects.oracle.zxjdbc import ReturningParam
from sqlalchemy.engine import base, default
from sqlalchemy.engine.base import Connection, Engine
@@ -542,18 +542,18 @@
def setup(self):
self.eng = engines.testing_engine(options={'echo':True})
self.eng.execute("create table foo (data string)")
- self.buf = logging.handlers.BufferingHandler(100)
+ self.buf = handlers.BufferingHandler(100)
for log in [
- logging.getLogger('sqlalchemy.engine'),
- logging.getLogger('sqlalchemy.pool')
+ getLogger('sqlalchemy.engine'),
+ getLogger('sqlalchemy.pool')
]:
log.addHandler(self.buf)
def teardown(self):
self.eng.execute("drop table foo")
for log in [
- logging.getLogger('sqlalchemy.engine'),
- logging.getLogger('sqlalchemy.pool')
+ getLogger('sqlalchemy.engine'),
+ getLogger('sqlalchemy.pool')
]:
log.removeHandler(self.buf)
@@ -646,17 +646,17 @@
return engines.testing_engine(options=kw)
def setup(self):
- self.buf = logging.handlers.BufferingHandler(100)
+ self.buf = handlers.BufferingHandler(100)
for log in [
- logging.getLogger('sqlalchemy.engine'),
- logging.getLogger('sqlalchemy.pool')
+ getLogger('sqlalchemy.engine'),
+ getLogger('sqlalchemy.pool')
]:
log.addHandler(self.buf)
def teardown(self):
for log in [
- logging.getLogger('sqlalchemy.engine'),
- logging.getLogger('sqlalchemy.pool')
+ getLogger('sqlalchemy.engine'),
+ getLogger('sqlalchemy.pool')
]:
log.removeHandler(self.buf)
@@ -703,14 +703,14 @@
__requires__ = 'ad_hoc_engines',
def setup(self):
- self.level = logging.getLogger('sqlalchemy.engine').level
- logging.getLogger('sqlalchemy.engine').setLevel(logging.WARN)
- self.buf = logging.handlers.BufferingHandler(100)
- logging.getLogger('sqlalchemy.engine').addHandler(self.buf)
+ self.level = getLogger('sqlalchemy.engine').level
+ getLogger('sqlalchemy.engine').setLevel(WARN)
+ self.buf = handlers.BufferingHandler(100)
+ getLogger('sqlalchemy.engine').addHandler(self.buf)
def teardown(self):
- logging.getLogger('sqlalchemy.engine').removeHandler(self.buf)
- logging.getLogger('sqlalchemy.engine').setLevel(self.level)
+ getLogger('sqlalchemy.engine').removeHandler(self.buf)
+ getLogger('sqlalchemy.engine').setLevel(self.level)
def testing_engine(self):
e = engines.testing_engine()
@@ -727,26 +727,26 @@
eq_(e1._should_log_info(), False)
eq_(e1._should_log_debug(), False)
- eq_(e1.logger.isEnabledFor(logging.INFO), False)
- eq_(e1.logger.getEffectiveLevel(), logging.WARN)
+ eq_(e1.logger.isEnabledFor(INFO), False)
+ eq_(e1.logger.getEffectiveLevel(), WARN)
e1.echo = True
eq_(e1._should_log_info(), True)
eq_(e1._should_log_debug(), False)
- eq_(e1.logger.isEnabledFor(logging.INFO), True)
- eq_(e1.logger.getEffectiveLevel(), logging.INFO)
+ eq_(e1.logger.isEnabledFor(INFO), True)
+ eq_(e1.logger.getEffectiveLevel(), INFO)
e1.echo = 'debug'
eq_(e1._should_log_info(), True)
eq_(e1._should_log_debug(), True)
- eq_(e1.logger.isEnabledFor(logging.DEBUG), True)
- eq_(e1.logger.getEffectiveLevel(), logging.DEBUG)
+ eq_(e1.logger.isEnabledFor(DEBUG), True)
+ eq_(e1.logger.getEffectiveLevel(), DEBUG)
e1.echo = False
eq_(e1._should_log_info(), False)
eq_(e1._should_log_debug(), False)
- eq_(e1.logger.isEnabledFor(logging.INFO), False)
- eq_(e1.logger.getEffectiveLevel(), logging.WARN)
+ eq_(e1.logger.isEnabledFor(INFO), False)
+ eq_(e1.logger.getEffectiveLevel(), WARN)
def test_echo_flag_independence(self):
"""test the echo flag's independence to a specific engine."""

View File

@@ -0,0 +1,18 @@
--- setup.py~ 2013-02-08 01:10:48.000000000 +0100
+++ setup.py 2013-07-15 21:49:07.339738788 +0200
@@ -7,6 +7,15 @@ Please see README for basic installation
import os
import re
import sys
+# Hack to prevent "TypeError: 'NoneType' object is not callable" error
+# in multiprocessing/util.py _exit_function when running `python
+# setup.py test` (see
+# http://www.eby-sarna.com/pipermail/peak/2010-May/003357.html)
+try:
+ import multiprocessing
+except ImportError:
+ pass
+
from distutils.command.build_ext import build_ext
from distutils.errors import (CCompilerError, DistutilsExecError,
DistutilsPlatformError)