How to test python module

Hi guys,

This is a revision on Brad's PR that now calls pip to install the test package.  I'm hung up on an issue here: the data_files keyword.  From the Python docs (https://docs.python.org/2/distutils/setupscript.html), data_files looks like it is potentially dangerously platform specific.  I have Ondrej and Anthony's use cases in mind, where they may want to install things to /usr/lib or whatever.  I don't see a great way of making that kind of thing cross-platform.

I'm thinking that maybe the output of the CMake-generated manifest belong in package_data, rather than data_files?  This means libraries generated by the CMake build would not be system-wide, but rather contained within the package.  This thus does not really meet Ondrej and Anthony's use case.

If we don't do this, then the alternative might be to not alter the CMAKE_INSTALL_PREFIX, so that CMake figures out the best cross-platform place to put things.  It would work on the system building the package, but it is essentially just leaving the installation part totally to CMake and then would not involve distutils in copying CMake's output.

Any opinions or enlightenment for me here?

PS: the manifest parser (CMaker._parse_manifest) currently does things wrong.  The python docs above show that the directory is where you want the files to go, not where they are (this was my original interpretation).  I have left it broken until we decide what the best way to do this is, because that decision determines the output folders we would use.
I would normally agree, but I think of this python extension as a module.  Thus, to install it outside of the Python project's structure would feel very foreign to me.  I think shared libraries belong elsewhere, but python extension modules belong in the Python project's structure.

I guess you think of it as the src folder, which you had it named.  I don't have enough experience with projects that use extensions to know where people generally store their source (alongside their python?  Probably not, so this is probably a bad example that I've created.)

Feel free to suggest a restructure.  Would you make a src folder, put the .c file there, then have the build output the extension one folder higher?

I created the module folder because I couldn't figure out how to get distutils to actually install the file as package_data without actually having a package.  I suppose using data_files instead might obviate this.