#!/bin/sh

source $testsuitedir/lib_test.sh

PORT_TESTS=$(( $PORT_TESTS + 1 ))
PORT2_TESTS=$(( $PORT_TESTS + 1 ))

attend_port_libre $PORT_TESTS
attend_port_libre $PORT2_TESTS

cat > PROGRAMME << EOP
	:new STR
	:goto client :when :clone
	:open \$com UDP "localhost" "$PORT_TESTS" < > "localhost" "$PORT2_TESTS"
	"0\\n" -> &0
	:wait 1
	:write \$com ~s @&0
	:read \$com ~s LINE -> &0
	@&0 + "2\\n" -> &0
	:write \$com ~s @&0
	:read \$com ~s LINE -> &0
	@&0 + "4\\n" -> &0
	:close \$com
	:shutdown
:label client
	:open \$com UDP "localhost" "$PORT2_TESTS" < > "localhost" "$PORT_TESTS"
	:read \$com ~s LINE -> &0
	@&0 + "1\\n" -> &0
	:write \$com ~s @&0
	:read \$com ~s LINE -> &0
	@&0 + "3\\n" -> &0
	:write \$com ~s @&0
	:close \$com
	:delete &0
	:shutdown -1
EOP

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

cat > MEMOIRE_REF << EOM
# Memory:
#> &0 : STR "01234\\n"
# Aliases:
# Free addresses:
# Free blocks:
# End of memory
EOM

cat > STDOUT_REF << EOS
EOS

cat > STDERR_REF << EOS
EOS

cat > CODE_RETOUR_REF << EOC
0
EOC

test_basique
