flow test prints unreadable output
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 55/100
Línea de trabajo
Comienza ejecutando flow test con el escenario fallido de orden de despliegue mostrado en cadence/tests/yield_vaults_strategy_vault_test.cdc; después, sigue la ubicación indicada en helpers/deployment_helpers.cdc:52. El trabajo estará terminado cuando los fallos de las pruebas ya no emitan el wrapper interno de Cadence escapado, un padding excesivo ni una salida de error sin procesar ilegible.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
When a Cadence test deploys contracts in the wrong dependency order or similar issues, flow test prints hundreds of lines of raw, unformatted output that is nearly impossible to read and lags the terminal.
Current Behavior
The CLI outputs the full internal Cadence representation of the error, including the I.Test.Test.Error(message: "...") wrapper with all nested error chains encoded as an escaped string. Every line of the output is also padded with trailing spaces to a fixed column width. Example:
flow test
❌ Command Error: error in test file "cadence/tests/yield_vaults_strategy_vault_test.cdc": Execution failed:
error: assertion failed: given value is: I.Test.Test.Error(message: "[Error Code: 1101] error caused by: 1 error occurred:\n\t* transaction execute failed: [Error Code: 1101] cadence runtime error: Execution failed:\nerror: cannot deploy invalid contract\n --> 69f412eecfa8b27d65c15b19943ed0d8a00b87d89ca7e7fabb309dc13b400084:5:20\n |\n5 | signer.contracts.add(name: \"FlowYieldVaultsInterfaces\", code: \"696d706f72742046756e6769626c65546f6b656e2066726f6d203078303030303030303030303030303030320a696d706f727420466c6f77416374696f6e732066726f6d203078303030303030303030303030303030370a0a61636365737328616c6c2920636f6e747261637420466c6f775969656c645661756c7473496e7465726661636573207b0a0a2020202061636365737328616c6c292073747275637420696e74657266616365205374726174656779207b0a202020202020202061636365737328616c6c292066756e20637... \n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: cannot find declaration `FlowActions` in `0000000000000007.FlowActions`\n --> 0000000000000007.FlowYieldVaultsInterfaces:2:7\n |\n2 | import FlowActions from 0x0000000000000007\n | ^^^^^^^^^^^ available exported declarations are:\n\n\n See documentation at: https://cadence-lang.org/docs/language/imports\n\nWas this error unhelpful?\nConsider suggesting an improvement here: https://github.com/onflow/cadence/issues.\n\n\n")
--> helpers/deployment_helpers.cdc:52:4
Was this error unhelpful?
Consider suggesting an improvement here: https://github.com/onflow/cadence/issues.
- thousands of whitespaces, which need text wrapping lagging the terminal
The output frequently exceeds 200 lines for a single assertion failure.
Expected Behavior
The CLI should display only the actionable Cadence errors (compiler/checker errors, type errors, etc.) with their source locations, without the [Error Code: 1101] transaction wrapper, the cannot deploy invalid contract outer block, or the raw I.Test.Test.Error(message: "...") encoding. Example:
❌ Test Error: cadence/tests/yield_vaults_test.cdc
Assertion failed at: helpers/deployment_helpers.cdc:55:4
error: cannot find declaration `FlowYieldVaults` in `0000000000000007.FlowYieldVaults`
--> 0000000000000007.FlowYieldVaultsAdmin:1:7
error: ambiguous intersection type
--> 0000000000000007.FlowYieldVaultsAdmin:23:62
Steps to Reproduce
- Write 2 contracts
- A includes B
- deploy A
- Lenguaje dominante
- Go
- Estrellas
- 209
- Forks
- 88
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de onflow/flow-cli
-
Simplify MCP contract sorting with slices helpersPosiblemente ocupada @luangucun la tomó hace 35 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
`flow cadence lint` lints importsPosiblemente ocupada @holyfuchs la tomó hace 174 días. AbiertoBug Improvement
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Bug
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
-
Feature
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 20/100
Todos los issues de onflow/flow-cli
Issues similares
-
automation models
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Bug pulumi/pulumi
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
stripe/stripe-cli#2130 ·
Los mantenedores suelen responder en 1 día
-
Linux notifications: the default action's ' ' label shows as a blank button in xfce4-notifydAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
kovidgoyal/kitty#10625 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 6 días