Added diamond test package
This commit is contained in:
parent
ffd992d549
commit
20b7254c19
11 changed files with 2303 additions and 0 deletions
54
diamond/Makefile
Normal file
54
diamond/Makefile
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
CFLAGS=-Wall -g
|
||||||
|
# CC=$(CXX)
|
||||||
|
|
||||||
|
SHELL=/bin/bash
|
||||||
|
|
||||||
|
PROGRAM=diamond
|
||||||
|
|
||||||
|
TIMEOUT=8
|
||||||
|
|
||||||
|
TESTS_DIR=tests
|
||||||
|
|
||||||
|
TESTS_SH:=$(wildcard $(TESTS_DIR)/*.sh)
|
||||||
|
TESTS:=$(patsubst $(TESTS_DIR)/%.sh, %, $(TESTS_SH))
|
||||||
|
|
||||||
|
.PHONY: all
|
||||||
|
all: compile-program check
|
||||||
|
|
||||||
|
.PHONY: compile-program
|
||||||
|
|
||||||
|
compile-program: $(PROGRAM)
|
||||||
|
|
||||||
|
.PHONY: check
|
||||||
|
check: compile-program $(TESTS_SH)
|
||||||
|
@exec 2> /dev/null; \
|
||||||
|
for t in $(TESTS); do \
|
||||||
|
echo -n "Running test $$t..." ; \
|
||||||
|
/bin/sh "$(TESTS_DIR)/$$t.sh" $(dir $(PROGRAM))$(PROGRAM) > "$$t.out" 2>&1 & \
|
||||||
|
prog_pid=$$!; \
|
||||||
|
( sleep $(TIMEOUT); kill $$prog_pid > /dev/null 2>&1 ) & \
|
||||||
|
killer_pid=$$!; \
|
||||||
|
wait $$prog_pid; \
|
||||||
|
res=$$?; \
|
||||||
|
if test $$res -gt 128; \
|
||||||
|
then \
|
||||||
|
echo KILLED; \
|
||||||
|
rm -f "$$t.out" ;\
|
||||||
|
else \
|
||||||
|
kill $$killer_pid > /dev/null 2>&1 ;\
|
||||||
|
wait $$killer_pid; \
|
||||||
|
if cmp -s "$$t.out" "$(TESTS_DIR)/$$t.expected"; \
|
||||||
|
then \
|
||||||
|
echo "PASSED" ;\
|
||||||
|
rm -f "$$t.out" ;\
|
||||||
|
else \
|
||||||
|
echo "FAILED" ;\
|
||||||
|
diff "$$t.out" "$(TESTS_DIR)/$$t.expected";\
|
||||||
|
fi; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
|
||||||
|
.PHONY: clean
|
||||||
|
clean:
|
||||||
|
rm -f $(PROGRAM) tests/*.out
|
||||||
|
|
0
diamond/tests/test0.expected
Normal file
0
diamond/tests/test0.expected
Normal file
3
diamond/tests/test0.sh
Normal file
3
diamond/tests/test0.sh
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
exec "$1" 0
|
1
diamond/tests/test1.expected
Normal file
1
diamond/tests/test1.expected
Normal file
|
@ -0,0 +1 @@
|
||||||
|
#
|
3
diamond/tests/test1.sh
Normal file
3
diamond/tests/test1.sh
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
exec "$1" 1
|
3
diamond/tests/test2.expected
Normal file
3
diamond/tests/test2.expected
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
#
|
||||||
|
###
|
||||||
|
#
|
3
diamond/tests/test2.sh
Normal file
3
diamond/tests/test2.sh
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
exec "$1" 2
|
11
diamond/tests/test3.expected
Normal file
11
diamond/tests/test3.expected
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
#
|
||||||
|
###
|
||||||
|
#####
|
||||||
|
#######
|
||||||
|
#########
|
||||||
|
###########
|
||||||
|
#########
|
||||||
|
#######
|
||||||
|
#####
|
||||||
|
###
|
||||||
|
#
|
3
diamond/tests/test3.sh
Normal file
3
diamond/tests/test3.sh
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
exec "$1" 6
|
2217
diamond/tests/test4.expected
Normal file
2217
diamond/tests/test4.expected
Normal file
File diff suppressed because it is too large
Load diff
5
diamond/tests/test4.sh
Normal file
5
diamond/tests/test4.sh
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
"$1" 10
|
||||||
|
"$1" 100
|
||||||
|
"$1" 1000
|
Reference in a new issue