aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAnthony G. Basile <basile@opensource.dyc.edu>2011-04-12 18:57:06 -0400
committerAnthony G. Basile <basile@opensource.dyc.edu>2011-04-12 18:57:06 -0400
commit854534e5a480460934cfdc141bff3778b08ea602 (patch)
tree63f78e88e62339db51125a2d0a968aa33d802a0a /tests
parentAdded autotool build system (diff)
downloadelfix-854534e5a480460934cfdc141bff3778b08ea602.tar.gz
elfix-854534e5a480460934cfdc141bff3778b08ea602.tar.bz2
elfix-854534e5a480460934cfdc141bff3778b08ea602.zip
Fixed unit tests to work with 'make check'
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.am24
-rw-r--r--tests/bad.c8
-rw-r--r--tests/test-bad.asm85
3 files changed, 22 insertions, 95 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 50f6db4..eb398ea 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,9 +1,19 @@
-bin_PROGRAMS = good
-good_SOURCES = good.c
+check_SCRIPTS = test.sh
+TEST = $(check_SCRIPTS)
-test-bad.o: test-bad.asm
- yasm -f elf -m amd64 $<
+test.sh:
+ @echo "================================================================================"
+ @echo
+ @gcc -o good good.c
+ @echo "Good result"
+ @[[ -x ../get-gnustack ]] && ../get-gnustack good || echo "Run 'make' first"
+ @echo
+ @yasm -f elf -m amd64 test-bad.asm
+ @gcc -c bad.c
+ @gcc -o bad bad.o test-bad.o
+ @echo "Bad result"
+ @[[ -x ../get-gnustack ]] && ../get-gnustack bad || echo "Run 'make' first"
+ @echo
+ @echo "================================================================================"
-bad.o: bad.c
-
-bad: bad.o test-bad.o
+CLEANFILES = good good.o bad bad.o test-bad.o test.sh
diff --git a/tests/bad.c b/tests/bad.c
index 4e47d3b..ea8cb2b 100644
--- a/tests/bad.c
+++ b/tests/bad.c
@@ -1,12 +1,10 @@
#include <stdlib.h>
-int CrcUpdateT8(int, const void *, size_t, int *);
-
-void doit(){;return;}
+extern int badness();
int main()
{
- int i = 5 ;
- CrcUpdateT8(3,doit,(size_t)5,&i);
+ badness();
+ return 0;
}
diff --git a/tests/test-bad.asm b/tests/test-bad.asm
index c11b715..265fdb6 100644
--- a/tests/test-bad.asm
+++ b/tests/test-bad.asm
@@ -1,94 +1,13 @@
-
-
-global CrcUpdateT8:function
+global badness:function
SECTION .text
-%macro CRC1b 0
- movzx EDX, BYTE [RSI]
- inc RSI
- movzx EBX, AL
- xor EDX, EBX
- shr EAX, 8
- xor EAX, [RDI + RDX * 4]
- dec R8
-%endmacro
-
-
-
align 16
-CrcUpdateT8:
+badness:
push RBX
push RBP
- mov EAX, EDI
- mov R8, RDX
- mov RDI, RCX
-
-
- test R8, R8
- jz sl_end
- sl:
- test RSI, 7
- jz sl_end
- CRC1b
- jnz sl
- sl_end:
-
- cmp R8, 16
- jb crc_end
- mov R9, R8
- and R8, 7
- add R8, 8
- sub R9, R8
-
- add R9, RSI
- xor EAX, [RSI]
- mov EBX, [RSI + 4]
- movzx ECX, BL
- align 16
- main_loop:
- mov EDX, [RDI + RCX*4 + 0C00h]
- movzx EBP, BH
- xor EDX, [RDI + RBP*4 + 0800h]
- shr EBX, 16
- movzx ECX, BL
- xor EDX, [RSI + 8]
- xor EDX, [RDI + RCX*4 + 0400h]
- movzx ECX, AL
- movzx EBP, BH
- xor EDX, [RDI + RBP*4 + 0000h]
-
- mov EBX, [RSI + 12]
-
- xor EDX, [RDI + RCX*4 + 01C00h]
- movzx EBP, AH
- shr EAX, 16
- movzx ECX, AL
- xor EDX, [RDI + RBP*4 + 01800h]
- movzx EBP, AH
- mov EAX, [RDI + RCX*4 + 01400h]
- add RSI, 8
- xor EAX, [RDI + RBP*4 + 01000h]
- movzx ECX, BL
- xor EAX,EDX
-
- cmp RSI, R9
- jne main_loop
- xor EAX, [RSI]
-
-
-
- crc_end:
-
- test R8, R8
- jz fl_end
- fl:
- CRC1b
- jnz fl
- fl_end:
-
pop RBP
pop RBX
ret