Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[rust] Selenium Manager support nightly Grid (#13384) #15366

Merged
merged 1 commit into from
Mar 10, 2025

Conversation

bonigarcia
Copy link
Member

@bonigarcia bonigarcia commented Mar 3, 2025

User description

Motivation and Context

This PR allows SM to support the nightly label to manage Grid SNAPSHOTS, as requested in #13384. For example:

./selenium-manager --debug --grid nightly
[2025-03-03T15:28:16.874Z DEBUG] grid not found in the system
[2025-03-03T15:28:17.036Z DEBUG] Required driver: selenium-server 4.30.0-SNAPSHOT
[2025-03-03T15:28:17.037Z DEBUG] Acquiring lock: C:\Users\boni\.cache\selenium\grid\4.30.0-SNAPSHOT\sm.lock
[2025-03-03T15:28:17.037Z DEBUG] Downloading selenium-server 4.30.0-SNAPSHOT from https://github.com/SeleniumHQ/selenium/releases/download/nightly/selenium-server-4.30.0-SNAPSHOT.jar
[2025-03-03T15:28:21.533Z INFO ] Driver path: C:\Users\boni\.cache\selenium\grid\4.30.0-SNAPSHOT\selenium-server-4.30.0-SNAPSHOT.jar
./selenium-manager --debug --grid
[2025-03-03T15:28:26.188Z DEBUG] grid not found in the system
[2025-03-03T15:28:26.230Z DEBUG] Required driver: selenium-server 4.29.0
[2025-03-03T15:28:26.232Z DEBUG] Acquiring lock: C:\Users\boni\.cache\selenium\grid\4.29.0\sm.lock
[2025-03-03T15:28:26.232Z DEBUG] Downloading selenium-server 4.29.0 from https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.29.0/selenium-server-4.29.0.jar
[2025-03-03T15:28:30.690Z INFO ] Driver path: C:\Users\boni\.cache\selenium\grid\4.29.0\selenium-server-4.29.0.jar
./selenium-manager --debug --grid 4.28.0
[2025-03-03T15:28:34.507Z DEBUG] grid not found in the system
[2025-03-03T15:28:34.508Z DEBUG] Acquiring lock: C:\Users\boni\.cache\selenium\grid\4.28.0\sm.lock
[2025-03-03T15:28:34.508Z DEBUG] Downloading selenium-server 4.28.0 from https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.28.0/selenium-server-4.28.0.jar
[2025-03-03T15:28:39.088Z INFO ] Driver path: C:\Users\boni\.cache\selenium\grid\4.28.0\selenium-server-4.28.0.jar

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • I have read the contributing document.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

PR Type

Enhancement, Bug fix


Description

  • Added support for nightly label in Selenium Manager to manage Grid SNAPSHOTS.

  • Updated logic to handle nightly and non-nightly driver versions.

  • Enhanced metadata handling for nightly driver versions.

  • Improved version parsing and validation for Grid releases.


Changes walkthrough 📝

Relevant files
Enhancement
grid.rs
Implement nightly Grid support in Selenium Manager             

rust/src/grid.rs

  • Added logic to detect and handle nightly driver versions.
  • Updated filtering of Selenium releases based on nightly or stable
    versions.
  • Adjusted version parsing for nightly driver URLs.
  • Refactored metadata handling to include nightly driver versions.
  • +20/-10 
    lib.rs
    Update driver version discovery for nightly Grid                 

    rust/src/lib.rs

  • Added condition to check for nightly Grid versions.
  • Updated driver version discovery logic for nightly support.
  • Enhanced validation for nightly driver versions.
  • +4/-2     

    Need help?
  • Type /help how to ... in the comments thread for any questions about Qodo Merge usage.
  • Check out the documentation for more information.
  • @bonigarcia bonigarcia added the C-rust Rust code is mostly Selenium Manager label Mar 3, 2025
    @bonigarcia bonigarcia moved this to In Progress in Selenium Manager Mar 3, 2025
    Copy link
    Contributor

    qodo-merge-pro bot commented Mar 3, 2025

    PR Reviewer Guide 🔍

    Here are some key observations to aid the review process:

    ⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
    🧪 No relevant tests
    🔒 No security concerns identified
    ⚡ Recommended focus areas for review

    Error Handling

    The nightly version parsing logic does not include explicit error handling for malformed URLs or missing version information in the download URL.

    let driver_version = if is_nightly {
        let index_jar = driver_url.rfind(GRID_EXTENSION).unwrap() - 1;
        driver_url.as_str()[index_release..index_jar].to_string()
    } else {
        parse_version(
            driver_url.as_str()[index_release..].to_string(),
            self.get_logger(),
        )?
    };
    Edge Case

    The version validation logic may not properly handle all edge cases where a version string contains both SNAPSHOT and ends with '0'.

    if !driver_version.ends_with('0') && !self.is_nightly(driver_version) {

    Copy link
    Contributor

    qodo-merge-pro bot commented Mar 3, 2025

    PR Code Suggestions ✨

    Explore these optional code suggestions:

    CategorySuggestion                                                                                                                                    Impact
    Possible issue
    Add error handling for unwrap

    Add error handling for the case when rfind(GRID_RELEASE) returns None to prevent
    unwrap panic.

    rust/src/grid.rs [161-162]

    -let index_release =
    -    driver_url.rfind(GRID_RELEASE).unwrap() + GRID_RELEASE.len() + 1;
    +let index_release = driver_url
    +    .rfind(GRID_RELEASE)
    +    .ok_or_else(|| Error::WebDriverError(format!("Invalid Grid URL format: {}", driver_url)))?
    +    + GRID_RELEASE.len() + 1;
    • Apply this suggestion
    Suggestion importance[1-10]: 9

    __

    Why: The suggestion addresses a critical safety issue by preventing potential runtime panics when GRID_RELEASE is not found in the URL. Using unwrap() without error handling could crash the application in production.

    High
    Handle potential None in extension parsing

    Add error handling for the case when rfind(GRID_EXTENSION) returns None to
    prevent unwrap panic in nightly version parsing.

    rust/src/grid.rs [163-166]

     let driver_version = if is_nightly {
    -    let index_jar = driver_url.rfind(GRID_EXTENSION).unwrap() - 1;
    +    let index_jar = driver_url
    +        .rfind(GRID_EXTENSION)
    +        .ok_or_else(|| Error::WebDriverError(format!("Invalid Grid extension format: {}", driver_url)))?
    +        - 1;
         driver_url.as_str()[index_release..index_jar].to_string()
     } else {
    • Apply this suggestion
    Suggestion importance[1-10]: 9

    __

    Why: This suggestion fixes a potential runtime panic by properly handling the case where GRID_EXTENSION is not found in the URL, especially critical for nightly version parsing.

    High
    Add string bounds validation

    Add bounds checking before string slicing to prevent potential panic if indices
    are out of range.

    rust/src/grid.rs [165]

    +if index_release >= driver_url.len() || index_jar > driver_url.len() || index_release > index_jar {
    +    return Err(Error::WebDriverError(format!("Invalid version string indices in URL: {}", driver_url)));
    +}
     driver_url.as_str()[index_release..index_jar].to_string()
    • Apply this suggestion
    Suggestion importance[1-10]: 8

    __

    Why: The suggestion prevents potential index out of bounds panics during string slicing, which is a critical safety improvement for handling malformed URLs.

    Medium
    • Update

    @bonigarcia bonigarcia force-pushed the sm_nightly_grid branch 2 times, most recently from 266e57d to 3ff3a1a Compare March 3, 2025 17:21
    Copy link
    Contributor

    qodo-merge-pro bot commented Mar 3, 2025

    CI Feedback 🧐

    (Feedback updated until commit 3ff3a1a)

    A test triggered by this PR failed. Here is an AI-generated analysis of the failure:

    Action: Rust / Tests (windows) / Tests (windows)

    Failed stage: Run Bazel [❌]

    Failed test name: integration_output_tests

    Failure summary:

    The action failed due to test failures in the integration_output_tests suite:

  • 3 tests failed consistently across multiple runs: json_output_test, shell_output_test, and
    mixed_output_test
  • The root cause appears to be that the ChromeDriver was unavailable at the expected path:
    C:\Users\runneradmin.cache\selenium\chromedriver\win64\133.0.6943.141\chromedriver.exe
  • The json_output_test failed with assertion driver.exists(), indicating the driver file was not found
  • The tests returned error code 69 with message "Driver unavailable"

  • Relevant error logs:
    1:  ##[group]Operating System
    2:  Microsoft Windows Server 2022
    ...
    
    541:  Build Script Warning: cl : Command line warning D9002 : ignoring unknown option '-fvisibility=hidden'
    542:  Build Script Warning: cl : Command line warning D9002 : ignoring unknown option '-fvisibility=hidden'
    543:  Build Script Warning: cl : Command line warning D9002 : ignoring unknown option '-fvisibility=hidden'
    544:  Build Script Warning: cl : Command line warning D9002 : ignoring unknown option '-fvisibility=hidden'
    545:  Build Script Warning: cl : Command line warning D9002 : ignoring unknown option '-fvisibility=hidden'
    546:  Build Script Warning: cl : Command line warning D9002 : ignoring unknown option '-fvisibility=hidden'
    547:  Build Script Warning: cl : Command line warning D9002 : ignoring unknown option '-fvisibility=hidden'
    548:  Build Script Warning: cl : Command line warning D9002 : ignoring unknown option '-fvisibility=hidden'
    549:  �[32m[483 / 638]�[0m Compiling Rust rlib thiserror v1.0.69 (50 files); 0s disk-cache ... (4 actions, 0 running)
    ...
    
    567:  �[32m[644 / 654]�[0m 24 / 34 tests;�[0m Testing //rust/tests:integration_exec_driver_tests; 6s local, disk-cache ... (4 actions running)
    568:  ==================== Test output for //rust/tests:integration_exec_driver_tests:
    569:  �[35mFLAKY: �[0m//rust/tests:integration_exec_driver_tests (Summary)
    570:  D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rust/tests/integration_exec_driver_tests/test_attempts/attempt_1.log
    571:  running 4 tests
    572:  �[32mINFO: �[0mFrom Testing //rust/tests:integration_exec_driver_tests:
    573:  test exec_driver_test::case_3 ... ok
    574:  thread 'exec_driver_test::case_1' panicked at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf\library\core\src\ops\function.rs:250:5:
    575:  Unexpected failure.
    576:  code=69
    577:  stderr=```""```
    578:  command=`"rust/selenium-manager.exe" "--browser" "chrome" "--output" "json"`
    579:  code=69
    580:  stdout=```
    581:  {
    582:  \"logs\": [
    583:  {
    584:  \"level\": \"ERROR\",
    ...
    
    619:  20:     0x7ff683a45772 - <unknown>
    620:  21:     0x7ff683a92940 - <unknown>
    621:  22:     0x7ff683a91cd4 - <unknown>
    622:  23:     0x7ff683a4d3db - <unknown>
    623:  24:     0x7ff683a51825 - <unknown>
    624:  25:     0x7ff683b40dbd - <unknown>
    625:  26:     0x7ffee2604cb0 - BaseThreadInitThunk
    626:  27:     0x7ffee457edcb - RtlUserThreadStart
    627:  test exec_driver_test::case_1 ... FAILED
    ...
    
    645:  "browser_path": "C:\\Program Files\\Internet Explorer\\iexplore.exe"
    646:  }
    647:  }
    648:  **** EXEC DRIVER: IEDriverServer.exe 4.14.0.0 (32-bit)
    649:  test exec_driver_test::case_4 ... ok
    650:  failures:
    651:  failures:
    652:  exec_driver_test::case_1
    653:  test result: FAILED. 3 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.08s
    654:  ================================================================================
    655:  �[32m[648 / 654]�[0m 28 / 34 tests;�[0m Testing //rust/tests:integration_output_tests; 6s local, disk-cache ... (4 actions, 3 running)
    656:  �[32m[648 / 654]�[0m 28 / 34 tests;�[0m Testing //rust/tests:integration_output_tests; 7s local, disk-cache ... (4 actions running)
    657:  �[31m�[1mFAIL: �[0m//rust/tests:integration_output_tests (see D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rust/tests/integration_output_tests/test.log)
    658:  ==================== Test output for //rust/tests:integration_output_tests:
    659:  �[31m�[1mFAILED: �[0m//rust/tests:integration_output_tests (Summary)
    660:  running 3 tests
    661:  D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rust/tests/integration_output_tests/test.log
    662:  thread 'shell_output_test' panicked at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf\library\core\src\ops\function.rs:250:5:
    663:  D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rust/tests/integration_output_tests/test_attempts/attempt_1.log
    664:  Unexpected failure.
    ...
    
    693:  19:     0x7ff76f396be2 - <unknown>
    694:  20:     0x7ff76f3e4410 - <unknown>
    695:  21:     0x7ff76f3e37a4 - <unknown>
    696:  22:     0x7ff76f39eeab - <unknown>
    697:  23:     0x7ff76f3a32f5 - <unknown>
    698:  24:     0x7ff76f47d60d - <unknown>
    699:  25:     0x7ffee2604cb0 - BaseThreadInitThunk
    700:  26:     0x7ffee457edcb - RtlUserThreadStart
    701:  test shell_output_test ... FAILED
    ...
    
    715:  "result": {
    716:  "code": 0,
    717:  "message": "",
    718:  "driver_path": "C:\\Users\\runneradmin\\.cache\\selenium\\chromedriver\\win64\\133.0.6943.141\\chromedriver.exe",
    719:  "browser_path": "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"
    720:  }
    721:  }
    722:  thread 'json_output_test' panicked at rust/tests/output_tests.rs:42:5:
    723:  assertion failed: driver.exists()
    ...
    
    739:  14:     0x7ff76f396c32 - <unknown>
    740:  15:     0x7ff76f3e4410 - <unknown>
    741:  16:     0x7ff76f3e37a4 - <unknown>
    742:  17:     0x7ff76f39eeab - <unknown>
    743:  18:     0x7ff76f3a32f5 - <unknown>
    744:  19:     0x7ff76f47d60d - <unknown>
    745:  20:     0x7ffee2604cb0 - BaseThreadInitThunk
    746:  21:     0x7ffee457edcb - RtlUserThreadStart
    747:  test json_output_test ... FAILED
    748:  thread 'mixed_output_test' panicked at external/crates__assert_cmd-2.0.16/src\output.rs:65:25:
    749:  command="rust/selenium-manager.exe" "--browser" "chrome" "--output" "mixed"
    750:  code=69
    751:  stdout=```
    752:  {
    753:  \"driver_path\": \"\",
    754:  \"browser_path\": \"\",
    755:  \"error\": \"Driver unavailable: C:\\\\Users\\\\runneradmin\\\\.cache\\\\selenium\\\\chromedriver\\\\win64\\\\133.0.6943.141\\\\chromedriver.exe\"
    756:  }```
    757:  stderr="[ERROR] Driver unavailable: C:\\Users\\runneradmin\\.cache\\selenium\\chromedriver\\win64\\133.0.6943.141\\chromedriver.exe\n"
    ...
    
    777:  18:     0x7ff76f396b92 - <unknown>
    778:  19:     0x7ff76f3e4410 - <unknown>
    779:  20:     0x7ff76f3e37a4 - <unknown>
    780:  21:     0x7ff76f39eeab - <unknown>
    781:  22:     0x7ff76f3a32f5 - <unknown>
    782:  23:     0x7ff76f47d60d - <unknown>
    783:  24:     0x7ffee2604cb0 - BaseThreadInitThunk
    784:  25:     0x7ffee457edcb - RtlUserThreadStart
    785:  test mixed_output_test ... FAILED
    786:  failures:
    787:  failures:
    788:  json_output_test
    789:  mixed_output_test
    790:  shell_output_test
    791:  test result: FAILED. 0 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.42s
    792:  ================================================================================
    793:  ==================== Test output for //rust/tests:integration_output_tests:
    794:  running 3 tests
    795:  thread 'shell_output_test' panicked at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf\library\core\src\ops\function.rs:250:5:
    796:  Unexpected failure.
    ...
    
    823:  19:     0x7ff76f396be2 - <unknown>
    824:  20:     0x7ff76f3e4410 - <unknown>
    825:  21:     0x7ff76f3e37a4 - <unknown>
    826:  22:     0x7ff76f39eeab - <unknown>
    827:  23:     0x7ff76f3a32f5 - <unknown>
    828:  24:     0x7ff76f47d60d - <unknown>
    829:  25:     0x7ffee2604cb0 - BaseThreadInitThunk
    830:  26:     0x7ffee457edcb - RtlUserThreadStart
    831:  test shell_output_test ... FAILED
    ...
    
    845:  "result": {
    846:  "code": 0,
    847:  "message": "",
    848:  "driver_path": "C:\\Users\\runneradmin\\.cache\\selenium\\chromedriver\\win64\\133.0.6943.141\\chromedriver.exe",
    849:  "browser_path": "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"
    850:  }
    851:  }
    852:  thread 'json_output_test' panicked at rust/tests/output_tests.rs:42:5:
    853:  assertion failed: driver.exists()
    ...
    
    863:  8:     0x7ff76f46f9ff - <unknown>
    864:  9:     0x7ff76f47143e - <unknown>
    865:  10:     0x7ff76f59be11 - <unknown>
    866:  11:     0x7ff76f59becd - <unknown>
    867:  12:     0x7ff76f39c846 - <unknown>
    868:  13:     0x7ff76f39c553 - <unknown>
    869:  14:     0x7ff76f396c32 - <unknown>
    870:  15:     0x7ff76f3e4410 - <unknown>
    871:  �[32m[649 / 654]�[0m 29 / 34 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rust/tests:integration_mirror_tests; 2s local, disk-cache ... (4 actions running)
    872:  16:     0x7ff76f3e37a4 - <unknown>
    873:  �[32m[649 / 654]�[0m 29 / 34 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rust/tests:integration_mirror_tests; 3s local, disk-cache ... (4 actions running)
    874:  17:     0x7ff76f39eeab - <unknown>
    875:  �[32m[650 / 654]�[0m 30 / 34 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rust/tests:integration_grid_tests; 4s local, disk-cache ... (4 actions, 3 running)
    876:  18:     0x7ff76f3a32f5 - <unknown>
    877:  �[32m[650 / 654]�[0m 31 / 34 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rust/tests:integration_grid_tests; 5s local, disk-cache ... (4 actions running)
    878:  19:     0x7ff76f47d60d - <unknown>
    879:  20:     0x7ffee2604cb0 - BaseThreadInitThunk
    880:  21:     0x7ffee457edcb - RtlUserThreadStart
    881:  test json_output_test ... FAILED
    882:  thread 'mixed_output_test' panicked at external/crates__assert_cmd-2.0.16/src\output.rs:65:25:
    883:  �[32m[651 / 654]�[0m 31 / 34 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rust/tests:integration_browser_tests; 7s local, disk-cache ... (3 actions running)
    884:  command="rust/selenium-manager.exe" "--browser" "chrome" "--output" "mixed"
    885:  code=69
    886:  stdout=```
    887:  {
    888:  \"driver_path\": \"\",
    889:  \"browser_path\": \"\",
    890:  \"error\": \"Driver unavailable: C:\\\\Users\\\\runneradmin\\\\.cache\\\\selenium\\\\chromedriver\\\\win64\\\\133.0.6943.141\\\\chromedriver.exe\"
    891:  }```
    892:  stderr="[ERROR] Driver unavailable: C:\\Users\\runneradmin\\.cache\\selenium\\chromedriver\\win64\\133.0.6943.141\\chromedriver.exe\n"
    ...
    
    912:  18:     0x7ff76f396b92 - <unknown>
    913:  19:     0x7ff76f3e4410 - <unknown>
    914:  20:     0x7ff76f3e37a4 - <unknown>
    915:  21:     0x7ff76f39eeab - <unknown>
    916:  22:     0x7ff76f3a32f5 - <unknown>
    917:  23:     0x7ff76f47d60d - <unknown>
    918:  24:     0x7ffee2604cb0 - BaseThreadInitThunk
    919:  25:     0x7ffee457edcb - RtlUserThreadStart
    920:  test mixed_output_test ... FAILED
    921:  failures:
    922:  failures:
    923:  json_output_test
    924:  mixed_output_test
    925:  shell_output_test
    926:  test result: FAILED. 0 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.73s
    927:  ================================================================================
    928:  ==================== Test output for //rust/tests:integration_output_tests:
    929:  running 3 tests
    930:  thread 'json_output_test' panicked at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf\library\core\src\ops\function.rs:250:5:
    931:  Unexpected failure.
    932:  code=69
    933:  stderr=```""```
    934:  command=`"rust/selenium-manager.exe" "--browser" "chrome" "--output" "json"`
    935:  code=69
    936:  stdout=```
    937:  {
    938:  \"logs\": [
    939:  {
    940:  \"level\": \"ERROR\",
    ...
    
    973:  19:     0x7ff76f396c32 - <unknown>
    974:  20:     0x7ff76f3e4410 - <unknown>
    975:  21:     0x7ff76f3e37a4 - <unknown>
    976:  22:     0x7ff76f39eeab - <unknown>
    977:  23:     0x7ff76f3a32f5 - <unknown>
    978:  24:     0x7ff76f47d60d - <unknown>
    979:  25:     0x7ffee2604cb0 - BaseThreadInitThunk
    980:  26:     0x7ffee457edcb - RtlUserThreadStart
    981:  test json_output_test ... FAILED
    982:  thread 'shell_output_test' panicked at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf\library\core\src\ops\function.rs:250:5:
    983:  Unexpected failure.
    ...
    
    1010:  19:     0x7ff76f396be2 - <unknown>
    1011:  20:     0x7ff76f3e4410 - <unknown>
    1012:  21:     0x7ff76f3e37a4 - <unknown>
    1013:  22:     0x7ff76f39eeab - <unknown>
    1014:  23:     0x7ff76f3a32f5 - <unknown>
    1015:  24:     0x7ff76f47d60d - <unknown>
    1016:  25:     0x7ffee2604cb0 - BaseThreadInitThunk
    1017:  26:     0x7ffee457edcb - RtlUserThreadStart
    1018:  test shell_output_test ... FAILED
    1019:  {
    1020:  "driver_path": "C:\\Users\\runneradmin\\.cache\\selenium\\chromedriver\\win64\\133.0.6943.141\\chromedriver.exe",
    1021:  "browser_path": "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe",
    1022:  "error": ""
    1023:  }
    1024:  stderr: [INFO ] Driver path: C:\Users\runneradmin\.cache\selenium\chromedriver\win64\133.0.6943.141\chromedriver.exe
    1025:  [INFO ] Browser path: C:\Program Files\Google\Chrome\Application\chrome.exe
    1026:  test mixed_output_test ... ok
    1027:  failures:
    1028:  failures:
    1029:  json_output_test
    1030:  shell_output_test
    1031:  test result: FAILED. 1 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.82s
    1032:  ================================================================================
    1033:  �[32m[651 / 654]�[0m 31 / 34 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rust/tests:integration_browser_tests; 10s local, disk-cache ... (3 actions running)
    1034:  �[32m[652 / 654]�[0m 32 / 34 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rust/tests:integration_browser_tests; 12s local, disk-cache ... (2 actions running)
    1035:  �[32m[652 / 654]�[0m 32 / 34 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rust/tests:integration_browser_tests; 13s local, disk-cache ... (2 actions running)
    1036:  �[32m[653 / 654]�[0m 33 / 34 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rust/tests:integration_browser_download_tests; 13s local, disk-cache
    1037:  �[32m[653 / 654]�[0m 33 / 34 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rust/tests:integration_browser_download_tests; 24s local, disk-cache
    1038:  �[32m[653 / 654]�[0m 33 / 34 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rust/tests:integration_browser_download_tests; 54s local, disk-cache
    1039:  �[32m[653 / 654]�[0m 33 / 34 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rust/tests:integration_browser_download_tests; 83s local, disk-cache
    1040:  �[32mINFO: �[0mFound 6 targets and 34 test targets...
    1041:  �[32mINFO: �[0mElapsed time: 187.561s, Critical Path: 91.23s
    1042:  �[32mINFO: �[0m654 processes: 392 disk cache hit, 202 internal, 60 local.
    1043:  �[32mINFO: �[0mBuild completed, 1 test FAILED, 654 total actions
    ...
    
    1068:  //rust/tests:integration_iexplorer_tests                                 �[0m�[32mPASSED�[0m in 1.1s
    1069:  //rust/tests:integration_mirror_tests                                    �[0m�[32mPASSED�[0m in 3.5s
    1070:  //rust/tests:integration_offline_tests                                   �[0m�[32mPASSED�[0m in 0.4s
    1071:  //rust/tests:integration_proxy_tests                                     �[0m�[32mPASSED�[0m in 3.2s
    1072:  //rust/tests:integration_safari_tests                                    �[0m�[32mPASSED�[0m in 0.2s
    1073:  //rust/tests:integration_stable_browser_tests                            �[0m�[32mPASSED�[0m in 6.2s
    1074:  //rust/tests:integration_timeout_tests                                   �[0m�[32mPASSED�[0m in 0.2s
    1075:  //rust/tests:integration_webview_tests                                   �[0m�[32mPASSED�[0m in 2.3s
    1076:  //rust/tests:integration_exec_driver_tests                                �[0m�[35mFLAKY�[0m, failed in 1 out of 2 in 5.2s
    1077:  Stats over 2 runs: max = 5.2s, min = 2.0s, avg = 3.6s, dev = 1.6s
    1078:  D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rust/tests/integration_exec_driver_tests/test_attempts/attempt_1.log
    1079:  //rust/tests:integration_output_tests                                    �[0m�[31m�[1mFAILED�[0m in 3 out of 3 in 4.1s
    1080:  Stats over 3 runs: max = 4.1s, min = 1.9s, avg = 2.8s, dev = 0.9s
    1081:  D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rust/tests/integration_output_tests/test.log
    1082:  D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rust/tests/integration_output_tests/test_attempts/attempt_1.log
    1083:  D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rust/tests/integration_output_tests/test_attempts/attempt_2.log
    1084:  Executed 20 out of 34 tests: 33 tests pass and �[0m�[31m�[1m1 fails locally�[0m.
    1085:  There were tests whose specified size is too big. Use the --test_verbose_timeout_warnings command line option to see which ones these are.
    1086:  �[0m
    1087:  ##[error]Process completed with exit code 1.
    

    @bonigarcia bonigarcia merged commit 0461db4 into trunk Mar 10, 2025
    19 checks passed
    @bonigarcia bonigarcia deleted the sm_nightly_grid branch March 10, 2025 10:02
    @github-project-automation github-project-automation bot moved this from In Progress to Done in Selenium Manager Mar 10, 2025
    sandeepsuryaprasad pushed a commit to sandeepsuryaprasad/selenium that referenced this pull request Mar 23, 2025
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    C-rust Rust code is mostly Selenium Manager Review effort 2/5
    Projects
    Status: Done
    Development

    Successfully merging this pull request may close these issues.

    1 participant