diff options
author | itchyny <itchyny@cybozu.co.jp> | 2023-07-18 08:17:21 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-18 08:17:21 +0900 |
commit | 9e4c71558aeeccc4c9c3ba4cd21451d9f3e047fc (patch) | |
tree | e7f23b744e9eca5be366d7460674c3db74d56680 /docs/build_mantests.py | |
parent | 4b3090a9abba3fa5b94a46c5f44944deec17d5d4 (diff) |
Split man.test to make tests pass without oniguruma (#2722)
Diffstat (limited to 'docs/build_mantests.py')
-rwxr-xr-x | docs/build_mantests.py | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/docs/build_mantests.py b/docs/build_mantests.py index 59736047..925e1448 100755 --- a/docs/build_mantests.py +++ b/docs/build_mantests.py @@ -1,13 +1,21 @@ #!/usr/bin/env python3 import yaml +import re -with open("content/manual/manual.yml") as f: - manual = yaml.safe_load(f) +regex_program_pattern = re.compile( + r'\b(?:test|match|capture|scan|split|splits|sub|gsub)\s*\(') + +with open('content/manual/manual.yml') as source, \ + open('../tests/man.test', 'w') as man, \ + open('../tests/manonig.test', 'w') as manonig: + manual = yaml.safe_load(source) for section in manual.get('sections', []): for entry in section.get('entries', []): for example in entry.get('examples', []): - print(example.get('program', '').replace('\n', ' ')) - print(example.get('input', '')) + program = example.get('program', '').replace('\n', ' ') + out = manonig if regex_program_pattern.search(program) else man + print(program, file=out) + print(example.get('input', ''), file=out) for s in example.get('output', []): - print(s) - print('') + print(s, file=out) + print('', file=out) |