Skip to content

refactor: simplify find_executable using shutil.which - #22

Closed
Dor-bl wants to merge 1 commit into
masterfrom
refactor/simplify-find-executable-14895471279632432151
Closed

Dor-bl wants to merge 1 commit into
masterfrom
refactor/simplify-find-executable-14895471279632432151

Conversation

@Dor-bl

@Dor-bl Dor-bl commented Oct 11, 2026

Copy link
Copy Markdown
Owner

🎯 What: Replaced the manual executable lookup logic in find_executable within appium/webdriver/appium_service.py with Python's standard library shutil.which. Added unit tests in test/unit/webdriver/appium_service_test.py to verify behavior when an executable is found and when it is not.

💡 Why: shutil.which simplifies the implementation, improves readability, and leverages built-in, cross-platform resolution for executable files.

✅ Verification:

  • Ran unit tests: PYTHONPATH=. uv run pytest test/unit/webdriver/appium_service_test.py (5 passed)
  • Ran linter, type-checker, and formatting checks: make check (all passed)

✨ Result: Improved maintainability and cleanliness of find_executable without changing external behavior.


PR created automatically by Jules for task 14895471279632432151 started by @Dor-bl

@google-labs-jules

Copy link
Copy Markdown

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@Dor-bl
Dor-bl force-pushed the refactor/simplify-find-executable-14895471279632432151 branch from f2f5ce1 to 2b5d845 Compare October 20, 2026 19:30
@Dor-bl
Dor-bl force-pushed the refactor/simplify-find-executable-14895471279632432151 branch from bcdd669 to e31fd1c Compare October 24, 2026 19:48
Replace manual PATH lookup logic in find_executable with direct shutil.which calls in get_node and get_npm, and add unit test coverage.
@Dor-bl
Dor-bl force-pushed the refactor/simplify-find-executable-14895471279632432151 branch from e31fd1c to 490c954 Compare October 24, 2026 19:58

Dor-bl commented Oct 27, 2026 •

Copy link
Copy Markdown
Owner Author

Closing: superseded by upstream. 3392743 ("refactor: simplify executable lookup using shutil.which", appium#1329) landed on appium/python-client and removes find_executable entirely, inlining shutil.which() calls directly into get_node/get_npm — a more thorough version of this same idea. This fork's master hasn't picked that commit up yet, but once it does this PR's target function won't exist anymore.

Heads up: #24's tests monkeypatch appium_service.find_executable directly and assert the old Windows npm.cmd suffix behavior, which that upstream commit also drops — #24 will need rework once this fork syncs past 3392743, though it isn't broken yet since the fork hasn't picked it up.


Generated by Claude Code

@Dor-bl Dor-bl closed this Oct 27, 2026
@google-labs-jules

Copy link
Copy Markdown

Closing: superseded by upstream. 3392743 ("refactor: simplify executable lookup using shutil.which", appium#1329) landed on appium/python-client and removes find_executable entirely, inlining shutil.which() calls directly into get_node/get_npm — a more thorough version of this same idea. This fork's master hasn't picked that commit up yet, but once it does this PR's target function won't exist anymore.

Heads up: #24's tests monkeypatch appium_service.find_executable directly and assert the old Windows npm.cmd suffix behavior, which that upstream commit also drops — #24 will need rework once this fork syncs past 3392743, though it isn't broken yet since the fork hasn't picked it up.


_Generated by Claude Code


Generated by Claude Code

Understood. Acknowledging that this work is superseded by upstream and stopping work on this task.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant