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

[drake_cmake_external] Add test case to disable solver #370

Merged
merged 9 commits into from
Feb 25, 2025
7 changes: 4 additions & 3 deletions drake_cmake_external/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -95,11 +95,11 @@ set(DRAKE_PREFIX "${PROJECT_BINARY_DIR}/drake-prefix")

ExternalProject_Add(drake
DEPENDS eigen fmt spdlog
URL https://github.com/RobotLocomotion/drake/archive/master.tar.gz
# URL https://github.com/RobotLocomotion/drake/archive/master.tar.gz
# Or from a commit (download and use "shasum -a 256 'xxx.tar.gz'" on it to
# get the URL_HASH.
# URL https://github.com/RobotLocomotion/drake/archive/65c4366ea2b63278a286b1e22b8d464d50fbe365.tar.gz
# URL_HASH SHA256=899d98485522a7cd5251e50a7a6b8a64e40aff2a3af4951a3f0857fd938cafca
URL https://github.com/RobotLocomotion/drake/archive/f848b02282cda2128475aa9a10db704a086b9752.tar.gz
URL_HASH SHA256=baee279a679268eddb98fa8ec0356dae8ec0e86520e80e5559e73030f9c8cca2
TLS_VERIFY ON
CMAKE_ARGS
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
Expand All @@ -112,6 +112,7 @@ ExternalProject_Add(drake
-DWITH_USER_EIGEN:BOOLEAN=ON
-DWITH_USER_FMT:BOOLEAN=ON
-DWITH_USER_SPDLOG:BOOLEAN=ON
-DWITH_CSDP:BOOLEAN=OFF
PREFIX "${DRAKE_PREFIX}"
BINARY_DIR "${PROJECT_BINARY_DIR}/drake"
BUILD_ALWAYS ON
Expand Down
10 changes: 10 additions & 0 deletions drake_cmake_external/drake_external_examples/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,13 @@ set_tests_properties(import_all_test PROPERTIES
ENVIRONMENT "PYTHONPATH=${DRAKE_PYTHONPATH}"
)

add_test(NAME solver_disabled_test
COMMAND Python3::Interpreter -B -m unittest solver_disabled_test
)
set_tests_properties(solver_disabled_test PROPERTIES
ENVIRONMENT "PYTHONPATH=${DRAKE_PYTHONPATH}"
LABELS small
REQUIRED_FILES "${CMAKE_CURRENT_SOURCE_DIR}/solver_disabled_test.py"
TIMEOUT 60
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# SPDX-License-Identifier: MIT-0

"""
Provides an example of disabling the open-source CSDP solver.
"""

import unittest

from pydrake.solvers import CsdpSolver

class TestCsdpSolver(unittest.TestCase):
def test_unavailable(self):
solver = CsdpSolver()
self.assertFalse(solver.available())

if __name__ == '__main__':
unittest.main()
Loading