• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

xolox / python-executor / 155 / 3
91%
master: 91%

Build:
DEFAULT BRANCH: master
Ran 01 Jun 2016 09:22PM UTC
Files 8
Run time 0s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

01 Jun 2016 09:19PM UTC coverage: 92.991% (-1.3%) from 94.263%
155.3

push

travis-ci

xolox
Refactor executor / proc separation of concerns* (backwards incompatible!)

In executor 7.7 the process management functionality was decoupled from
external command execution in order to re-use the process management
functionality in my proc package (this was integrated into proc 0.4).

In retrospect I implemented this refactoring (in November '15) too
hastily because the UNIX signal handling doesn't belong in the
executor package (it's meant to be portable).

Last weekend I decided to finally do something about this! I'm only
committing this now because it took me days to clean up, stabilize,
document and test the refactoring :-). A high level summary:

 - All process manipulation that uses UNIX signals is being moved to
   the `proc' package, that includes things like SIGSTOP / SIGCONT.
   This means that the methods ControllableProcess.suspend() and
   ControllableProcess.resume() are no longer available.

   This will break fresh installations of my `proc' package until I
   release a new version, because I haven't pinned the max version of
   dependencies I control. The new release of `proc' is waiting to be
   uploaded though :-).

 - The `executor' package no longer keeps references to subprocess.Popen
   objects after the process has finished, to allow garbage collection.
   This should resolve an issue I was seeing recently when I was pushing
   the limits of executor command pools and ran into `IOError: [Errno 24]
   Too many open files'.

   Someone on StackOverflow with the same problem:
   http://stackoverflow.com/questions/6669996/python-subprocess-running-out-of-file-descriptors

   Someone on StackOverflow who knows how to fix it:
   http://stackoverflow.com/a/23763193/788200

   While implementing this refactoring I had a lot of trouble making
   sure that ExternalCommand.pid and ExternalCommand.returncode would be
   preserved when the ExternalCommand.subprocess reference was destroyed
   (it seems so obvious, but nevertheless this t... (continued)

942 of 1013 relevant lines covered (92.99%)

0.93 hits per line

Source Files on job 155.3
  • Tree
  • List 0
  • Changed 4
  • Source Changed 4
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 155
  • Travis Job 155.3
  • b484912b on github
  • Prev Job for on master (#154.4)
  • Next Job for on master (#156.3)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc