Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux tests - Inject common LD_LIBRARY_PATHs into add_maya_test cmake function #464

Merged
merged 7 commits into from
May 20, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions cmake/test.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ endfunction()
# MAYA_PLUG_IN_PATH
# MAYA_SCRIPT_PATH
# PXR_PLUGINPATH_NAME
# LD_LIBRARY_PATH
# Note that the format of these name/value pairs should
# be the same as that used with
# `set_property(TEST test_name APPEND PROPERTY ENVIRONMENT ...)`
Expand Down Expand Up @@ -129,6 +130,7 @@ finally:
MAYA_PLUG_IN_PATH
MAYA_SCRIPT_PATH
PXR_PLUGINPATH_NAME
LD_LIBRARY_PATH
)

# Set initial empty values for all path vars
Expand Down
14 changes: 14 additions & 0 deletions doc/build.md
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,20 @@ setuptools 39.0.1
shiboken2 5.12.1
```

##### dependencies on Linux DSOs when running tests

Normally either runpath or rpath are used on some DSOs in this library to specify explicit on other libraries (such as USD itself)

If for some reason you don't want to use either of these options, and switch them off with:
```
CMAKE_SKIP_RPATH=TRUE
```
To allow your tests to run, you can inject LD_LIBRARY_PATH into any of the mayaUSD_add_test calls by setting the ADDITIONAL_LD_LIBRARY_PATH cmake variable to $ENV{LD_LIBRARY_PATH} or similar.

There is a related ADDITIONAL_PXR_PLUGINPATH_NAME cmake var which can be used if schemas are installed in a non-standard location



# How to Load Plug-ins in Maya

The provided module file (*.mod) facilitates setting various environment variables for plugins and libraries. After the project is successfully built, ```mayaUsd.mod``` is installed inside the install directory. In order for Maya to discover this mod file, ```MAYA_MODULE_PATH``` environment variable needs to be set to point to the location where the mod file is installed.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,4 +95,5 @@ mayaUsd_add_test(${TARGET_NAME}
ENV
"MAYA_PLUG_IN_PATH=${MAYAUTILS_TEST_MAYAPLUGIN_INSTALL_PATH}"
"PXR_PLUGINPATH_NAME=${ADDITIONAL_PXR_PLUGINPATH_NAME}"
"LD_LIBRARY_PATH=${ADDITIONAL_LD_LIBRARY_PATH}"
)
1 change: 1 addition & 0 deletions plugin/al/plugin/AL_USDMayaTestPlugin/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,7 @@ mayaUsd_add_test(${TARGET_NAME}
PYTHON_COMMAND "${pycode}"
ENV
"PXR_PLUGINPATH_NAME=${ADDITIONAL_PXR_PLUGINPATH_NAME}"
"LD_LIBRARY_PATH=${ADDITIONAL_LD_LIBRARY_PATH}"
)

if(NOT SKIP_USDMAYA_TESTS)
Expand Down
4 changes: 4 additions & 0 deletions plugin/al/plugin/AL_USDMayaTestPlugin/py/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,27 @@ mayaUsd_add_test(TestALUSDMayaPython_ProxyShape
PYTHON_MODULE testProxyShape
ENV
"PXR_PLUGINPATH_NAME=${ADDITIONAL_PXR_PLUGINPATH_NAME}"
"LD_LIBRARY_PATH=${ADDITIONAL_LD_LIBRARY_PATH}"
)

mayaUsd_add_test(TestALUSDMayaPython_Translators
PYTHON_MODULE testTranslators
ENV
"PXR_PLUGINPATH_NAME=${ADDITIONAL_PXR_PLUGINPATH_NAME}"
"LD_LIBRARY_PATH=${ADDITIONAL_LD_LIBRARY_PATH}"
)

mayaUsd_add_test(TestALUSDMayaPython_LayerManager
PYTHON_MODULE testLayerManager
ENV
"PXR_PLUGINPATH_NAME=${ADDITIONAL_PXR_PLUGINPATH_NAME}"
"LD_LIBRARY_PATH=${ADDITIONAL_LD_LIBRARY_PATH}"
)

mayaUsd_add_test(TestALUSDMayaPython_ImportModule
PYTHON_MODULE testUSDMayaPythonModuleOnly
ENV
"PXR_PLUGINPATH_NAME=${ADDITIONAL_PXR_PLUGINPATH_NAME}"
"LD_LIBRARY_PATH=${ADDITIONAL_LD_LIBRARY_PATH}"
NO_STANDALONE_INIT
)
1 change: 1 addition & 0 deletions plugin/al/schemas/AL/usd/schemas/maya/tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -51,4 +51,5 @@ mayaUsd_add_test(${TARGET_NAME}
COMMAND $<TARGET_FILE:${TARGET_NAME}>
ENV
"PXR_PLUGINPATH_NAME=${ADDITIONAL_PXR_PLUGINPATH_NAME}"
"LD_LIBRARY_PATH=${ADDITIONAL_LD_LIBRARY_PATH}"
)
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ mayaUsd_add_test(${TEST_NAME}
"PYTHONPATH=${CMAKE_CURRENT_SOURCE_DIR}"
"TEST_DIR=${CMAKE_CURRENT_SOURCE_DIR}"
"PXR_PLUGINPATH_NAME=${ADDITIONAL_PXR_PLUGINPATH_NAME}"
"LD_LIBRARY_PATH=${ADDITIONAL_LD_LIBRARY_PATH}"
)
1 change: 1 addition & 0 deletions plugin/al/translators/tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ mayaUsd_add_test(TestAdditionalTranslators
PYTHON_MODULE testTranslators
ENV
"PXR_PLUGINPATH_NAME=${ADDITIONAL_PXR_PLUGINPATH_NAME}"
"LD_LIBRARY_PATH=${ADDITIONAL_LD_LIBRARY_PATH}"
)
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,14 @@ target_include_directories(${USDTRANSACTION_TEST_EXECUTABLE_NAME}

mayaUsd_add_test(${USDTRANSACTION_TEST_NAME}
COMMAND ${USDTRANSACTION_TEST_EXECUTABLE_NAME}
ENV
"LD_LIBRARY_PATH=${ADDITIONAL_LD_LIBRARY_PATH}"
)

mayaUsd_add_test(${USDTRANSACTION_PYTHON_TEST_NAME}
COMMAND ${MAYA_PY_EXECUTABLE} -m unittest discover -s ${CMAKE_CURRENT_SOURCE_DIR}
ENV
"LD_LIBRARY_PATH=${ADDITIONAL_LD_LIBRARY_PATH}"
)

if (TARGET all_tests)
Expand Down
2 changes: 2 additions & 0 deletions test/lib/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ foreach(script ${test_script_files})
mayaUsd_get_unittest_target(target ${script})
mayaUsd_add_test(${target}
PYTHON_MODULE ${target}
ENV
"LD_LIBRARY_PATH=${ADDITIONAL_LD_LIBRARY_PATH}"
)
endforeach()

Expand Down
1 change: 1 addition & 0 deletions test/lib/ufe/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ foreach(script ${test_script_files})
ENV
"MAYA_PLUG_IN_PATH=${CMAKE_CURRENT_BINARY_DIR}/ufeTestPlugins"
"UFE_PREVIEW_VERSION_NUM=${UFE_PREVIEW_VERSION_NUM}"
"LD_LIBRARY_PATH=${ADDITIONAL_LD_LIBRARY_PATH}"
)

# Assign a ctest label to these tests for easy filtering.
Expand Down
2 changes: 2 additions & 0 deletions test/lib/usd/schemas/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,7 @@ foreach(script ${test_script_files})
mayaUsd_get_unittest_target(target ${script})
mayaUsd_add_test(${target}
PYTHON_MODULE ${target}
ENV
"LD_LIBRARY_PATH=${ADDITIONAL_LD_LIBRARY_PATH}"
)
endforeach()
2 changes: 2 additions & 0 deletions test/lib/usd/utils/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,6 @@ target_link_libraries(${TARGET_NAME}
# -----------------------------------------------------------------------------
mayaUsd_add_test(${TARGET_NAME}
COMMAND $<TARGET_FILE:${TARGET_NAME}>
ENV
"LD_LIBRARY_PATH=${ADDITIONAL_LD_LIBRARY_PATH}"
)