Opened 6 years ago

Last modified 3 years ago

#10361 new enhancement

Test multiple python versions via jenkins

Reported by: atagar Owned by:
Priority: Medium Milestone:
Component: Internal Services/Service - jenkins Version:
Severity: Normal Keywords: testing
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

Presently I manually run our tests using Python 2.6, 2.7, and 3.3 prior to releases. However, our Jenkins tests just run 2.7, causing regressions for other versions to easily slip in. Talked with weasel about this and this'll need some investigation...

08:44 < atagar> isis: Iirc your automation test runs exercise multiple python versions, right? I wonder if I should do the same for stem (I manually run python 2.6, 2.7, and 
                3.3 tests prior to release but jenkins just runs 2.7).
08:44 < atagar> boklm: ^ not sure if this is a topic that would interest you
08:44 < weasel> that's because you don't work on squeeze anymore, isn't it?
08:45 < weasel> squeeze had python 2.6
08:45 < weasel> we can also add a new axis to https://jenkins.torproject.org/job/stem-ci-linux/ and run with python versions different from the default python for these things
08:46 < atagar> Sounds great (not entirely sure what you mean at the moment though about a new axis).
08:47 < weasel> one axis is suite: squeeze, wheezy, jessi, sid, lucid, precise, quantal, raring, saucy
08:47 < weasel> another axis is arch: amd64, i386
08:47 < atagar> ahhh, gotcha
08:47 < weasel> so it probably needs figuring out which python versions exist on which suites,
08:47 < weasel> and then figuring out what the extra build dependencies are.
08:50 < atagar> weasel: Anything I can do to help? I'd rather not throw a bunch of more work on your plate. :)
08:50 < weasel> atagar: you can find out these things for me :)
08:51 < weasel> atagar: dixie has the schroot environments.  you can either use packages.debian.org (u.c) to find out about available python,s
08:51 < atagar> So figure out how to build python x.y on wheezy, jessie, etc? For 3.x we should be able to use the deb, 2.6 though will be a pain though (... maybe we should 
                pass on that).
08:51 < weasel> atagar: or you use dixie and enter sessions for them all, apt-get update (from outside, using dd-schroot-cmd) and then apt-cache search.  that'll also allow 
                you to test if we have all the required build dependencies in our current config
08:52 < weasel> atagar: no, we will not build our own python.  we'll juse use the one that ships with them.  I think.
08:52 < weasel> atagar: wheezy for instance has 2.6, 2.7 and 3.2.  2.7 is default, that's what we use right now
08:52 < weasel> we could install more, and then test them all
08:53 < atagar> great, thanks :)
08:53  * atagar adds this all to a ticket for the moment
08:53 < weasel> ok
08:54 < weasel> let me know if you get stuck or when you have all we need :)
08:54 < atagar> will do

Child Tickets

Change History (7)

comment:1 Changed 5 years ago by federico3

A configuration file for Tox to perform testing with multiple Python versions - I hope it can help:

https://github.com/FedericoCeratto/stem/commit/c2b3633a078a0ed3ba7d64859c95979a9e21d455#diff-d41d8cd98f00b204e9800998ecf8427e

comment:2 Changed 5 years ago by atagar

... wow. Thanks!

As mentioned on irc I'm presently swamped with work from my day job but I'm looking forward to reviewing this when able. :)

comment:3 Changed 5 years ago by atagar

Hi federico3. Just took a peek and it seems like tox isn't actually buying us much here. If python3 is installed then Stem hides the hackyness of testing ('run_tests.py --python3'). This task would probably best be addressed by revising our Jenkins configuration to include the Python 3.x testing.

It would be nice to include Python 2.6 as well but iirc that's no longer available in the deb repositories.

comment:4 Changed 4 years ago by atagar

Hi federico3, was just looking through old tickets and spotted this. Amusingly Foxboron indeed convinced me to have us use tox...

https://gitweb.torproject.org/stem.git/commit/?id=bbba24e

Next bit is to use it in our Jenkins instance.

comment:5 Changed 3 years ago by nickm

Component: Core Tor/StemInternal Services/Service - trac
Severity: Normal

comment:6 Changed 3 years ago by nickm

Component: Internal Services/Service - tracInternal Services/Service - jenkins

comment:7 Changed 3 years ago by nickm

Component: Internal Services/Service - tracInternal Services/Service - jenkins
Note: See TracTickets for help on using tickets.