diff --git a/docs/updates/2026-10.md b/docs/updates/2026-10.md index 1f774122..1d2cc9c3 100644 --- a/docs/updates/2026-10.md +++ b/docs/updates/2026-10.md @@ -632,3 +632,8 @@ Index and query commands: [README.md](README.md). New entries go at the end. ## U-20261011-01 · 2026-10-11 · Repair stable release security and browser checks · #done #ci Require HTTPS for native basic auth except explicit loopback test servers; reject credentials embedded in navigation URLs. Parse comparison messages with bounded string operations and upgrade the locked urllib3 release to 2.8.0. Remove changing page geometry from the legacy live-site smoke check. Review HTML escaping, lazy import allowlists and test-only security findings with targeted explanations. Native auth, hostile report values, parsing and lazy exports pass 48 focused tests. The full CI unit-test scope passes 4875 tests (2 skipped, 67 subtests passed). + + +## U-20261011-02 · 2026-10-11 · Make Firefox option smoke failures fail CI · #done #ci + +Pass argument lists to the WebdriverManager API instead of Selenium Options objects. Remove the startup exception handler that incorrectly reported API errors as successful skips, verify both real Firefox drivers exist, and always close them. Validate against the five supported Python versions in the browser CI matrix. diff --git a/docs/updates/README.md b/docs/updates/README.md index 9efbdc5c..449d5545 100644 --- a/docs/updates/README.md +++ b/docs/updates/README.md @@ -58,6 +58,7 @@ In the same commit: delete the item from `progress.md`, add a `#done` entry here | ID | Date | Title | Tags | Batch | |---|---|---|---|---| +| U-20261011-02 | 2026-10-11 | Make Firefox option smoke failures fail CI | #done #ci | [2026-10](2026-10.md) | | U-20261011-01 | 2026-10-11 | Repair stable release security and browser checks | #done #ci | [2026-10](2026-10.md) | | U-20261008-01 | 2026-10-08 | The CLI exits 1 when the run failed; reports go below TestPioneer's artifact directory | #feature #cli #report #testpioneer | [2026-10](2026-10.md) | | U-20261001-53 | 2026-10-01 | The publish jobs build with the locked setuptools instead of downloading the newest | #ci #security #X-13 | [2026-10](2026-10.md) | @@ -144,5 +145,5 @@ In the same commit: delete the item from `progress.md`, add a `#done` entry here | File | Period | Entries | |---|---|---:| -| [2026-10.md](2026-10.md) | 2026-10 | 56 | +| [2026-10.md](2026-10.md) | 2026-10 | 57 | | [2026-09.md](2026-09.md) | 2026-09 | 25 | diff --git a/test/unit_test/start_webdriver_with_options/webdriver_with_options.py b/test/unit_test/start_webdriver_with_options/webdriver_with_options.py index bfe8cb01..c0e7756d 100644 --- a/test/unit_test/start_webdriver_with_options/webdriver_with_options.py +++ b/test/unit_test/start_webdriver_with_options/webdriver_with_options.py @@ -1,23 +1,16 @@ -import sys +"""Exercise manager browser arguments with real Firefox; failures must fail CI.""" from je_web_runner import get_webdriver_manager -from je_web_runner import set_webdriver_options_argument +webdriver_manager = get_webdriver_manager( + "firefox", options=["--headless", "--disable-extensions"] +) try: - webdriver_manager = get_webdriver_manager( - "firefox", - options=set_webdriver_options_argument("firefox", ["--disable-extensions"]), - ) -except Exception as error: # pylint: disable=broad-except - print(f"webdriver_with_options skipped: cannot start firefox ({error!r})", file=sys.stderr) - sys.exit(0) - -try: - webdriver_manager.new_driver( - "firefox", - options=set_webdriver_options_argument("firefox", ["--headless"]), - ) + if webdriver_manager.current_webdriver is None: + raise RuntimeError("Initial Firefox driver was not created") + webdriver_manager.new_driver("firefox", options=["--headless"]) + if webdriver_manager.current_webdriver is None: + raise RuntimeError("Second Firefox driver was not created") + print("webdriver_with_options: both Firefox drivers started successfully") +finally: webdriver_manager.quit() -except Exception as error: # pylint: disable=broad-except - print(repr(error), file=sys.stderr) - sys.exit(1)