feat: Complete stream extraction
Some checks failed
continuous-integration/drone/push Build is failing

Also implements ++ string concatenation operator.

  Resolves #7, #18.
This commit is contained in:
Glen Whitney 2021-03-12 21:49:34 -08:00
parent 7c69b82484
commit f827c37baa
8 changed files with 58 additions and 13 deletions

View file

@ -13,6 +13,9 @@ DESTINATION = 'tests/extracted'
# Extension for extracted files:
EXT = 'fos'
# Extension for desired input:
INP = 'in'
# Extension for expectations:
EXP = 'expect'
@ -34,6 +37,11 @@ for path in TEST_LIST:
expath = destdir / f"{name}.{EXT}"
expath.write_text(example)
echo Wrote @(expath)
im = re.search(r'/\*\*\s+accepts.*?\n([\s\S]*?)\*\*/', details[em.end():])
if im:
ipath = destdir / f"{name}.{INP}"
ipath.write_text(im[1])
echo " ...and" @(ipath)
xm = re.search(r'/\*\*\s+writes.*?\n([\s\S]*?)\*\*/', details[em.end():])
if xm:
xpath = destdir / f"{name}.{EXP}"

View file

@ -9,8 +9,14 @@ diffed=0
for dir in tests/extracted/*; do
for file in $dir/*.$ext; do
((total++))
$command $file > $file.out
if [[ $? -ne 0 ]]; then
if [[ -f ${file%.*}.in ]]; then
cat ${file%.*}.in | $command $file > $file.out
result=$?
else
$command $file > $file.out
result=$?
fi
if [[ $result -ne 0 ]]; then
echo ERROR: $command $file failed.
((failed++))
else