A new user interface for you!

File python-nose.spec of Package python-nose

# spec file for package python-nose
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/

Name:           python-nose
Version:        1.3.6
Release:        0
Url:            http://readthedocs.org/docs/nose/
Summary:        Nose extends unittest to make testing easier
License:        LGPL-2.0+
Group:          Development/Languages/Python
Source:         http://pypi.python.org/packages/source/n/nose/nose-%{version}.tar.gz
# PATCH-FIX-OPENSUSE speilicke@suse.com -- Drop time-dependent tests:
Patch0:         nose-drop-timing-dependent-tests.patch
# PATCH-FIX-OPENSUSE mjura@suse.com -- Fix skip test plugin
# Since we are using python 2.6 we have to revert upstream commit 
# https://github.com/nose-devs/nose/commit/395a1bff9919f083eba9eb45800692e8ab55728c
Patch1:         nose-fix-skip-test-plugin.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  python-devel
BuildRequires:  python-setuptools
BuildRequires:  python-xml
#Testsuite build requirements:
BuildRequires:  python-coverage
Requires:       python-setuptools
Requires:       python-xml
Requires(post): update-alternatives
Requires(postun): update-alternatives
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
BuildArch:      noarch

Nose extends the test loading and running features of unittest, making
it easier to write, find and run tests.

By default, nose will run tests in files or directories under the current
working directory whose names include "test" or "Test" at a word boundary
(like "test_this" or "functional_test" or "TestClass" but not
"libtest"). Test output is similar to that of unittest, but also includes
captured stdout output from failing tests, for easy print-style debugging.

These features, and many more, are customizable through the use of
plugins. Plugins included with nose provide support for doctest, code
coverage and profiling, flexible attribute-based test selection,
output capture and more.

%setup -q -n nose-%{version}
%patch0 -p1
%patch1 -p2
sed -i "s|man/man1|share/man/man1|" setup.py # Fix man-page install path

python setup.py build

python setup.py install --prefix=%{_prefix} --root=%{buildroot}
rm %{buildroot}%{_bindir}/nosetests 
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
touch %{buildroot}%{_sysconfdir}/alternatives/nosetests
ln -sf %{_sysconfdir}/alternatives/nosetests %{buildroot}/%{_bindir}/nosetests
mv %{buildroot}%{_mandir}/man1/nosetests.1 %{buildroot}%{_mandir}/man1/nosetests-%{py_ver}.1
touch %{buildroot}%{_sysconfdir}/alternatives/nosetests.1.gz
ln -sf %{_sysconfdir}/alternatives/nosetests.1.gz %{buildroot}%{_mandir}/man1/nosetests.1.gz

python setup.py test

update-alternatives \
    --install %{_bindir}/nosetests nosetests %{_bindir}/nosetests-%{py_ver} 20 \
    --slave %{_mandir}/man1/nosetests.1.gz nosetests.1 %{_mandir}/man1/nosetests-%{py_ver}.1.gz

if [ $1 -eq 0 ] ; then
    update-alternatives --remove nosetests %{_bindir}/nosetests-%{py_ver}

%doc NEWS README.txt lgpl.txt
%ghost %{_sysconfdir}/alternatives/nosetests
%ghost %{_sysconfdir}/alternatives/nosetests.1.gz