mirror of
https://github.com/huggingface/lerobot.git
synced 2026-05-20 19:19:56 +00:00
complete migration
This commit is contained in:
@@ -14,10 +14,49 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
from unittest.mock import patch
|
||||
|
||||
import pytest
|
||||
|
||||
import lerobot
|
||||
from lerobot.utils.import_utils import _require_package_cache, require_package
|
||||
|
||||
|
||||
def test_version():
|
||||
"""Verify the package exposes a version string."""
|
||||
assert isinstance(lerobot.__version__, str)
|
||||
assert len(lerobot.__version__) > 0
|
||||
|
||||
|
||||
def test_require_package_raises_when_missing():
|
||||
"""require_package raises ImportError with install instructions when a package is missing."""
|
||||
with patch("lerobot.utils.import_utils.is_package_available", return_value=False):
|
||||
# Clear the cache so the mock takes effect
|
||||
_require_package_cache.clear()
|
||||
try:
|
||||
with pytest.raises(ImportError, match=r"pip install 'lerobot\[dataset\]'"):
|
||||
require_package("datasets", extra="dataset")
|
||||
finally:
|
||||
_require_package_cache.clear()
|
||||
|
||||
|
||||
def test_require_package_passes_when_available():
|
||||
"""require_package does not raise when the package is installed."""
|
||||
with patch("lerobot.utils.import_utils.is_package_available", return_value=True):
|
||||
_require_package_cache.clear()
|
||||
try:
|
||||
# Should not raise
|
||||
require_package("datasets", extra="dataset")
|
||||
finally:
|
||||
_require_package_cache.clear()
|
||||
|
||||
|
||||
def test_require_package_error_message_includes_uv():
|
||||
"""Error message includes both pip and uv install commands."""
|
||||
with patch("lerobot.utils.import_utils.is_package_available", return_value=False):
|
||||
_require_package_cache.clear()
|
||||
try:
|
||||
with pytest.raises(ImportError, match=r"uv pip install"):
|
||||
require_package("grpcio", extra="async", import_name="grpc")
|
||||
finally:
|
||||
_require_package_cache.clear()
|
||||
|
||||
Reference in New Issue
Block a user