python_examples: Reformatted, self-checking, executable

* Moved body of each python example to main.  This allows for basic
      load module testing for CI
    * General cleanup of python modules (crlf/tabs/prints/etc)
    * Chmod'ed to 755 to allow running examples without specifying the
      python interpreter
    * Added ctest for loading python2/3 modules
    * Added jniclasscode pragma for java swig interface files.
    * Updated check_examplenames.py module to check all languages vs. a
      cxx example name
    * Added tests for checking python module and test loading
    * Added 'make test' to travis-ci run (run ctests)
    * Print a more meaningful message when not building cxx docs into
      python modules
    * Updated check_clean.py to only check java wrapper files
    * ENABLED ctests for UPM
    * Deleted using_carrays.py python example - this is covered by other
      examples

Signed-off-by: Noel Eck <noel.eck@intel.com>
This commit is contained in:
Noel Eck
2016-09-29 18:24:19 -07:00
parent 62718daf0b
commit 2f78d9f62b
203 changed files with 5890 additions and 5216 deletions

View File

@ -449,7 +449,7 @@ if (BUILDDOC AND BUILDSWIGPYTHON)
# BUILDDOC not set but still building python modules, generate an empty
# pyupm_doxy2swig.i file (overwriting if necessary)
elseif (BUILDSWIGPYTHON)
message (STATUS "Generating empty ${CMAKE_CURRENT_BINARY_DIR}/pyupm_doxy2swig.i")
message (STATUS "BUILDDOC=${BUILDDOC}, python modules will not contain cxx documentation")
file (WRITE ${CMAKE_CURRENT_BINARY_DIR}/pyupm_doxy2swig.i "// Empty doxy2swig stub")
endif (BUILDDOC AND BUILDSWIGPYTHON)

View File

@ -6,3 +6,14 @@
%}
%include "lp8860.hpp"
%pragma(java) jniclasscode=%{
static {
try {
System.loadLibrary("javaupm_lp8860");
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load. \n" + e);
System.exit(1);
}
}
%}

View File

@ -6,3 +6,14 @@
%}
%include "ms5611.hpp"
%pragma(java) jniclasscode=%{
static {
try {
System.loadLibrary("javaupm_ms5611");
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load. \n" + e);
System.exit(1);
}
}
%}

View File

@ -2,16 +2,28 @@
%include "../upm.i"
%include "../upm/javaupm_interfaces.i"
%pragma(java) jniclasscode=%{
static {
try {
System.loadLibrary("javaupm_si1132");
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load. \n" + e);
System.exit(1);
}
}
%}
%{
#include "si1132.hpp"
%}
/*
%include "../upm/iModuleStatus.hpp"
%include "../upm/iLightSensor.hpp"
%include "../upm/iModuleStatus.hpp"
%include "../upm/iLightSensor.hpp"
%feature("director") IModuleStatus;
%feature("director") ILightSensor;
*/
%include "si1132.hpp"

View File

@ -6,3 +6,14 @@
%}
%include "smartdrive.hpp"
%pragma(java) jniclasscode=%{
static {
try {
System.loadLibrary("javaupm_smartdrive");
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load. \n" + e);
System.exit(1);
}
}
%}

View File

@ -7,9 +7,20 @@
%{
#include "../upm/iLightSensor.hpp"
#include "../upm/iLightController.hpp"
#include "../upm/iLightController.hpp"
%}
%include "iModuleStatus.hpp"
%include "iLightSensor.hpp"
%include "iLightController.hpp"
%include "iModuleStatus.hpp"
%include "iLightSensor.hpp"
%include "iLightController.hpp"
%pragma(java) jniclasscode=%{
static {
try {
System.loadLibrary("javaupm_interfaces");
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load. \n" + e);
System.exit(1);
}
}
%}

View File

@ -5,11 +5,22 @@
%}
/*
%include "../upm/iModuleStatus.hpp"
%include "../upm/iModuleStatus.hpp"
*/
%include "iLightSensor.hpp"
%include "iLightSensor.hpp"
%feature("director") IModuleStatus;
%feature("director") ILightSensor;
%include "iLightSensor.hpp"
%pragma(java) jniclasscode=%{
static {
try {
System.loadLibrary("javaupm_light_sensor");
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load. \n" + e);
System.exit(1);
}
}
%}