Opened 6 years ago

Closed 3 months ago

#8249 closed enhancement (implemented)

Run integration targets in parallel

Reported by: atagar Owned by: atagar
Priority: Medium Milestone:
Component: Core Tor/Stem Version:
Severity: Normal Keywords: testing
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

At present stem does integration tests in serial, starting a tor instance and testing against it one at a time. We should try running them in parallel, with a testing config option to keep the current serial behavior. This would involve using unique ports for each of the test instances, changing the get_runner() singleton in runner.py to return the right instance, watching out for mocking, and possibly other unforeseen gotchas. This might be a little tricky but if it works then the payoff would be sweeeet. Idea by Nick.

Child Tickets

Change History (3)

comment:1 Changed 5 years ago by atagar

Doing this within a single python interpretor won't be possible without considerable work due to our use of mocking. However, we *could* do process level parallelization on our targets (ie. do an integ test run for 'RUN_COOKIE' at the same time as 'RUN_PASSWORD'). This would require a few runner tweaks to randomize the port but otherwise should be easy... I think.

(great, now I jinxed it)

comment:2 Changed 9 months ago by teor

Severity: Normal

Set all open tickets without a severity to "Normal"

comment:3 Changed 3 months ago by atagar

Resolution: implemented
Status: newclosed

Oh oops, long overdue that I resolved this. Stem started running integ tests in parallel a while ago...

https://gitweb.torproject.org/stem.git/tree/stem/util/test_tools.py#n117

Note: See TracTickets for help on using tickets.