Automated g4 rollback of changelist 489207765.

*** Reason for rollback ***

Corrected logic in CMake

*** Original change description ***

Automated g4 rollback of changelist 489183597.

*** Reason for rollback ***

GitHub path is different

*** Original change description ***

Activate plugin tests on Windows.

***

***

PiperOrigin-RevId: 489228199
Change-Id: Ic0ee9114e9680fc0aef9f668fc172c73fe74cd38
This commit is contained in:
Alessio Quaglino
2022-11-17 09:14:58 -08:00
committed by Copybara-Service
parent 17c82e2f02
commit 043ed273a7
3 changed files with 37 additions and 8 deletions
+9 -4
View File
@@ -18,6 +18,11 @@ set(MUJOCO_TEST_WORKING_DIR ${CMAKE_CURRENT_SOURCE_DIR})
include(GoogleTest)
macro(mujoco_test name)
set(options)
set(oneValueArgs)
set(multiValueArgs PROPERTIES)
cmake_parse_arguments(_ARGS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
add_executable(${name} ${name}.cc)
target_link_libraries(${name} gtest_main mujoco)
target_include_directories(${name} PRIVATE ${MUJOCO_TEST_INCLUDE})
@@ -34,6 +39,9 @@ macro(mujoco_test name)
${testList} PROPERTIES ENVIRONMENT "PATH=$<TARGET_FILE_DIR:mujoco>;$ENV{PATH}"
)
endif()
if(_ARGS_PROPERTIES)
set_tests_properties(${testList} PROPERTIES ${_ARGS_PROPERTIES})
endif()
endmacro()
add_library(fixture STATIC fixture.h fixture.cc)
@@ -65,7 +73,4 @@ add_subdirectory(engine)
add_subdirectory(sample)
add_subdirectory(user)
add_subdirectory(xml)
if(NOT WIN32)
add_subdirectory(plugin/elasticity)
endif()
add_subdirectory(plugin/elasticity)
+7 -3
View File
@@ -12,6 +12,10 @@
# See the License for the specific language governing permissions and
# limitations under the License.
mujoco_test(elasticity_test)
target_link_libraries(elasticity_test fixture gmock elasticity)
mujoco_test(
elasticity_test
PROPERTIES
ENVIRONMENT
"MUJOCO_PLUGIN_DIR=$<TARGET_FILE_DIR:elasticity>"
)
target_link_libraries(elasticity_test fixture gmock)
+21 -1
View File
@@ -27,8 +27,28 @@
namespace mujoco {
namespace {
using PluginTest = MujocoTest;
class PluginTest : public MujocoTest {
public:
// load plugin library
PluginTest() : MujocoTest() {
#if defined(_WIN32) || defined(__CYGWIN__)
mj_loadPluginLibrary((
std::string(std::getenv("MUJOCO_PLUGIN_DIR")) +
std::string("\\elasticity.dll")).c_str());
#else
#if defined(__APPLE__)
mj_loadPluginLibrary((
std::string(std::getenv("MUJOCO_PLUGIN_DIR")) +
std::string("/libelasticity.dylib")).c_str());
#else
mj_loadPluginLibrary((
std::string(std::getenv("MUJOCO_PLUGIN_DIR")) +
std::string("/libelasticity.so")).c_str());
#endif
#endif
}
};
// -------------------------------- cable -----------------------------------