Skip to content

Percent character in spec file name causes cypress to hang #18871

@biltongza

Description

@biltongza

Current behavior

Running a spec file with the percent character % causes Cypress to hang.

Desired behavior

Cypress should not hang and should run the spec file normally.

Test code to reproduce

npx cypress run --env configFile=uat --spec .\cypress\integration\sell-tests\Sell-SAUT-100%-Success.e2e.spec.js

Result:

====================================================================================================

  (Run Starting)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Cypress:    8.7.0                                                                              │
  │ Browser:    Electron 93 (headless)                                                             │
  │ Specs:      1 found (sell-tests/Sell-SAUT-100%-Success.e2e.spec.js)                            │
  │ Searched:   cypress\integration\sell-tests\Sell-SAUT-100%-Success.e2e.spec.js                  │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘


────────────────────────────────────────────────────────────────────────────────────────────────────

  Running:  sell-tests/Sell-SAUT-100%-Success.e2e.spec.js                                   (1 of 1)
URIError: Failed to decode param 'integration/sell-tests/Sell-SAUT-100%-Success.e2e.spec.js'
    at decodeURIComponent (<anonymous>:null:null)
    at decode_param (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\layer.js:172:12)
    at Layer.match (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\layer.js:148:15)
    at matchLayer (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:574:18)
    at next (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:220:15)
    at Function.handle (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:174:3)
    at router (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:47:12)
    at Layer.handle [as handle_request] (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\layer.js:95:5)
    at trim_prefix (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:317:13)
    at C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:284:7
    at Function.process_params (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:335:12)
    at next (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:275:10)
    at C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:635:15
    at next (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:260:14)
    at Function.handle (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:174:3)
    at router (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:47:12)
    at Layer.handle [as handle_request] (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\layer.js:95:5)
    at trim_prefix (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:317:13)
    at C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:284:7
    at Function.process_params (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:335:12)
    at next (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:275:10)
    at Layer.handle [as handle_request] (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\layer.js:91:12)
    at trim_prefix (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:317:13)
    at C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:284:7
    at Function.process_params (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:335:12)
    at next (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:275:10)
    at compression (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\compression\index.js:220:5)
    at Layer.handle [as handle_request] (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\layer.js:95:5)
    at trim_prefix (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:317:13)
    at C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:284:7
    at Function.process_params (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:335:12)
    at next (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:275:10)
    at cookieParser (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\cookie-parser\index.js:57:14)
    at Layer.handle [as handle_request] (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\layer.js:95:5)
    at trim_prefix (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:317:13)
    at C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:284:7
    at Function.process_params (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:335:12)
    at next (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:275:10)
    at C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\lib\server-base.js:54:16
    at Layer.handle [as handle_request] (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\layer.js:95:5)
    at trim_prefix (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:317:13)
    at C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:284:7
    at Function.process_params (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:335:12)
    at next (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:275:10)
    at C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\lib\server-base.js:165:20
    at Layer.handle [as handle_request] (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\layer.js:95:5)
    at trim_prefix (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:317:13)
    at C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:284:7
    at Function.process_params (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:335:12)
    at next (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:275:10)
    at expressInit (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\middleware\init.js:40:5)
    at Layer.handle [as handle_request] (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\layer.js:95:5)
    at trim_prefix (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:317:13)
    at C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:284:7
    at Function.process_params (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:335:12)
    at next (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:275:10)
    at query (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\middleware\query.js:45:5)
    at Layer.handle [as handle_request] (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\layer.js:95:5)
    at trim_prefix (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:317:13)
    at C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:284:7
    at Function.process_params (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:335:12)
    at next (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:275:10)
    at Function.handle (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\router\index.js:174:3)
    at Function.handle (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\application.js:174:10)
    at Server.app (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\node_modules\express\lib\express.js:39:9)
    at Server.<anonymous> (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\socket\node_modules\engine.io\lib\server.js:422:24)
    at C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\lib\server-base.js:255:29
    at Array.map (<anonymous>:null:null)
    at ServerE2E._callRequestListeners (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\lib\server-base.js:254:26)
    at Server.<anonymous> (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\lib\server-base.js:271:18)
    at C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\lib\server-base.js:255:29
    at Array.map (<anonymous>:null:null)
    at ServerE2E._callRequestListeners (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\lib\server-base.js:254:26)
    at ServerE2E.callListeners (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\server\lib\server-base.js:431:21)
    at Server._onRequest (C:\Users\ldam\AppData\Local\Cypress\Cache\8.7.0\Cypress\resources\app\packages\https-proxy\lib\server.js:101:17)
    at Server.emit (events.js:376:20)
    at parserOnIncoming (_http_server.js:896:12)
    at HTTPParser.parserOnHeadersComplete (_http_common.js:126:17)

Browserslist: caniuse-lite is outdated. Please run:
npx browserslist@latest --update-db

Why you should do it regularly:
https://github.com/browserslist/browserslist#browsers-data-updating

Cypress Version

8.7.0

Other

This seems to be a regression from at least 7.3.0, as we have only seen this issue since updating to 8.7.0.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions