...
 
Commits (8)
......@@ -2,38 +2,40 @@ language: generic
python:
- "2.7"
sudo: required
dist: xenial
git:
depth: false
compiler:
- gcc
# - clang
env:
global:
- secure: "SnIBG/xLIHX3CSvUbqqsX8xTVqIqQ7fFS6HWO6KZQVBsT6yugTwYHbyhNiU531JejYJ/I3ZrDhXfYH3qFZiYxnH1sifvwV+fnTtMXpPN7qPZwIymkjcmm6gJF51e0C7VOfUbvKFv0ngwj+ul21rgZSMuoEvxPK0WxtE3/ZSfn9c="
- APT_DEPENDENCIES="doxygen libeigen3-dev "
- DEBSIGN_KEYID=5AE5CD75
- LCOV_IGNORE_RULES="*unittest* /opt/openrobots/*"
- CC=gcc
- DO_COVERAGE_ON_BRANCH="master;release"
- DO_CPPCHECK_ON_BRANCH=""
- DO_INSTALL_DOC_EXCEPT_ON_BRANCH=""
matrix:
# - BUILDTYPE=Release
# - BUILDTYPE=Debug
- BUILDTYPE=Minsizerel
- BUILDTYPE=MinSizeRel
notifications:
email:
- hpp-source@laas.fr
- pinocchio-dev@laas.fr
branches:
only:
- master
- debian
- devel
matrix:
only:
- master
- debian
- devel
jobs:
include:
- dist: trusty
- if: branch = master
dist: xenial
env: BUILD_WITH_COLLISION_SUPPORT=OFF
- dist: trusty
env: BUILD_WITH_COLLISION_SUPPORT=ON
- dist: xenial
env: BUILD_WITH_COLLISION_SUPPORT=ON
allow_failures:
- compiler:
before_install: ./travis_custom/custom_before_install
......@@ -41,7 +43,7 @@ install:
- pip install --user coveralls
- pip install --user numpy
script:
- export CMAKE_ADDITIONAL_OPTIONS="-DCMAKE_BUILD_TYPE=${BUILDTYPE}"
- export CMAKE_ADDITIONAL_OPTIONS="-DCMAKE_BUILD_TYPE=${BUILDTYPE} -DBUILD_WITH_COLLISION_SUPPORT=${BUILD_WITH_COLLISION_SUPPORT}"
- sudo free -m -t
- travis_wait 40 ./.travis/run ../travis_custom/custom_build
after_failure: ./.travis/run after_failure
......
......@@ -53,11 +53,18 @@ ENDIF(WIN32)
OPTION (BUILD_BENCHMARK "Build the benchmarks" OFF)
OPTION (BUILD_UNIT_TESTS "Build the unitary tests" ON)
OPTION (BUILD_UTILS "Build the utils" OFF)
OPTION (INITIALIZE_WITH_NAN "Initialize Eigen entries with NaN" OFF)
OPTION (BUILD_PYTHON_INTERFACE "Build the python binding" ON)
OPTION (BUILD_WITH_LUA_SUPPORT "Build the lua parser" OFF)
OPTION (BUILD_WITH_COMMIT_VERSION "Build libraries by setting specific commit version" OFF)
# --- OPTIONAL DEPENDENCIES -------------------------
OPTION(BUILD_WITH_URDF_SUPPORT "Build the library with the URDF format support" ON)
OPTION(BUILD_WITH_COLLISION_SUPPORT "Build the library with the Collision support (required HPP-FCL)" OFF)
OPTION(BUILD_WITH_AUTODIFF_SUPPORT "Build the library with the Automatic Differentiation support" OFF)
OPTION(BUILD_WITH_CODEGEN_SUPPORT "Build the library with the Code Generation support" OFF)
OPTION (INITIALIZE_WITH_NAN "Initialize Eigen entries with NaN" OFF)
IF (INITIALIZE_WITH_NAN)
MESSAGE (STATUS "Initialize with NaN all the Eigen entries.")
ADD_DEFINITIONS(-DEIGEN_INITIALIZE_MATRICES_BY_NAN)
......@@ -77,12 +84,19 @@ ENDMACRO(TAG_LIBRARY_VERSION)
# --- DEPENDENCIES -----------------------------------
# ----------------------------------------------------
ADD_REQUIRED_DEPENDENCY("eigen3 >= 3.0.5")
ADD_OPTIONAL_DEPENDENCY("urdfdom >= 0.2.0")
find_package(catkin QUIET COMPONENTS hpp-fcl) # compatability with catkin-packaged hpp-fcl
ADD_OPTIONAL_DEPENDENCY("hpp-fcl >= 1.0.0")
IF(BUILD_WITH_URDF_SUPPORT)
ADD_REQUIRED_DEPENDENCY("urdfdom >= 0.2.0")
ENDIF(BUILD_WITH_URDF_SUPPORT)
IF(BUILD_WITH_HPP_FCL_SUPPORT)
find_package(catkin QUIET COMPONENTS hpp-fcl) # compatability with catkin-packaged hpp-fcl
ADD_REQUIRED_DEPENDENCY("hpp-fcl >= 1.0.0")
ENDIF(BUILD_WITH_HPP_FCL_SUPPORT)
ADD_OPTIONAL_DEPENDENCY("cppad >= 20180000.0")
IF(BUILD_WITH_AUTODIFF_SUPPORT)
ADD_REQUIRED_DEPENDENCY("cppad >= 20180000.0")
ENDIF(BUILD_WITH_AUTODIFF_SUPPORT)
IF(CPPAD_FOUND)
ADD_DEFINITIONS(-DPINOCCHIO_WITH_CPPAD_SUPPORT)
......@@ -92,7 +106,9 @@ IF(CPPAD_FOUND)
PKG_CONFIG_APPEND_CFLAGS("-DPINOCCHIO_CPPAD_REQUIRES_MATRIX_BASE_PLUGIN")
ENDIF(NOT ${CPPAD_VERSION} VERSION_GREATER "3.3.0")
ADD_OPTIONAL_DEPENDENCY("cppadcg")
IF(BUILD_WITH_CODEGEN_SUPPORT)
ADD_OPTIONAL_DEPENDENCY("cppadcg")
ENDIF(BUILD_WITH_CODEGEN_SUPPORT)
IF(CPPADCG_FOUND)
ADD_DEFINITIONS(-DPINOCCHIO_WITH_CPPADCG_SUPPORT)
PKG_CONFIG_APPEND_CFLAGS("-DPINOCCHIO_WITH_CPPADCG_SUPPORT")
......
......@@ -16,8 +16,11 @@ sudo free -m -t
export APT_DEPENDENCIES="doxygen libboost-system-dev libboost-test-dev libboost-filesystem-dev libboost-program-options-dev libeigen3-dev liburdfdom-dev texlive-font-utils"
# Add Python dependency
export APT_DEPENDENCIES=$APT_DEPENDENCIES" libboost-python-dev robotpkg-py27-eigenpy python2.7-dev python-numpy"
# Add Geometry dependencies
export APT_DEPENDENCIES=$APT_DEPENDENCIES" robotpkg-hpp-fcl robotpkg-assimp robotpkg-octomap"
if [[ $BUILD_WITH_COLLISION_SUPPORT -eq ON ]]; then
export APT_DEPENDENCIES=$APT_DEPENDENCIES" robotpkg-hpp-fcl"
fi
# When this script is called the current directory is ./custom_travis
. ./.travis/run ../.travis/before_install
......
SET(${PROJECT_NAME}_PYTHON_TESTS
bindings
bindings_com
bindings_com_velocity_derivatives
bindings_dynamics
bindings_force
bindings_frame
bindings_geometry_object_urdf
bindings_inertia
bindings_joint_composite
bindings_motion
......@@ -23,6 +23,13 @@ IF(HPP_FCL_FOUND)
)
ENDIF(HPP_FCL_FOUND)
IF(URDFDOM_FOUND)
SET(${PROJECT_NAME}_PYTHON_TESTS
${${PROJECT_NAME}_PYTHON_TESTS}
bindings_geometry_object_urdf
)
ENDIF(URDFDOM_FOUND)
FOREACH(TEST ${${PROJECT_NAME}_PYTHON_TESTS})
ADD_PYTHON_UNIT_TEST("py-${TEST}" "unittest/python/${TEST}.py" "bindings/python")
ENDFOREACH(TEST ${${PROJECT_NAME}_PYTHON_TESTS})
......
......@@ -2,6 +2,7 @@ import unittest
import pinocchio as pin
import numpy as np
@unittest.skipUnless(pin.WITH_FCL_SUPPORT(),"Needs FCL")
class TestGeometryObjectBindings(unittest.TestCase):
def setUp(self):
......
......@@ -2,6 +2,7 @@ import unittest
import pinocchio as pin
import os
@unittest.skipUnless(pin.WITH_URDFDOM_SUPPORT(),"Needs URDFDOM")
class TestGeometryObjectUrdfBindings(unittest.TestCase):
def test_load(self):
......
#!/usr/bin/env python
from __future__ import print_function
import unittest, sys
from bindings import TestSE3 # TODO: probably remove and move/split its contents
from bindings_SE3 import TestSE3Bindings
from bindings_force import TestForceBindings
from bindings_motion import TestMotionBindings
from bindings_inertia import TestInertiaBindings
from bindings_frame import TestFrameBindings
from bindings_geometry_object import TestGeometryObjectBindings
from bindings_geometry_object_urdf import TestGeometryObjectUrdfBindings
from bindings_dynamics import TestDynamicsBindings
from bindings_com import TestComBindings
from bindings_joint_composite import TestJointCompositeBindings
from bindings_com_velocity_derivatives import TestVComDerivativesBindings
from explog import TestExpLog
from model import TestModel
from rpy import TestRPY
from utils import TestUtils
if __name__ == '__main__':
print("Python version")
print(sys.version_info)
unittest.main()