Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tox testing support for client wheel packages #618

Closed
wants to merge 1 commit into from

Conversation

tiran
Copy link
Member

@tiran tiran commented Mar 17, 2017

Add tox infrastructure to test client wheel packages workflow:

  • build client packages
  • install client packages
  • ipa-run-tests --ipaclient-unittests under Python 2 and 3
  • pylint of client packages under Python 2 and 3
  • placeholder packages work as expected

@tiran
Copy link
Member Author

tiran commented Mar 27, 2017

Tox testing should also be integrated into Travis CI to catch bugs like https://pagure.io/freeipa/issue/6816. The tox script will automatically test features like ./configure --disable-server, bdist_wheel and wheel_bundle.

@tiran tiran force-pushed the tox branch 3 times, most recently from 3b4c9f3 to 5a5c840 Compare April 3, 2017 12:22
@tiran tiran changed the title [WIP] Tox testing support for client wheel packages Tox testing support for client wheel packages Apr 3, 2017
@tiran tiran force-pushed the tox branch 6 times, most recently from 6138486 to 5aef9ff Compare April 10, 2017 07:54
@MartinBasti
Copy link
Contributor

I ran tox and I received following output:

ERROR:   py27: could not install deps [ipaclient, ipatests]; v = InvocationError('/tmp/freeipa/.tox-install.sh wheel_bundle /tmp/freeipa/.tox/py27/bin/python /tmp/freeipa/.tox/py27/lib/python2.7/site-packages ipaclient ipatests (see /tmp/freeipa/.tox/py27/log/py27-1.log)', 2)
ERROR:   py35: could not install deps [ipaclient, ipatests]; v = InvocationError('/tmp/freeipa/.tox-install.sh wheel_bundle /tmp/freeipa/.tox/py35/bin/python /tmp/freeipa/.tox/py35/lib/python3.5/site-packages ipaclient ipatests (see /tmp/freeipa/.tox/py35/log/py35-1.log)', 2)
ERROR:   py36: could not install deps [ipaclient, ipatests]; v = InvocationError('/tmp/freeipa/.tox-install.sh wheel_bundle /tmp/freeipa/.tox/py36/bin/python /tmp/freeipa/.tox/py36/lib/python3.6/site-packages ipaclient ipatests (see /tmp/freeipa/.tox/py36/log/py36-1.log)', 2)
ERROR:   pylint2: could not install deps [ipaclient, ipapython[certmonger], pylint]; v = InvocationError('/tmp/freeipa/.tox-install.sh wheel_bundle /tmp/freeipa/.tox/pylint2/bin/python /tmp/freeipa/.tox/pylint2/lib/python2.7/site-packages ipaclient ipapython[certmonger] pylint (see /tmp/freeipa/.tox/pylint2/log/pylint2-1.log)', 2)
ERROR:   pylint3: could not install deps [ipaclient, ipapython[certmonger], pylint]; v = InvocationError('/tmp/freeipa/.tox-install.sh wheel_bundle /tmp/freeipa/.tox/pylint3/bin/python /tmp/freeipa/.tox/pylint3/lib/python3.5/site-packages ipaclient ipapython[certmonger] pylint (see /tmp/freeipa/.tox/pylint3/log/pylint3-1.log)', 2)
  pypi: commands succeeded

Is it expected?

I had applied following patches:

  • Correct PyPI package dependencies
  • Stabilize make pypi_packages
  • Replace hard-coded kdcproxy path with WSGI script

@tiran
Copy link
Member Author

tiran commented Apr 12, 2017

Why are you mixing PRs? Don't mix PRs.

@tiran
Copy link
Member Author

tiran commented Apr 12, 2017

I've rebased the branch on master, just in case. Tox works for me before and after rebase.

$ git clean -xdf
$ tox
...
  py27: commands succeeded
  py35: commands succeeded
  py36: commands succeeded
  pylint2: commands succeeded
  pylint3: commands succeeded
  pypi: commands succeeded
  congratulations :)

@tiran
Copy link
Member Author

tiran commented Apr 12, 2017

I added tox to wheel build requirements. Now you can install all dependencies with dnf builddep.

$ sudo dnf copr enable @freeipa/freeipa-master
$ sudo dnf install redhat-rpm-config
$ sudo dnf builddep --spec freeipa.spec.in --define "with_wheels 1"
$ tox

@MartinBasti
Copy link
Contributor

Thanks, I'll try again, it needs rebase again

Add tox infrastructure to test client wheel packages workflow:

* build client packages
* install client packages
* ipa-run-tests --ipaclient-unittests under Python 2 and 3
* pylint of client packages under Python 2 and 3
* placeholder packages work as expected

Signed-off-by: Christian Heimes <cheimes@redhat.com>
@MartinBasti
Copy link
Contributor

Thnks, works for me.

@MartinBasti MartinBasti added ack Pull Request approved, can be merged pushed Pull Request has already been pushed labels Apr 12, 2017
@MartinBasti
Copy link
Contributor

master:

  • 3a5b3be tox testing support for client wheel packages

@tiran tiran deleted the tox branch April 12, 2017 15:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ack Pull Request approved, can be merged pushed Pull Request has already been pushed
Projects
None yet
2 participants