Skip to content

Conversation

@kaitozaw
Copy link
Collaborator

@kaitozaw kaitozaw commented Jan 3, 2026

Pull Request

Category

Bug, Tests

Feature/Issue Description

Q: Please give a brief summary of your feature/fix
A: Fixed orphaned BeEF server processes after test runs and added Firefox/geckodriver support for Selenium-based integration tests. Tests no longer fail with "Port 3000 already in use" errors and all long tests now pass successfully.

Q: Give a technical rundown of what you have changed (if applicable)
A:

  • spec/spec_helper.rb: Changed exit if pid.nil? to return if pid.nil? in stop_beef_server to prevent premature test suite termination. Changed exit to raise in start_beef_server to allow RSpec cleanup hooks to run properly.
  • spec/support/ui_support.rb: Added rescue block in start_beef_and_hook_browser to ensure BeEF server cleanup even when browser setup fails mid-process.
  • Dockerfile: Added firefox-esr package and geckodriver installation to enable Selenium WebDriver tests to run in Docker container.

Test Cases

Q: Describe your test cases, what you have covered and if there are any use cases that still need addressing.
A:
All existing short tests (unit) and long tests (integration with Selenium) now pass. Verified that BeEF processes are properly killed after each test, no port conflicts occur between test runs, and tests are no longer seed-dependent. Tested with multiple RSpec seed values to confirm deterministic behavior.

@kaitozaw kaitozaw deployed to Integrate Pull Request January 3, 2026 06:03 — with GitHub Actions Active
@kaitozaw kaitozaw linked an issue Jan 3, 2026 that may be closed by this pull request
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.

Improper test cleanup and order-dependent results in long tests

1 participant