Date: Tue, 4 Mar 2014 10:17:30 +0000 (UTC) From: Ruslan Makhmatkhanov <rm@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r347005 - in head/math/py-pandas: . files Message-ID: <201403041017.s24AHUTI041832@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: rm Date: Tue Mar 4 10:17:29 2014 New Revision: 347005 URL: http://svnweb.freebsd.org/changeset/ports/347005 QAT: https://qat.redports.org/buildarchive/r347005/ Log: math/py-pandas: update to 0.13.1 - update to 0.13.1 - remove lang/cython from BUILD_DEPENDS now that distfile is fixed - include RUN_DEPENDS in TEST_DEPENDS - add devel/py-boto to TEST_DEPENDS for completeness with pkg-message - remove math/py-statsmodels from TEST_DEPENDS to break circular dependency - Fix regression-test target to work with non-GitHub distfile which omits the ci/ directory. Borrow the print_skipped.py script to do this. PR: 186802 Submitted by: John W. O'Brien <john@saltant.com> (maintainer) Added: head/math/py-pandas/files/print_skipped.py (contents, props changed) Modified: head/math/py-pandas/Makefile head/math/py-pandas/distinfo Modified: head/math/py-pandas/Makefile ============================================================================== --- head/math/py-pandas/Makefile Tue Mar 4 10:16:51 2014 (r347004) +++ head/math/py-pandas/Makefile Tue Mar 4 10:17:29 2014 (r347005) @@ -1,7 +1,7 @@ # $FreeBSD$ PORTNAME= pandas -PORTVERSION= 0.13.0 +PORTVERSION= 0.13.1 CATEGORIES= math devel python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} @@ -11,26 +11,28 @@ COMMENT= Flexible, high-performance data LICENSE= BSD3CLAUSE -BUILD_DEPENDS= ${PYNUMPY} \ - cython:${PORTSDIR}/lang/cython +BUILD_DEPENDS= ${PYNUMPY} RUN_DEPENDS:= ${BUILD_DEPENDS} \ ${PYTHON_PKGNAMEPREFIX}dateutil>0:${PORTSDIR}/devel/py-dateutil \ ${PYTHON_PKGNAMEPREFIX}pytz>0:${PORTSDIR}/devel/py-pytz \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3 -TEST_DEPENDS= nosetests:${PORTSDIR}/devel/py-nose \ +TEST_DEPENDS= ${RUN_DEPENDS} \ + nosetests:${PORTSDIR}/devel/py-nose \ cython:${PORTSDIR}/lang/cython \ - ${PYTHON_PKGNAMEPREFIX}numexpr>0:${PORTSDIR}/math/py-numexpr \ + ${PYTHON_PKGNAMEPREFIX}boto>0:${PORTSDIR}/devel/py-boto \ + ${PYTHON_PKGNAMEPREFIX}lxml>0:${PORTSDIR}/devel/py-lxml \ ${PYTHON_PKGNAMEPREFIX}tables>0:${PORTSDIR}/devel/py-tables \ - ${PYTHON_PKGNAMEPREFIX}scipy>0:${PORTSDIR}/science/py-scipy \ + ${PYTHON_PKGNAMEPREFIX}bottleneck>0:${PORTSDIR}/math/py-bottleneck \ ${PYTHON_PKGNAMEPREFIX}matplotlib>0:${PORTSDIR}/math/py-matplotlib \ + ${PYTHON_PKGNAMEPREFIX}numexpr>0:${PORTSDIR}/math/py-numexpr \ + ${PYTHON_PKGNAMEPREFIX}scipy>0:${PORTSDIR}/science/py-scipy \ + ${PYTHON_PKGNAMEPREFIX}openpyxl>0:${PORTSDIR}/textproc/py-openpyxl \ ${PYTHON_PKGNAMEPREFIX}xlrd>0:${PORTSDIR}/textproc/py-xlrd \ ${PYTHON_PKGNAMEPREFIX}xlwt>0:${PORTSDIR}/textproc/py-xlwt \ - ${PYTHON_PKGNAMEPREFIX}openpyxl>0:${PORTSDIR}/textproc/py-openpyxl \ - ${PYTHON_PKGNAMEPREFIX}statsmodels>0:${PORTSDIR}/math/py-statsmodels \ - ${PYTHON_PKGNAMEPREFIX}bottleneck>0:${PORTSDIR}/math/py-bottleneck \ ${PYTHON_PKGNAMEPREFIX}beautifulsoup>0:${PORTSDIR}/www/py-beautifulsoup \ - ${PYTHON_PKGNAMEPREFIX}html5lib>0:${PORTSDIR}/www/py-html5lib \ - ${PYTHON_PKGNAMEPREFIX}lxml>0:${PORTSDIR}/devel/py-lxml + ${PYTHON_PKGNAMEPREFIX}html5lib>0:${PORTSDIR}/www/py-html5lib +# Note: we cannot include math/py-statsmodels in TEST_DEPENDS because it +# depends upon us for BUILD and RUN. SUB_FILES= pkg-message @@ -42,12 +44,16 @@ PYDISTUTILS_AUTOPLIST= yes # on a headless (X11-less) host (eg: RedPorts) #USES= display:regression-test +XUNITFILE= ${WRKDIR}/nosetests.xml +NOSE_ENV= http_proxy=${HTTP_PROXY} +NOSE_ARGS= ${PORTNAME} --exe --with-xunit --xunit-file=${XUNITFILE} + regression-test: build @(cd ${WRKSRC} && \ ${PYTHON_CMD} ${PYSETUP} build_ext --inplace && \ - ${PYTHON_CMD} ci/print_versions.py \ - ci/script.sh \ - ${PYTHON_CMD} ci/print_skipped.py \ + ${PYTHON_CMD} -c 'import pandas.util.print_versions as pv; pv.show_versions()' && \ + ( ${SETENV} ${NOSE_ENV} nosetests ${NOSE_ARGS} || ${TRUE} ) && \ + ${PYTHON_CMD} ${SCRIPTDIR}/print_skipped.py ${XUNITFILE} ) .include <bsd.port.mk> Modified: head/math/py-pandas/distinfo ============================================================================== --- head/math/py-pandas/distinfo Tue Mar 4 10:16:51 2014 (r347004) +++ head/math/py-pandas/distinfo Tue Mar 4 10:17:29 2014 (r347005) @@ -1,2 +1,2 @@ -SHA256 (pandas-0.13.0.tar.gz) = f034cd298e0d68fee24a2b0a68a9b8da41978d6f39474f908f7f352904ef7f3c -SIZE (pandas-0.13.0.tar.gz) = 3572047 +SHA256 (pandas-0.13.1.tar.gz) = 6813746caa796550969ed98069f16627f070f6d8d60686cfb3fa0e66c2e0312b +SIZE (pandas-0.13.1.tar.gz) = 6096890 Added: head/math/py-pandas/files/print_skipped.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/py-pandas/files/print_skipped.py Tue Mar 4 10:17:29 2014 (r347005) @@ -0,0 +1,51 @@ +#!/usr/bin/env python + +import sys +import math +import xml.etree.ElementTree as et + + +def parse_results(filename): + tree = et.parse(filename) + root = tree.getroot() + skipped = [] + + current_class = old_class = '' + i = 1 + assert i - 1 == len(skipped) + for el in root.findall('testcase'): + cn = el.attrib['classname'] + for sk in el.findall('skipped'): + old_class = current_class + current_class = cn + name = '{classname}.{name}'.format(classname=current_class, + name=el.attrib['name']) + msg = sk.attrib['message'] + out = '' + if old_class != current_class: + ndigits = int(math.log(i, 10) + 1) + out += ('-' * (len(name + msg) + 4 + ndigits) + '\n') # 4 for : + space + # + space + out += '#{i} {name}: {msg}'.format(i=i, name=name, msg=msg) + skipped.append(out) + i += 1 + assert i - 1 == len(skipped) + assert i - 1 == len(skipped) + assert len(skipped) == int(root.attrib['skip']) + return '\n'.join(skipped) + + +def main(args): + print('SKIPPED TESTS:') + print(parse_results(args.filename)) + return 0 + + +def parse_args(): + import argparse + parser = argparse.ArgumentParser() + parser.add_argument('filename', help='XUnit file to parse') + return parser.parse_args() + + +if __name__ == '__main__': + sys.exit(main(parse_args()))
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201403041017.s24AHUTI041832>