Support Python 2.7.6 by also adding a positional parameter 'to_close' to _execute_child.

In Python 2.7.6 released on November 10, 2013, the new parameter (containing file descriptors
to close) was added [1] to fix closing fds if exec'ing failed [2].

This was originally reported in [3].

[1] http://hg.python.org/cpython/rev/43749cb6bdbd
[2] http://bugs.python.org/issue18851
[3] https://bugzilla.redhat.com/show_bug.cgi?id=1040210
Implement _execute_child only once.
Extract helper process to new module

Tests used to run the tests module as a child process, using confusing import
handling code.  This patch adds a new helper module for using in child process
tests.
Adapat class once when class is created

There is no need to plug the correct _execute_child funcion when an
instance is created, since Python version does not change between calls.
Merge pull request #2 from nirs/compat

Adapt class once when class is created.
Merge pull request #13 from lenoch/master

Support Python 2.7.6 by also adding a positional parameter 'to_close' to _execute_child.
Merge pull request #14 from nirs/build

Extract helper process to new module
make rpm: work with non-default %_sourcedir
Changing vdsm-python-cpopen version Obsolete and Provides

This issue caused races between preferring python-cpopen on newer
versions of VDSM project.

Signed-off-by: Yaniv Bronhaim <ybronhei@redhat.com>
Merge pull request #17 from ficoos/vdsm-python-cpopen

Changing vdsm-python-cpopen version Obsolete and Provides
Use childErrno only if we fully read it

If reading childErrno from child process failed or the read was partial,
a bogus errno value was set and used to create an OSError.  This patch
use errno value when read failed, and EIO when read from client was
partial.
Merge pull request #18 from nirs/child-errno2

Use childErrno only if we fully read it
Merge pull request #20 from dankenigsberg/make_rpm

make rpm: work with non-default %_sourcedir
raise OSError with errno

When the child process fails to exec, we raise a non-standard OSError,
that has only a string and lacks an errno value. This patch fixes this
issue by copying childErrno onto errno and calling PyErr_SetFromErrno().
The alternative, of copying PyErr_SetFromErrno code into our own
_PyErr_SetFromChildErrno() was rejected due to its complexity.
Make default build target 'build' and add 'dist' target

Signed-off-by: Saggi Mizrahi <ficoos@gmail.com>
Add check-local build target

Signed-off-by: Saggi Mizrahi <ficoos@gmail.com>
Fix warning in testUmaskTmpfile

Signed-off-by: Saggi Mizrahi <ficoos@gmail.com>
Make base import in test more specific

Also have it take precedence over default PATH

Signed-off-by: Saggi Mizrahi <ficoos@gmail.com>