Signed-off-by: Pranith Kumar <bobby.pr...@gmail.com> --- tests/tcg/misc/Makefile | 81 +++++++++++++++++++++++++++++++++++++++ tests/tcg/{ => misc}/linux-test.c | 0 tests/tcg/{ => misc}/sha1.c | 0 tests/tcg/{ => misc}/test-mmap.c | 0 tests/tcg/{ => misc}/test_path.c | 0 tests/tcg/{ => misc}/testthread.c | 0 6 files changed, 81 insertions(+) create mode 100644 tests/tcg/misc/Makefile rename tests/tcg/{ => misc}/linux-test.c (100%) rename tests/tcg/{ => misc}/sha1.c (100%) rename tests/tcg/{ => misc}/test-mmap.c (100%) rename tests/tcg/{ => misc}/test_path.c (100%) rename tests/tcg/{ => misc}/testthread.c (100%)
diff --git a/tests/tcg/misc/Makefile b/tests/tcg/misc/Makefile new file mode 100644 index 0000000..0aa6f2e --- /dev/null +++ b/tests/tcg/misc/Makefile @@ -0,0 +1,81 @@ +# -*- Mode: makefile -*- +# +# Generic linux-user TCG tests +# +# These tests all use standard non-architecture specific APIs so can +# be built for all TCG targets. The Make is expected to be called in +# the ${BUILD_DIR}/$(TARGET_NAME_ARCH)-linux-user/tests directory +# +# To build for other architectures call make with CROSS_CC set +# + +BUILD_DIR=../.. +include $(BUILD_DIR)/config-host.mak # brings in SRC_PATH +include ../config-target.mak # TARGET_NAME +include $(SRC_PATH)/rules.mak + +$(call set-vpath, $(SRC_PATH)/tests/tcg/misc) + +QEMU=$(BUILD_DIR)/$(TARGET_NAME)-linux-user/qemu-$(TARGET_NAME) + +# Compiler set-up, default to system compiler if not set +CROSS_CC?=$(CC) + +CFLAGS=-Wall -O2 -g -fno-strict-aliasing -static +LDFLAGS= + +TESTS=linux-test \ + testthread \ + sha1 \ + test-mmap + +all: $(patsubst %,run-%,$(TESTS)) +test: all + +# rules to run tests + +run-%: % + -$(QEMU) ./$* + +run-linux-test: linux-test +run-testthread: testthread +run-sha1: sha1 +run-test_path: test_path + +run-test-mmap: test-mmap + -$(QEMU) ./test-mmap + -$(QEMU) -p 8192 ./test-mmap 8192 + -$(QEMU) -p 16384 ./test-mmap 16384 + -$(QEMU) -p 32768 ./test-mmap 32768 + +run-test_path: test_path + +# rules to compile tests + +# These two need to be re-written as relying on glib (rather than just glibc) +# test_path: test_path.o +# $(CROSS_CC) $^ -o $@ -lglib-2.0 + +# test_path.o: test_path.c +# $(CROSS_CC) $^ -c -o $@ $(QEMU_INCLUDES) `pkg-config --cflags --libs glib-2.0` + +testthread: testthread.c + $(CROSS_CC) $(CFLAGS) $(LDFLAGS) -o $@ $< -lpthread + +# generic Linux and CPU test +linux-test: linux-test.c + $(CROSS_CC) $(CFLAGS) $(LDFLAGS) -o $@ $< -lm + +test-mmap: test-mmap.c + $(CROSS_CC) $(CFLAGS) -Wall -O2 $(LDFLAGS) -o $@ $< -static + +# speed test +sha1: sha1.c + $(CROSS_CC) $(CFLAGS) $(LDFLAGS) -o $@ $< + +speed: sha1 + time ./sha1 + time $(QEMU) ./sha1 + +clean: + rm -f *~ *.o $(TESTS) diff --git a/tests/tcg/linux-test.c b/tests/tcg/misc/linux-test.c similarity index 100% rename from tests/tcg/linux-test.c rename to tests/tcg/misc/linux-test.c diff --git a/tests/tcg/sha1.c b/tests/tcg/misc/sha1.c similarity index 100% rename from tests/tcg/sha1.c rename to tests/tcg/misc/sha1.c diff --git a/tests/tcg/test-mmap.c b/tests/tcg/misc/test-mmap.c similarity index 100% rename from tests/tcg/test-mmap.c rename to tests/tcg/misc/test-mmap.c diff --git a/tests/tcg/test_path.c b/tests/tcg/misc/test_path.c similarity index 100% rename from tests/tcg/test_path.c rename to tests/tcg/misc/test_path.c diff --git a/tests/tcg/testthread.c b/tests/tcg/misc/testthread.c similarity index 100% rename from tests/tcg/testthread.c rename to tests/tcg/misc/testthread.c -- 2.10.2