From 823b8df0fbdd856282431ae555de0c0458871cb2 Mon Sep 17 00:00:00 2001 From: Albert Villanova del Moral <8515462+albertvillanova@users.noreply.github.com> Date: Fri, 7 Feb 2025 15:51:14 +0100 Subject: [PATCH] Test E2B Executor (#540) --- .github/workflows/tests.yml | 5 +++++ tests/test_e2b_executor.py | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 tests/test_e2b_executor.py diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 5cf247b..3b7d6d4 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -78,6 +78,11 @@ jobs: uv run pytest ./tests/test_local_python_executor.py if: ${{ success() || failure() }} + - name: E2B executor tests + run: | + uv run pytest ./tests/test_e2b_executor.py + if: ${{ success() || failure() }} + - name: Search tests run: | uv run pytest ./tests/test_search.py diff --git a/tests/test_e2b_executor.py b/tests/test_e2b_executor.py new file mode 100644 index 0000000..5994a44 --- /dev/null +++ b/tests/test_e2b_executor.py @@ -0,0 +1,18 @@ +from unittest.mock import MagicMock, patch + +from smolagents.e2b_executor import E2BExecutor + + +class TestE2BExecutor: + def test_e2b_executor_instantiation(self): + logger = MagicMock() + with patch("e2b_code_interpreter.Sandbox") as mock_sandbox: + mock_sandbox.return_value.commands.run.return_value.error = None + mock_sandbox.return_value.run_code.return_value.error = None + executor = E2BExecutor(additional_imports=[], tools=[], logger=logger) + assert isinstance(executor, E2BExecutor) + assert executor.logger == logger + assert executor.final_answer is False + assert executor.custom_tools == {} + assert executor.final_answer_pattern.pattern == r"final_answer\((.*?)\)" + assert executor.sbx == mock_sandbox.return_value