The "monkeyYaml" parser is intended to serve as a lightweight fallback
to Python's standard YAML parser in contexts where the latter is not
available. Any intentionally-simplified implementation will necessarily
exhibit non-standard behavior for different input, so not all input
accepted by the standard parser will be accepted by "monkeyYaml". If
loaded exclusively in fallback situations, these edge cases can only be
identified (and debugged) in the environments that require the fallback.
This has allowed developers to unknowingly author tests that cause
errors.
Update the test runner to use "monkeyYaml" in all cases, ensuring more
consistent behavior across contexts and precluding this class of
regression.
parseTestRecord.py:
- recover from ImportError when YAML not defined
- use monkeyYaml as backup
monkeyYaml.py:
- parser for subset of YAML used in test262 frontmatter
test_monkeyYaml.py:
- unit tests
parseTestRecord: add support for YAML frontmatter
parseTestRecord: initial unit test for test record parser
parseTestRecord: refactor for testing
factor old parsing; add YAML parsing
runner: support "includes" from YAML frontmatter
support frontmatter "includes" in python runner
use test.includes if present instead of scanning test code with regex
harness: factor individual functions out into files
tools: handle YAML errors
tolerate missing keys in dictionary (flags, includes)
report filename when empty frontmatter block
new option --list-includes to test262.py
harness: factor helper functions into separate files
sth: remove extra close-paren (syntax error)
test_common: TDD; failing parse of YAML
common: use parseTestRecord (YAML-aware)