- 
                Notifications
    You must be signed in to change notification settings 
- Fork 3.4k
          misc: convert @packages/launcher tests from mocha to vitest and always prefer 64-bit install paths to 32-bit
          #32656
        
          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
          
     Merged
      
      
    Conversation
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
    | 
  cypress 
   | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Project | cypress | 
| Branch Review | chore/launcher_vitest | 
| Run status |  | 
| Run duration | 20m 11s | 
| Commit |  | 
| Committer | Bill Glesias | 
| View all properties for this run ↗︎ | |
| Test results | |
|---|---|
|  | 1 | 
|  | 10 | 
|  | 1102 | 
|  | 4 | 
|  | 26706 | 
| View all changes introduced in this branch ↗︎ | |
Warning
Partial Report: The results for the Application Quality reports may be incomplete.
| UI Coverage 45.69% | |
|---|---|
|  | 184 | 
|  | 159 | 
| Accessibility 97.97% | |
|---|---|
|  | 4 critical8 serious2 moderate2 minor | 
|  | 101 | 
Tests for review
 cypress/e2e/studio/studio.cy.ts • 1 failed test • app-e2e
   cypress/e2e/studio/studio.cy.ts • 1 failed test • app-e2e 
  | Test | Artifacts | |
|---|---|---|
| Cypress Studio > updates an existing test with assertions | Test ReplayScreenshots | |
 issues/28527.cy.ts • 1 flaky test • 5x-driver-electron
   issues/28527.cy.ts • 1 flaky test • 5x-driver-electron 
  | Test | Artifacts | |
|---|---|---|
| issue 28527 > fails and then retries and verifies about:blank is not displayed | Test ReplayScreenshots | |
 e2e/origin/config_env.cy.ts • 1 flaky test • 5x-driver-inject-document-domain-chrome
   e2e/origin/config_env.cy.ts • 1 flaky test • 5x-driver-inject-document-domain-chrome 
  | Test | Artifacts | |
|---|---|---|
| cy.origin- Cypress.config() > serializable > overwrites different values in secondary if one exists in the primary | Test Replay | |
 commands/files.cy.js • 1 flaky test • 5x-driver-firefox
   commands/files.cy.js • 1 flaky test • 5x-driver-firefox 
  | Test | Artifacts | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| src/cy/commands/files > #readFile > retries to read when ENOENT | 
 | |||||||||||||
| Test | Artifacts | |||||||
|---|---|---|---|---|---|---|---|---|
| ... > stops waiting when an xhr request is canceled | 
 | |||||||
| Test | Artifacts | |
|---|---|---|
| issue 28527 > fails and then retries and verifies about:blank is not displayed | Screenshots | |
The first 5 flaky specs are shown, see all 10 specs in Cypress Cloud.
e4af658    to
    bc821e8      
    Compare
  
    @packages/launcher tests from mocha to vitest@packages/launcher tests from mocha to vitest
      @packages/launcher tests from mocha to vitest@packages/launcher tests from mocha to vitest and always prefer 64-bit install paths to 32-bit
      @packages/launcher tests from mocha to vitest and always prefer 64-bit install paths to 32-bit@packages/launcher tests from mocha to vitest and always prefer 64-bit install paths to 32-bit
      1556e2f    to
    4441148      
    Compare
  
    4441148    to
    6c6389c      
    Compare
  
    
              
                    cacieprins
  
              
              approved these changes
              
                  
                    Oct 9, 2025 
                  
              
              
            
            
| Released in  This comment thread has been locked. If you are still experiencing this issue after upgrading to | 
  
      Sign up for free
      to subscribe to this conversation on GitHub.
      Already have an account?
      Sign in.
  
      
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
Additional details
Converts the
@packages/launchertests tovitestfrommocha.Snapshots
snapshots should mostly be 1:1 but the
vitestsnapshots do include theversionRegex. ThefindAppParamssnapshot values in thewindowssnapshot are not present because we do not actually calculate these values in the code forwindows. They look like they came from the MacOS detector at some point due to the values populated in the snapshot, all to say these are not expected to be carried over into the new snapshots.Tests
A lot of the detector tests needed to be reworked as we can longer leverage
withArgsorcallsArgAsync, so many of the mocking around the child process leverages callback handlers that are defined in the test to get a specific outcome from the yielding process.We no longer stub
utils.getOutputor helper methods and instead mock the libraries they are consuming, such as'child_process'or'win-version-info'to more accurately test our implementation.This tests the same functionality, except maybe slightly deeper, but overall the tests are the same
Implementation
Only thing that has really changed with the implementation is to always prioritize 64-bit browser installs over 32-bit. Before, the priority was mixed and this makes the prioritization consistent
Steps to test
How has the user experience changed?
PR Tasks
cypress-documentation? chore: update order of browser detection to always prefer 64-bit cypress-documentation#6296type definitions?Note
Migrates @packages/launcher tests from Mocha to Vitest, updates Windows browser detection to prefer 64‑bit installs, and adjusts CI/browser setup accordingly.
fsimport, directgetVersionString).cli/CHANGELOG.md: Notes browser detection now prefers 64-bit installs.guides/esm-migration.md: Markspackages/launcheras completed.browser-toolsorb and setsinstall_chromereplace_existing: true.Written by Cursor Bugbot for commit fcd1710. This will update automatically on new commits. Configure here.