add collision and inverse dynamics unit tests to cmake, .travis.yml and appveyor.yml
(more unit tests will follow, once this setup works)
This commit is contained in:
@@ -10,10 +10,13 @@ script:
|
|||||||
- echo "CC="$CC
|
- echo "CC="$CC
|
||||||
- cmake . -G "Unix Makefiles" #-DCMAKE_CXX_FLAGS=-Werror
|
- cmake . -G "Unix Makefiles" #-DCMAKE_CXX_FLAGS=-Werror
|
||||||
- make -j8
|
- make -j8
|
||||||
# Test again with double precision
|
- ctest -j8 --output-on-failure
|
||||||
|
# Build again with double precision
|
||||||
- cmake . -G "Unix Makefiles" -DUSE_DOUBLE_PRECISION=ON #-DCMAKE_CXX_FLAGS=-Werror
|
- cmake . -G "Unix Makefiles" -DUSE_DOUBLE_PRECISION=ON #-DCMAKE_CXX_FLAGS=-Werror
|
||||||
- make -j8
|
- make -j8
|
||||||
# Test again with shared libraries
|
- ctest -j8 --output-on-failure
|
||||||
|
# Build again with shared libraries
|
||||||
- cmake . -G "Unix Makefiles" -DBUILD_SHARED_LIBS=ON
|
- cmake . -G "Unix Makefiles" -DBUILD_SHARED_LIBS=ON
|
||||||
- make -j8
|
- make -j8
|
||||||
|
- ctest -j8 --output-on-failure
|
||||||
- sudo make install
|
- sudo make install
|
||||||
|
|||||||
@@ -80,12 +80,12 @@ IF(MSVC)
|
|||||||
ELSE()
|
ELSE()
|
||||||
OPTION(USE_MSVC_SSE "Use MSVC /arch:sse option" ON)
|
OPTION(USE_MSVC_SSE "Use MSVC /arch:sse option" ON)
|
||||||
IF (USE_MSVC_SSE)
|
IF (USE_MSVC_SSE)
|
||||||
ADD_DEFINITIONS(/arch:SSE)
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /arch:SSE")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
OPTION(USE_MSVC_FAST_FLOATINGPOINT "Use MSVC /fp:fast option" ON)
|
OPTION(USE_MSVC_FAST_FLOATINGPOINT "Use MSVC /fp:fast option" ON)
|
||||||
IF (USE_MSVC_FAST_FLOATINGPOINT)
|
IF (USE_MSVC_FAST_FLOATINGPOINT)
|
||||||
ADD_DEFINITIONS(/fp:fast)
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /fp:fast")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF(MSVC)
|
ENDIF(MSVC)
|
||||||
|
|
||||||
@@ -273,6 +273,7 @@ ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
|
|||||||
OPTION(BUILD_UNIT_TESTS "Build Unit Tests" ON)
|
OPTION(BUILD_UNIT_TESTS "Build Unit Tests" ON)
|
||||||
|
|
||||||
IF (BUILD_UNIT_TESTS)
|
IF (BUILD_UNIT_TESTS)
|
||||||
|
ENABLE_TESTING()
|
||||||
SUBDIRS(test)
|
SUBDIRS(test)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,12 @@
|
|||||||
build:
|
build:
|
||||||
project: build3/vs2010/0_Bullet3Solution.sln
|
project: build3/vs2010/0_Bullet3Solution.sln
|
||||||
|
- mkdir cmake
|
||||||
|
- cd cmake
|
||||||
|
- cmake .. -G"Visual Studio 14 2015 Win64"
|
||||||
|
- cmake --build . --target ALL_BUILD --config Release -- /maxcpucount:4 /verbosity:quiet
|
||||||
|
|
||||||
|
test_script:
|
||||||
|
- ctest --parallel 4 --build-config Release --output-on-failure
|
||||||
|
|
||||||
before_build:
|
before_build:
|
||||||
- echo %CD%
|
- echo %CD%
|
||||||
@@ -7,3 +14,4 @@ before_build:
|
|||||||
- echo %CD%
|
- echo %CD%
|
||||||
- premake4 vs2010
|
- premake4 vs2010
|
||||||
- ps: cd ..
|
- ps: cd ..
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
#SUBDIRS( gtest-1.7.0 TestBullet3OpenCL)
|
#SUBDIRS( gtest-1.7.0 TestBullet3OpenCL)
|
||||||
SUBDIRS( gtest-1.7.0 )
|
SUBDIRS( gtest-1.7.0 collision InverseDynamics)
|
||||||
|
|
||||||
|
|||||||
30
test/InverseDynamics/CMakeLists.txt
Normal file
30
test/InverseDynamics/CMakeLists.txt
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
INCLUDE_DIRECTORIES(
|
||||||
|
.
|
||||||
|
../../src
|
||||||
|
../gtest-1.7.0/include
|
||||||
|
../../Extras/InverseDynamics
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
#ADD_DEFINITIONS(-DGTEST_HAS_PTHREAD=1)
|
||||||
|
ADD_DEFINITIONS(-D_VARIADIC_MAX=10)
|
||||||
|
|
||||||
|
LINK_LIBRARIES(
|
||||||
|
BulletInverseDynamicsUtils BulletInverseDynamics Bullet3Common LinearMath gtest
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
ADD_EXECUTABLE(Test_BulletInverseDynamics
|
||||||
|
test_invdyn_kinematics.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
ADD_TEST(Test_BulletInverseDynamics_PASS Test_BulletInverseDynamics)
|
||||||
|
|
||||||
|
IF (INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES)
|
||||||
|
SET_TARGET_PROPERTIES(Test_Collision PROPERTIES DEBUG_POSTFIX "_Debug")
|
||||||
|
SET_TARGET_PROPERTIES(Test_Collision PROPERTIES MINSIZEREL_POSTFIX "_MinsizeRel")
|
||||||
|
SET_TARGET_PROPERTIES(Test_Collision PROPERTIES RELWITHDEBINFO_POSTFIX "_RelWithDebugInfo")
|
||||||
|
ENDIF(INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES)
|
||||||
@@ -349,7 +349,7 @@ TEST(InvDynKinematicsDifferentiation, errorOrder) {
|
|||||||
const idScalar expected_angular_acceleration_error_1 =
|
const idScalar expected_angular_acceleration_error_1 =
|
||||||
max_angular_acceleration_error[0] * pow(kDeltaTs[1] / kDeltaTs[0], 2);
|
max_angular_acceleration_error[0] * pow(kDeltaTs[1] / kDeltaTs[0], 2);
|
||||||
|
|
||||||
printf("linear vel error: %e %e %e\n", max_linear_velocity_error[1],
|
/* printf("linear vel error: %e %e %e\n", max_linear_velocity_error[1],
|
||||||
expected_linear_velocity_error_1,
|
expected_linear_velocity_error_1,
|
||||||
max_linear_velocity_error[1] - expected_linear_velocity_error_1);
|
max_linear_velocity_error[1] - expected_linear_velocity_error_1);
|
||||||
printf("angular vel error: %e %e %e\n", max_angular_velocity_error[1],
|
printf("angular vel error: %e %e %e\n", max_angular_velocity_error[1],
|
||||||
@@ -361,6 +361,7 @@ TEST(InvDynKinematicsDifferentiation, errorOrder) {
|
|||||||
printf("angular acc error: %e %e %e\n", max_angular_acceleration_error[1],
|
printf("angular acc error: %e %e %e\n", max_angular_acceleration_error[1],
|
||||||
expected_angular_acceleration_error_1,
|
expected_angular_acceleration_error_1,
|
||||||
max_angular_acceleration_error[1] - expected_angular_acceleration_error_1);
|
max_angular_acceleration_error[1] - expected_angular_acceleration_error_1);
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, char** argv) {
|
int main(int argc, char** argv) {
|
||||||
|
|||||||
36
test/collision/CMakeLists.txt
Normal file
36
test/collision/CMakeLists.txt
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
|
||||||
|
INCLUDE_DIRECTORIES(
|
||||||
|
.
|
||||||
|
../../src
|
||||||
|
../gtest-1.7.0/include
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
#ADD_DEFINITIONS(-DGTEST_HAS_PTHREAD=1)
|
||||||
|
ADD_DEFINITIONS(-D_VARIADIC_MAX=10)
|
||||||
|
|
||||||
|
LINK_LIBRARIES(
|
||||||
|
LinearMath gtest
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
ADD_EXECUTABLE(Test_Collision
|
||||||
|
main.cpp
|
||||||
|
../../src/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.cpp
|
||||||
|
../../src/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.h
|
||||||
|
../../src/BulletCollision/CollisionShapes/btSphereShape.cpp
|
||||||
|
../../src/BulletCollision/CollisionShapes/btMultiSphereShape.cpp
|
||||||
|
../../src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.cpp
|
||||||
|
../../src/BulletCollision/CollisionShapes/btConvexShape.cpp
|
||||||
|
../../src/BulletCollision/CollisionShapes/btConvexInternalShape.cpp
|
||||||
|
../../src/BulletCollision/CollisionShapes/btCollisionShape.cpp
|
||||||
|
../../src/BulletCollision/CollisionShapes/btConvexPolyhedron.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
ADD_TEST(Test_Collision_PASS Test_Collision)
|
||||||
|
|
||||||
|
IF (INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES)
|
||||||
|
SET_TARGET_PROPERTIES(Test_Collision PROPERTIES DEBUG_POSTFIX "_Debug")
|
||||||
|
SET_TARGET_PROPERTIES(Test_Collision PROPERTIES MINSIZEREL_POSTFIX "_MinsizeRel")
|
||||||
|
SET_TARGET_PROPERTIES(Test_Collision PROPERTIES RELWITHDEBINFO_POSTFIX "_RelWithDebugInfo")
|
||||||
|
ENDIF(INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES)
|
||||||
@@ -179,12 +179,12 @@ void testSphereSphereDistance(SphereSphereTestMethod method, btScalar abs_error)
|
|||||||
ASSERT_EQ(btScalar(0), distInfo.m_distance);
|
ASSERT_EQ(btScalar(0), distInfo.m_distance);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int rb=1;rb<10;rb++)
|
for (int rb=1;rb<5;rb++)
|
||||||
for (int z=-20;z<20;z++)
|
for (int z=-5;z<5;z++)
|
||||||
{
|
{
|
||||||
for (int j=1;j<10;j++)
|
for (int j=1;j<5;j++)
|
||||||
{
|
{
|
||||||
for (int i=-20;i<20;i++)
|
for (int i=-5;i<5;i++)
|
||||||
{
|
{
|
||||||
if (i!=z)//skip co-centric spheres for now (todo(erwincoumans) fix this)
|
if (i!=z)//skip co-centric spheres for now (todo(erwincoumans) fix this)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user