From 15dcafd338f0d4f59f0c1c9313007c8f1a335e07 Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Sun, 31 Jan 2016 15:48:01 +0100 Subject: Extended testing --- Makefile | 2 +- test.icl | 32 ++++++++++++++++++++++++++------ 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index 8362a3c..786a992 100644 --- a/Makefile +++ b/Makefile @@ -48,7 +48,7 @@ $(TEST_SCRIPT): $(TEST_SCRIPT).icl $(NAME).icl $(NAME).dcl $(OBJ) $(TEST_SCRIPT) $(CLM) $(CLMFLAGS) -l $(TEST_SCRIPT).o $(TEST_SCRIPT) -o $(TEST_SCRIPT) run_test: $(TEST_SCRIPT) - ./$(TEST_SCRIPT) -nt + ./$(TEST_SCRIPT) -nt -nr .PHONY: all clean clean_intermediate run_test diff --git a/test.icl b/test.icl index 73a55c0..a452945 100644 --- a/test.icl +++ b/test.icl @@ -25,14 +25,34 @@ module test import StdEnv import CleanC -Start +Start :: *World -> *World +Start w # s = cNewState # s = cInit s -# (r0,s) = test_int s -# (r1,s) = test_string s -# (r2,s) = test_double s -# (r3,s) = test_two_params s -= and [r0,r1,r2,r3] +# (t0,s) = test_int s +# (t1,s) = test_string s +# (t2,s) = test_double s +# (t3,s) = test_two_params s +# tests = [t0,t1,t2,t3] +# passed = and tests +# (io, w) = stdio w +| passed + # io = fwrites "\x1B[32mAll tests passed\n\033[0m" io + # (_, w) = fclose io w + = w +| otherwise + # io = fwrites "\x1B[31mSome tests failed, nrs:\n\033[0m" io + # io = fwrites (failed_list tests +++ "\n") io + # (_, w) = fclose io w + = w +where + failed_list :: [Bool] -> String + failed_list rs = join ", " [i \\ i <- [1..] & r <- rs | not r] + + join :: String [a] -> String | toString a + join d [] = "" + join d [x] = toString x + join d [x:xs] = toString x +++ d +++ join d xs test_int :: *State -> (Bool, *State) test_int s -- cgit v1.2.3