Fork me on github:
yaml-test-suite
All test cases and expected event/JSON output
yaml-test-matrix
Code to run tests for all supported processors and create matrix HTML
yaml-runtimes
Code to create Docker image for all supported processors
This Matrix combines all tests from yaml-test-suite and all processors from yaml-runtimes.
The YAML Test Suite currently targets YAML Version 1.2. Note that this list is not meant as a "Best Of" list, as some processors implement 1.1 or 1.0 only, and the test suite contains a lot of edge cases that don't play such an important role in real world examples. It is suited to identify which problems each processors has and what to avoid.
| C libfyaml | 308 | 94 | 402 | ||||||||
| C libyaml | 252 | 9 | 5 | 42 | 78 | 16 | 330 | 72 | |||
| C++ rapidyaml | 274 | 26 | 8 | 32 | 62 | 306 | 96 | ||||
| C++ yaml-cpp | 278 | 15 | 15 | 60 | 34 | 338 | 64 | ||||
| C# YamlDotNet | 293 | 5 | 10 | 83 | 11 | 376 | 26 | ||||
| Haskell HsYAML | 298 | 1 | 9 | 94 | 392 | 10 | |||||
| Javascript yaml | 307 | 1 | 92 | 2 | 399 | 3 | |||||
| Nim NimYAML | 302 | 1 | 5 | 76 | 18 | 378 | 24 | ||||
| Perl YAML::PP | 300 | 8 | 90 | 4 | 390 | 12 | |||||
| Perl Generated RefParser | 308 | 94 | 402 | ||||||||
| Python PyYAML | 249 | 9 | 5 | 45 | 80 | 14 | 329 | 73 | |||
| Python ruamel.yaml | 265 | 6 | 37 | 80 | 14 | 345 | 57 | ||||
| Rust yaml | 251 | 28 | 29 | 66 | 28 | 317 | 85 | ||||
| C libfyaml | 278 | 1 | 29 | 94 | 372 | 1 | |||||
| C# YamlDotNet | 173 | 16 | 60 | 30 | 29 | 84 | 10 | 257 | 116 | ||
| Go go-yaml | 224 | 6 | 49 | 29 | 79 | 15 | 303 | 70 | |||
| Haskell HsYAML | 269 | 1 | 9 | 29 | 94 | 363 | 10 | ||||
| Javascript js-yaml | 224 | 12 | 24 | 19 | 29 | 82 | 12 | 306 | 67 | ||
| Javascript yaml | 276 | 3 | 29 | 92 | 2 | 368 | 5 | ||||
| Lua lyaml | 210 | 29 | 40 | 29 | 78 | 16 | 288 | 85 | |||
| Perl YAML::PP | 277 | 2 | 29 | 90 | 4 | 367 | 6 | ||||
| Perl YAML::PP::LibYAML | 234 | 5 | 40 | 29 | 78 | 16 | 312 | 61 | |||
| Perl YAML::Syck | 166 | 77 | 36 | 29 | 42 | 52 | 208 | 165 | |||
| Perl YAML::Tiny | 44 | 104 | 41 | 90 | 29 | 80 | 14 | 124 | 249 | ||
| Perl YAML::XS (libyaml) | 220 | 8 | 5 | 46 | 29 | 79 | 15 | 299 | 74 | ||
| Perl YAML.pm | 98 | 15 | 166 | 29 | 79 | 15 | 177 | 196 | |||
| Python PyYAML | 222 | 8 | 49 | 29 | 80 | 14 | 302 | 71 | |||
| Python ruamel.yaml | 234 | 6 | 39 | 29 | 80 | 14 | 314 | 59 | |||
| Ruby psych | 226 | 12 | 41 | 29 | 78 | 16 | 304 | 69 |
Generated with yaml-test-suite/data Commit 6e6c296a 2022-01-17 Regenerated data from main v2022-01-17
Legend
Columns
| ok | Events matched |
| n/i | This feature is not implemented in this library |
| diff | Event output differs |
| error | Parsing was aborted with an error |
| n/a | No data to compare for this test |
| invalid_correct | Input was correctly detected as invalid |
| invalid_incorrect | Input was accepted although it is invalid |
| ok | Loaded data is equal to JSON |
| n/i | This feature is not implemented in this library |
| diff | Loaded data differs |
| error | Parsing/Loading was aborted with an error |
| n/a | No data to compare for this test |
| invalid_correct | Input was correctly detected as invalid |
| invalid_incorrect | Input was accepted although it is invalid |
.png)


