YAML 1.2 compliance possibly breaking VCR
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 28/100
- Type d'issue
- Bug
- Clarté
- À clarifier
- Activité
- À l'abandon
- Domaine
- devtools, testing-qa
Piste de recherche
Commencez par reproduire l’échec de l’analyse avec l’en-tête de scalaire de bloc du fixture VCR et le fixture URI que WebMock ne reconnaît pas. Comparez les mêmes cas avec YAML 1.1 et YAML 1.2, en vous appuyant sur les pull requests et issues liés de Psych et JRuby pour le contexte. Le travail est terminé lorsque le comportement est expliqué et couvert par un test de régression ciblé.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
This is an issue branching off from https://github.com/ruby/psych/pull/613#issuecomment-1709239243.
We're experimenting migrating a Rails app we have to latest JRuby (9.4.3.0), an app that has some large VCR fixtures.
Initially we hit the the code point limit issue that https://github.com/ruby/psych/pull/613 lets us bypass, but after increasing the code point limit that the above PR let's us configure, we came across parsing errors like this one:
the leading empty lines contain more spaces (8) than the first non-empty line. while scanning a block scalar at line 32385 column 5
# ./config/initializers/psych.rb:6:in `parse_stream'
(the initializer monkey patch is a hack while we can't get https://github.com/ruby/psych/pull/647 to work on our end)
In this case, the fixture had several empty newlines in a multiline field, using a block scalar header like field: |+2.
After deleting that field from the yaml fixture altogether as part of troubleshooting, all fixtures get parsed and we're able to run Rspec specs again using VCR. But some of the specs that were previously passing now fail, with Webmock not recognizing the URIs for the requests recorded in the fixtures.
We suspect this might be happening due to YAML 1.2 not liking how the URIs are escaped, and we're still validating this. @headius asked me to create this issue so it can be tracked together with https://github.com/ruby/psych/issues/642, which might also be related to YAML 1.2 compliance (see also https://github.com/jruby/jruby/pull/7600#issuecomment-1712771885)
I'll update this issue as we find out more about it, ideally with a test comparing the same use case with YAML 1.1 and YAML 1.2.
- Langage dominant
- Ruby
- Étoiles
- 597
- Forks
- 223
- Merge moyen
- 6 h 8 min
- PR mergées (30 j)
- 2
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de ruby/psych
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
Documentation
Difficulté 1/5 Moins d'une heure Accessibilité débutants 72/100
-
Psych.dump raises Encoding::CompatibilityError for UTF-16/UTF-32 stringsPeut-être pris @Halvanhelv l’a pris il y a 27 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 55/100
-
Difficulté 4/5 3-5 jours Accessibilité débutants 68/100
-
Difficulté 4/5 3-5 jours Accessibilité débutants 52/100
Toutes les issues de ruby/psych
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
rubys/roundhouse#571 ·
Les mainteneurs répondent en général sous 1 jour
-
area/web interface
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
mastodon/mastodon#40924 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
area: cli enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
mail processing verified
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 7 jours
-
L: github:actions L: php:composer
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
dependabot/dependabot-core#16493 ·
Les mainteneurs répondent en général sous 1 jour