Open goodboy opened 1 year ago
Looks like I've broken something using the new spawn api, not sure what.
I don't have the sipp
binary installed locally atm so if someone wants to take a shot at repairing this (hint hint @linuxmaniac) please feel free!
BTW, some of the commits don't pass the pre-commit checks.
when rebasing, you should do git rebase -x 'pre-commit run --from HEAD^ --to HEAD' origin/master
in order to force the execution of pre-commit checks per commit
@linuxmaniac RE all the little changes you suggest, can you make a PR onto this branch to fix them if you've already gone through it?
@linuxmaniac RE all the little changes you suggest, can you make a PR onto this branch to fix them if you've already gone through it?
There you are https://github.com/SIPp/pysipp/pull/88
@linuxmaniac landed it 🏄🏼
There rebased clean to master.
Replacement for #55 after going through the slew of merge conflicts.
From that issue verbatim here is the original description:
ping @linuxmaniac
This is in preparation of a python 3.6+ only
1.0.0.alpha
release and replaces all the internal processing launching machinery with the new subprocess support intrio
.This not only gets us cross OS support for free but also gives access to
async
/await
based scenario and agent spawning.A few interesting notes:
SIPp
turns out to be a good fit withtrio
cancellation semantics since it has a built in cancellation system viaSIGUSR1
trio
gives us deterministic teardown allowing for much finer control over per agent failures and subsequent reportingTODO:
trio
proc spawning APIs and get CI running clean, also seetrio
version that this was merged to.process = await nursery.start(trio.run_process, ...)
form yah?trio.move_on_after()
andtrio.fail_after()
and figure out how this can interplay with log reporting for interactive useI look forward to feedback and thoughts!