# $Id: PKGBUILD 145218 2015-10-29 05:25:14Z fyan $
# Maintainer: Felix Yan <felixonmars@archlinux.org>

pkgbase=python-flaky
pkgname=('python-flaky' 'python2-flaky')
_pypiname=flaky
pkgver=2.4.0
pkgrel=1
pkgdesc='Plugin for nose or py.test that automatically reruns flaky tests'
arch=('any')
license=('Apache')
url='https://github.com/box/flaky'
makedepends=('python-setuptools' 'python2-setuptools' 'git')
checkdepends=('python-pytest' 'python2-pytest' 'python-nose' 'python2-nose'
              'python-genty' 'python2-genty' 'python-mock' 'python2-mock')
source=("git+https://github.com/box/flaky.git#tag=v$pkgver")
md5sums=('SKIP')

prepare() {
  cp -a "${srcdir}/${_pypiname}"{,-py2}
}

build() {
  cd "$srcdir/$_pypiname"
  python setup.py build

  cd "$srcdir/$_pypiname-py2"
  python2 setup.py build
}

check() {
  # Hack entry points by installing it

  cd "$srcdir/$_pypiname"
  python setup.py install --root="$PWD/tmp_install" --optimize=1
  (
    export PYTHONPATH="$PWD/tmp_install/usr/lib/python3.5/site-packages:$PYTHONPATH"
    nosetests3 --with-flaky --exclude="pytest|test_nose_options_example" test/
    py.test -k 'example and not nose and not options' --doctest-modules test/
    py.test -p no:flaky test/test_flaky_pytest_plugin.py
    nosetests3 --with-flaky --force-flaky --max-runs 2 test/test_nose_options_example.py
    py.test --force-flaky --max-runs 2 test/test_pytest_options_example.py
  )

  cd "$srcdir/$_pypiname-py2"
  python2 setup.py install --root="$PWD/tmp_install" --optimize=1
  (
    export PYTHONPATH="$PWD/tmp_install/usr/lib/python2.7/site-packages:$PYTHONPATH"
    nosetests2 --with-flaky --exclude="pytest|test_nose_options_example" test/
    py.test2 -k 'example and not nose and not options' --doctest-modules test/
    py.test2 -p no:flaky test/test_flaky_pytest_plugin.py
    nosetests2 --with-flaky --force-flaky --max-runs 2 test/test_nose_options_example.py
    py.test2 --force-flaky --max-runs 2 test/test_pytest_options_example.py
  )
}

package_python-flaky() {
  depends=('python')

  cd "$srcdir/$_pypiname"
  python setup.py install --root="$pkgdir"/ --optimize=1
}

package_python2-flaky() {
  depends=('python2')

  cd "$srcdir/$_pypiname-py2"
  python2 setup.py install --root="$pkgdir"/ --optimize=1
}

# vim:set ts=2 sw=2 et:
