2019-02-05 02:44:07 +02:00
|
|
|
-cases [Blorb] 'inblorb/Tests/Test Cases'
|
|
|
|
|
|
|
|
-recipe [Blorb]
|
|
|
|
|
|
|
|
set: $I6 = inform6/Tangled/inform6
|
|
|
|
set: $I7 = inform7/Tangled/inform7
|
|
|
|
set: $INBLORB = inblorb/Tangled/inblorb
|
2019-03-16 15:12:11 +02:00
|
|
|
set: $INTERNAL = inform7/Internal
|
2019-03-11 01:45:32 +02:00
|
|
|
set: $WORKSPACE = ../intest/Workspace
|
2019-02-05 02:44:07 +02:00
|
|
|
|
|
|
|
set: $VM = G
|
|
|
|
if: $CASE %c*-Z
|
|
|
|
set: $VM = Z
|
|
|
|
endif
|
|
|
|
|
|
|
|
if: $VM G
|
|
|
|
set: $FORMAT = ulx
|
|
|
|
set: $I6OPTIONS = -kE2~S~DwG
|
|
|
|
set: $BLORBEXT = gblorb
|
|
|
|
else
|
|
|
|
set: $FORMAT = z8
|
|
|
|
set: $I6OPTIONS = -kE2~S~Dwv8
|
|
|
|
set: $BLORBEXT = zblorb
|
|
|
|
endif
|
2020-05-20 02:02:28 +03:00
|
|
|
set: $I7OPTIONS = -fixtime -release -format=$FORMAT -no-progress -no-index -rng -sigils -log nothing -external inblorb/Tests -transient $WORK/Transient -internal $INTERNAL
|
2019-02-05 02:44:07 +02:00
|
|
|
set: $CBLORBOPTIONS = -fixtime
|
|
|
|
|
|
|
|
mkdir: $WORK/Transient
|
|
|
|
step: find $WORK/Transient -mindepth 1 -delete
|
|
|
|
|
|
|
|
extract: $WORK/Example.inform/Source/story.ni $VM
|
|
|
|
|
|
|
|
if: $CASE Audiovisual
|
|
|
|
copy: $WORKSPACE/Samples/Cover.png $WORK/Example.materials/Cover.png
|
|
|
|
copy: '$WORKSPACE/Samples/Small Cover.png' '$WORK/Example.materials/Small Cover.png'
|
|
|
|
mkdir: $WORK/Example.materials/Figures
|
|
|
|
copy: $WORKSPACE/Samples/Shuttle.jpg $WORK/Example.materials/Figures/Shuttle.jpg
|
|
|
|
copy: $WORKSPACE/Samples/Triangle.png $WORK/Example.materials/Figures/Triangle.png
|
|
|
|
mkdir: $WORK/Example.materials/Sounds
|
|
|
|
copy: $WORKSPACE/Samples/Bach.ogg $WORK/Example.materials/Sounds/Bach.ogg
|
|
|
|
copy: $WORKSPACE/Samples/Passacaglia.mid $WORK/Example.materials/Sounds/Passacaglia.mid
|
|
|
|
copy: $WORKSPACE/Samples/Powermac.aiff $WORK/Example.materials/Sounds/Powermac.aiff
|
|
|
|
endif
|
|
|
|
|
|
|
|
set: $I7CONSOLE = $WORK/Example.inform/Build/i7_output.txt
|
2020-02-17 00:01:50 +02:00
|
|
|
debugger: lldb -f $I7 -- `$I7OPTIONS -project $WORK/Example.inform -crash-all
|
2019-04-11 22:32:39 +03:00
|
|
|
step: $I7 `$I7OPTIONS -project $WORK/Example.inform >$I7CONSOLE 2>&1
|
2019-02-05 02:44:07 +02:00
|
|
|
or: 'failed with Problem message(s)' $I7CONSOLE
|
|
|
|
|
|
|
|
set: $BLURB = $WORK/Example.inform/Release.blurb
|
2020-07-15 23:19:45 +03:00
|
|
|
match platform text: $BLURB $PATH/_Blurb_Ideal/$CASE.blurb
|
2019-02-05 02:44:07 +02:00
|
|
|
or: 'produced the wrong release blurb'
|
|
|
|
match text: $WORK/Example.inform/Metadata.iFiction $PATH/_Metadata_Ideal/$CASE.iFiction
|
|
|
|
or: 'produced the wrong iFiction metadata'
|
|
|
|
|
|
|
|
set: $I6SOURCE = $WORK/Example.inform/Build/auto.inf
|
|
|
|
set: $I6CONSOLE = $WORK/Example.inform/Build/i6_output.txt
|
|
|
|
set: $STORYFILE = $WORK/Example.inform/Build/output.$FORMAT
|
|
|
|
step: $I6 `$I6OPTIONS $I6SOURCE $STORYFILE >$I6CONSOLE 2>&1
|
|
|
|
or: 'failed to pass through Inform 6' $I6CONSOLE
|
|
|
|
show i6: $I6CONSOLE
|
|
|
|
|
|
|
|
set: $BLORBFILE = $WORK/Example.inform/Build/output.$BLORBEXT
|
|
|
|
|
2019-02-09 12:35:30 +02:00
|
|
|
mkdir: $PATH/_Console_Actual
|
|
|
|
mkdir: $PATH/_Console_Ideal
|
2019-02-09 12:34:40 +02:00
|
|
|
|
2019-02-05 02:44:07 +02:00
|
|
|
set: $CA = $PATH/_Console_Actual/$CASE.txt
|
|
|
|
set: $CI = $PATH/_Console_Ideal/$CASE.txt
|
|
|
|
step: $INBLORB `$CBLORBOPTIONS $BLURB $BLORBFILE >$CA 2>&1
|
|
|
|
or: 'failed inblorb' $CA
|
|
|
|
show: $CA
|
2020-07-15 23:58:32 +03:00
|
|
|
match platform text: $CA $CI
|
2019-02-05 02:44:07 +02:00
|
|
|
or: 'produced the wrong inblorb console output'
|
|
|
|
|
2019-02-09 12:35:30 +02:00
|
|
|
mkdir: $PATH/_Tree_Actual
|
|
|
|
mkdir: $PATH/_Tree_Ideal
|
2019-02-09 12:34:40 +02:00
|
|
|
|
2019-02-05 02:44:07 +02:00
|
|
|
set: $TA = $PATH/_Tree_Actual/$CASE.txt
|
|
|
|
set: $TI = $PATH/_Tree_Ideal/$CASE.txt
|
|
|
|
step: find $WORK/Example.materials/Release >$TA 2>&1
|
|
|
|
or: 'failed find'
|
|
|
|
match text: $TA $TI
|
|
|
|
or: 'produced the wrong tree structure of files in Release'
|
|
|
|
|
2021-02-26 11:03:21 +02:00
|
|
|
if: $$platform macos
|
|
|
|
exists: inblorb/Tests/Assistants/blorblib/blorbscan
|
|
|
|
or: 'incompletely tested because no blorbscan tool is available'
|
|
|
|
endif
|
|
|
|
if: $$platform windows
|
|
|
|
exists: inblorb/Tests/Assistants/blorblib/blorbscan.exe
|
|
|
|
or: 'incompletely tested because no blorbscan tool is available'
|
|
|
|
endif
|
2019-02-05 02:44:07 +02:00
|
|
|
|
2019-02-09 12:35:30 +02:00
|
|
|
mkdir: $PATH/_Scan_Actual
|
|
|
|
mkdir: $PATH/_Scan_Ideal
|
2019-02-09 12:34:40 +02:00
|
|
|
|
2019-02-05 02:44:07 +02:00
|
|
|
set: $TA = $PATH/_Scan_Actual/$CASE.txt
|
|
|
|
set: $TI = $PATH/_Scan_Ideal/$CASE.txt
|
|
|
|
step: inblorb/Tests/Assistants/blorblib/blorbscan $BLORBFILE >$TA 2>&1
|
|
|
|
match text: $TA $TI
|
|
|
|
or: 'produced a blorb whose scan was incorrect'
|
|
|
|
|
|
|
|
pass: 'passed'
|
|
|
|
|
|
|
|
-end
|