@@ -1,37 +1,41 @@
1#!/usr/bin/env bash
1#!/usr/bin/env bash
3−HEAD="module Main
3+HEAD='module Main
5import Data.Floats
5import Data.Floats
7strtake : Nat -> String -> String
7strtake : Nat -> String -> String
8strtake n str = pack (take n (unpack str))
8strtake n str = pack (take n (unpack str))
11+getf = map cast getLine
10−main : IO ()"
13+main : IO ()'
15+# code separated from input with '#'
12−TESTS=("prim__floatToStr 0.0"
16+TESTS=('prim__floatToStr !getf#0.0'
13−"prim__strToFloat \"0.0\""
17+ 'prim__strToFloat !getLine#0.0'
14−"prim__addFloat 1.0 1.0"
18+$'prim__addFloat !getf !getf#1.0\n1.0'
15−"prim__subFloat 1.0 1.0"
19+$'prim__subFloat !getf !getf#1.0\n1.0'
16−"prim__mulFloat 1.0 1.0"
20+$'prim__mulFloat !getf !getf#1.0\n1.0'
17−"prim__divFloat 1.0 1.0"
21+$'prim__divFloat !getf !getf#1.0\n1.0'
18−"prim__slteFloat 1.0 1.0"
22+$'prim__slteFloat !getf !getf#1.0\n1.0'
19−"prim__sltFloat 1.0 1.0"
23+$'prim__sltFloat !getf !getf#1.0\n1.0'
20−"prim__sgteFloat 1.0 1.0"
24+$'prim__sgteFloat !getf !getf#1.0\n1.0'
21−"prim__sgtFloat 1.0 1.0"
25+$'prim__sgtFloat !getf !getf#1.0\n1.0'
22−"prim__eqFloat 1.0 1.0"
26+$'prim__eqFloat !getf !getf#1.0\n1.0'
23−"prim__floatACos 1.0"
27+ 'prim__floatACos !getf#1.0'
24−"prim__floatATan 1.0"
28+ 'prim__floatATan !getf#1.0'
25−"prim__floatCos 1.0"
29+ 'prim__floatCos !getf#1.0'
26−"prim__floatFloor 1.0"
30+ 'prim__floatFloor !getf#1.0'
27−"prim__floatSin 1.0"
31+ 'prim__floatSin !getf#1.0'
28−"prim__floatTan 1.0"
32+ 'prim__floatTan !getf#1.0'
29−"prim__floatASin 1.0"
33+ 'prim__floatASin !getf#1.0'
30−"prim__floatCeil 1.0"
34+ 'prim__floatCeil !getf#1.0'
31−"prim__floatExp 1.0"
35+ 'prim__floatExp !getf#1.0'
32−"prim__floatLog 1.0"
36+ 'prim__floatLog !getf#1.0'
33−"prim__floatSqrt 1.0"
37+ 'prim__floatSqrt !getf#1.0'
34−"prim__negFloat 1.0"
38+ 'prim__negFloat !getf#1.0'
37generate_testfile()
41generate_testfile()
@@ -44,9 +48,9 @@ EOF
45for T in "${TESTS[@]}"
49for T in "${TESTS[@]}"
47− echo ${T}
51+ echo ${T%% *} ${T##*#}
48− generate_testfile "tmptest.idr" "${T}"
52+ generate_testfile "tmptest.idr" "${T%%#*}"
49− idris $@ --quiet tmptest.idr -o tmptest || echo "missing primitive in ${CG}"
53+ idris "$@" --quiet tmptest.idr -o tmptest || echo "missing primitive in ${CG}"
50− ./tmptest
54+ ./tmptest <<<"${T##*#}"
51 rm tmptest.idr tmptest.ibc tmptest
55 rm tmptest.idr tmptest.ibc tmptest