diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Makefile | 17 | ||||
-rw-r--r-- | tests/test-i386.c | 12 |
2 files changed, 20 insertions, 9 deletions
diff --git a/tests/Makefile b/tests/Makefile index c7d1154c00..72b559dfd5 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -4,8 +4,9 @@ CFLAGS=-Wall -O2 -g LDFLAGS= ifeq ($(ARCH),i386) -TESTS=hello test2 sha1 test-i386 +TESTS=test2 sha1-i386 test-i386 endif +TESTS+=sha1 GEMU=../gemu @@ -13,26 +14,32 @@ all: $(TESTS) hello: hello.c $(CC) -nostdlib $(CFLAGS) -static $(LDFLAGS) -o $@ $< + strip hello test2: test2.c $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< -# i386 emulation test (dump various opcodes) */ +# i386 emulation test (test various opcodes) */ test-i386: test-i386.c test-i386.h test-i386-shift.h test-i386-muldiv.h $(CC) $(CFLAGS) $(LDFLAGS) -static -o $@ $< -lm test: test-i386 +ifeq ($(ARCH),i386) ./test-i386 > test-i386.ref +endif $(GEMU) test-i386 > test-i386.out @if diff -u test-i386.ref test-i386.out ; then echo "Auto Test OK"; fi # speed test -sha1: sha1.c +sha1-i386: sha1.c $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< -speed: sha1 +sha1: sha1.c + $(HOST_CC) $(CFLAGS) $(LDFLAGS) -o $@ $< + +speed: sha1 sha1-i386 time ./sha1 - time $(GEMU) sha1 + time $(GEMU) ./sha1-i386 clean: rm -f *~ *.o $(TESTS) diff --git a/tests/test-i386.c b/tests/test-i386.c index 86aa94915a..f9a5991863 100644 --- a/tests/test-i386.c +++ b/tests/test-i386.c @@ -653,7 +653,7 @@ void test_segs(void) { struct modify_ldt_ldt_s ldt; long long ldt_table[3]; - int i, res, res2; + int res, res2; char tmp; ldt.entry_number = 1; @@ -679,9 +679,13 @@ void test_segs(void) modify_ldt(1, &ldt, sizeof(ldt)); /* write ldt entry */ modify_ldt(0, &ldt_table, sizeof(ldt_table)); /* read ldt entries */ - for(i=0;i<3;i++) - printf("%d: %016Lx\n", i, ldt_table[i]); - +#if 0 + { + int i; + for(i=0;i<3;i++) + printf("%d: %016Lx\n", i, ldt_table[i]); + } +#endif /* do some tests with fs or gs */ asm volatile ("movl %0, %%fs" : : "r" (MK_SEL(1))); asm volatile ("movl %0, %%gs" : : "r" (MK_SEL(2))); |