mirror of
https://github.com/OpenHands/OpenHands.git
synced 2025-12-26 05:48:36 +08:00
Revert "Add username parameter to AsyncBashSession" (#8767)
This commit is contained in:
parent
9f86f731a7
commit
c76809a766
@ -390,9 +390,7 @@ class ActionExecutor:
|
||||
try:
|
||||
if action.is_static:
|
||||
path = action.cwd or self._initial_cwd
|
||||
result = await AsyncBashSession.execute(
|
||||
action.command, path, self.username
|
||||
)
|
||||
result = await AsyncBashSession.execute(action.command, path)
|
||||
obs = CmdOutputObservation(
|
||||
content=result.content,
|
||||
exit_code=result.exit_code,
|
||||
|
||||
@ -346,7 +346,7 @@ class Runtime(FileEditRuntimeMixin):
|
||||
'No repository selected. Initializing a new git repository in the workspace.'
|
||||
)
|
||||
action = CmdRunAction(
|
||||
command=f'git init && git config --global --add safe.directory {self.workspace_root}'
|
||||
command='git init',
|
||||
)
|
||||
self.run_action(action)
|
||||
else:
|
||||
|
||||
@ -1,15 +1,12 @@
|
||||
import asyncio
|
||||
import os
|
||||
import pwd
|
||||
|
||||
from openhands.runtime.base import CommandResult
|
||||
|
||||
|
||||
class AsyncBashSession:
|
||||
@staticmethod
|
||||
async def execute(
|
||||
command: str, work_dir: str, username: str | None = None
|
||||
) -> CommandResult:
|
||||
async def execute(command: str, work_dir: str) -> CommandResult:
|
||||
"""Execute a command in the bash session asynchronously."""
|
||||
work_dir = os.path.abspath(work_dir)
|
||||
|
||||
@ -20,24 +17,12 @@ class AsyncBashSession:
|
||||
if not command:
|
||||
return CommandResult(content='', exit_code=0)
|
||||
|
||||
env = {}
|
||||
if username:
|
||||
try:
|
||||
user_info = pwd.getpwnam(username)
|
||||
env['HOME'] = user_info.pw_dir
|
||||
env['USER'] = username
|
||||
env['LOGNAME'] = username
|
||||
except KeyError:
|
||||
raise ValueError(f'User {username} does not exist.')
|
||||
# Prepare to run the command
|
||||
try:
|
||||
process = await asyncio.subprocess.create_subprocess_shell(
|
||||
command,
|
||||
stdout=asyncio.subprocess.PIPE,
|
||||
stderr=asyncio.subprocess.PIPE,
|
||||
cwd=work_dir,
|
||||
user=username,
|
||||
env=env,
|
||||
)
|
||||
|
||||
try:
|
||||
|
||||
@ -234,10 +234,7 @@ async def test_clone_or_init_repo_no_repo_with_user_id(temp_dir):
|
||||
# Verify that git init was called
|
||||
assert len(runtime.run_action_calls) == 1
|
||||
assert isinstance(runtime.run_action_calls[0], CmdRunAction)
|
||||
assert (
|
||||
runtime.run_action_calls[0].command
|
||||
== f'git init && git config --global --add safe.directory {runtime.workspace_root}'
|
||||
)
|
||||
assert runtime.run_action_calls[0].command == 'git init'
|
||||
assert result == ''
|
||||
|
||||
|
||||
@ -258,10 +255,7 @@ async def test_clone_or_init_repo_no_repo_no_user_id_no_workspace_base(temp_dir)
|
||||
# Verify that git init was called
|
||||
assert len(runtime.run_action_calls) == 1
|
||||
assert isinstance(runtime.run_action_calls[0], CmdRunAction)
|
||||
assert (
|
||||
runtime.run_action_calls[0].command
|
||||
== f'git init && git config --global --add safe.directory {runtime.workspace_root}'
|
||||
)
|
||||
assert runtime.run_action_calls[0].command == 'git init'
|
||||
assert result == ''
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user