diff --git a/bob/extension/test_utils.py b/bob/extension/test_utils.py index d5620d7372d99d509aba8c6fb330a35695006a49..cb723637de76082d85fb4b7beba1b1e984c8b17b 100644 --- a/bob/extension/test_utils.py +++ b/bob/extension/test_utils.py @@ -9,7 +9,8 @@ import os import sys import nose.tools -from .utils import uniq, egrep, find_file, find_header, find_library +from .utils import uniq, egrep, find_file, find_header, find_library, \ + load_requirements def test_uniq(): @@ -87,3 +88,20 @@ def test_find_versioned_library(): for k in lib: assert k.find('boost_system') >= 0 + +def test_requirement_readout(): + + from StringIO import StringIO as stringio + + f = """ # this is my requirements file +package-a >= 0.42 +package-b +package-c +#package-e #not to be included + +package-z +""" + + result = load_requirements(stringio(f)) + expected = ['package-a >= 0.42', 'package-b', 'package-c', 'package-z'] + nose.tools.eq_(result, expected) diff --git a/bob/extension/utils.py b/bob/extension/utils.py index c6054ad261acc2a3521fcf9d9771667641be03d0..026e152924fe50bf211d40d0b4880444e6144342 100644 --- a/bob/extension/utils.py +++ b/bob/extension/utils.py @@ -325,3 +325,13 @@ def egrep(filename, expression): if p: retval.append(p) return retval + +def load_requirements(f=None): + """Loads the contents of requirements.txt on the given path. + + Defaults to "./requirements.txt" + """ + + f = f if f is not None else open("requirements.txt", 'rt') + retval = [k.strip() for k in f] + return [k for k in retval if k and k[0] != '#']