Skip to content

Commit

Permalink
Use specific version of python for requirements (#348)
Browse files Browse the repository at this point in the history
fix #344
  • Loading branch information
artragis authored and katrinabrock committed Oct 24, 2017
1 parent ffac016 commit f9851a2
Show file tree
Hide file tree
Showing 15 changed files with 32 additions and 21 deletions.
3 changes: 1 addition & 2 deletions .travis.yml
Expand Up @@ -11,8 +11,7 @@ python:
- '3.4'
- '3.5'
install:
- travis_retry pip install -r requirements-${TRAVIS_PYTHON_VERSION}.txt --allow-external
argparse
- travis_retry pip install .
- travis_retry pip install coveralls
- travis_retry pip install coverage
script:
Expand Down
1 change: 0 additions & 1 deletion requirements-2.7.txt
@@ -1,2 +1 @@
mock
-r requirements.txt
1 change: 0 additions & 1 deletion requirements-3.2.txt
@@ -1 +0,0 @@
-r requirements.txt
1 change: 0 additions & 1 deletion requirements-3.3.txt
@@ -1 +0,0 @@
-r requirements.txt
1 change: 0 additions & 1 deletion requirements-3.4.txt
@@ -1 +0,0 @@
-r requirements.txt
1 change: 0 additions & 1 deletion requirements-3.5.txt
@@ -1 +0,0 @@
-r requirements.txt
1 change: 1 addition & 0 deletions requirements-docs.txt
@@ -1 +1,2 @@
Sphinx>=1.0.5
mock
1 change: 0 additions & 1 deletion requirements-pypy.txt

This file was deleted.

Empty file added requirements-pypy2.7.txt
Empty file.
Empty file added requirements-pypy3.2.txt
Empty file.
Empty file added requirements-pypy3.3.txt
Empty file.
Empty file added requirements-pypy3.5.txt
Empty file.
1 change: 0 additions & 1 deletion requirements-pypy3.txt

This file was deleted.

30 changes: 25 additions & 5 deletions setup.py
@@ -1,6 +1,8 @@
import os
import sys

from os.path import dirname

NAME = 'nose2'
VERSION = open('nose2/_version.py').readlines()[-1].split()[-1].strip('"\'')
PACKAGES = ['nose2', 'nose2.plugins', 'nose2.plugins.loader',
Expand Down Expand Up @@ -52,26 +54,44 @@
)


py_version = sys.version[:3]
py_version = sys.version_info

SCRIPT1 = 'nose2'
SCRIPT2 = 'nose2-%s' % (py_version,)
SCRIPT2 = 'nose2-%s.%s' % (py_version.major, py_version.minor)


def parse_requirements(requirement_file):
requirements = []
with open(requirement_file) as file_pointer:
for line in file_pointer:
if line.strip() and not line.strip().startswith('#'):
requirements.append(line.strip())
return requirements


def per_version_requirements(extra_requires_dict):
for current_file in os.listdir(dirname(__file__) or '.'): # the '.' allows tox to be run locally
if not current_file.startswith('requirements-') or 'docs' in current_file:
continue
python_version = current_file[len('requirements-'):-len('.txt')]
extra_requires_key = ':python_version == "{}"'.format(python_version)
extra_requires_dict[extra_requires_key] = parse_requirements(current_file)

try:
from setuptools import setup
except ImportError:
from distutils.core import setup
else:

REQS = ['six>=1.1']

params['entry_points'] = {
'console_scripts': [
'%s = nose2:discover' % SCRIPT1,
'%s = nose2:discover' % SCRIPT2,
],
}
params['install_requires'] = REQS
params['install_requires'] = parse_requirements('requirements.txt')
params['test_suite'] = 'unittest.collector'
params['extras_require']['doc'] = parse_requirements('requirements-docs.txt')
per_version_requirements(params)

setup(**params)
12 changes: 5 additions & 7 deletions tox.ini
Expand Up @@ -3,7 +3,7 @@ envlist=py27,py33,py34,pypy,docs,self27,cov27

# Default settings for py27, py33, py34 and pypy
[testenv]
deps=-r{toxinidir}/requirements.txt
deps=.
commands=python -m unittest discover []

[testenv:jython]
Expand All @@ -14,23 +14,21 @@ commands=unit2 discover []
[testenv:docs]
basepython=python2.7
changedir=docs
deps=-r{toxinidir}/requirements-2.7.txt
-r{toxinidir}/requirements-docs.txt
deps= .[doc]
commands=sphinx-build -b html -d {envtmpdir}/doctrees . {envtmpdir}/html

[testenv:py27]
deps=-r{toxinidir}/requirements-2.7.txt
deps={toxinidir}

[testenv:self27]
basepython=python2.7
deps=-r{toxinidir}/requirements-2.7.txt
deps= {toxinidir}
setenv=PYTHONPATH={toxinidir}
commands=python -m nose2.__main__ []

[testenv:cov27]
basepython=python2.7
deps=coverage>=3.3
-r{toxinidir}/requirements-2.7.txt
deps= {toxinidir}
commands=coverage erase
coverage run -m unittest discover []
coverage report --include=*nose2* --omit=*nose2/tests*
Expand Down

0 comments on commit f9851a2

Please sign in to comment.