#!/bin/sh

source $testsuitedir/lib_test.sh

cat > PROGRAMME << EOP
	:new INT, STR
	3 -> &0
	"banzai" -> &1
	:open \$file > "FILE"
	:write \$file ~s "bla "
	:write \$file ~#05x @&0
	:write \$file ~s @&1
	:write \$file ~05d 42
	:write \$file ~s "\\n"
	:close \$file
	:open \$file2 < "FILE"
	:read \$file2 ~s ALL -> &1
	:close \$file2
	:open \$file3 < > "FILE2"
	:write \$file3 ~s @&1
	:seek \$file3 ABSOLUTE 3
	:write \$file3 ~s "-"
	:seek \$file3 END -3
	:read \$file3 ~d LINE -> &0
	:seek \$file3 RELATIVE -6
	:write \$file3 ~ 3d @&0
	:close \$file3
	:open \$file < > "FILE3"
	:write \$file ~s ""
	:read \$file ~s ALL -> &1
	:close \$file
	:write :stdout ~s @&1
	:delete &0,&1
EOP

cat > MEMOIRE_INITIALE << EOM
# Memory:
# Aliases:
# Free addresses:
# Free blocks:
# End of memory
EOM

cat > MEMOIRE_REF << EOM
# Memory:
# Aliases:
# Free addresses:
# From &0 on 2 addresses
# Free blocks:
# Block of 2 free addresses from &0
# End of memory
EOM

cat > STDOUT_REF << EOS
EOS

cat > STDERR_REF << EOS
EOS

cat > CODE_RETOUR_REF << EOC
0
EOC

test_basique

cat > FILE_REF << EOF
bla 0x003banzai00042
EOF

validation FILE

cat > FILE2_REF << EOF
bla-0x003banzai 4242
EOF

validation FILE2

rm FILE*
true
