zvfs: testcase重写
This commit is contained in:
42
test/Makefile
Executable file
42
test/Makefile
Executable file
@@ -0,0 +1,42 @@
|
||||
CC ?= gcc
|
||||
CFLAGS ?= -O2 -Wall -Wextra -std=gnu11
|
||||
|
||||
SRCS := $(sort $(wildcard test_*.c))
|
||||
BIN_DIR ?= bin
|
||||
BIN_NAMES := $(SRCS:.c=)
|
||||
BINS := $(addprefix $(BIN_DIR)/,$(BIN_NAMES))
|
||||
RUN_DIR ?= /tmp/zvfs-test
|
||||
RUN_BINS ?= test_basic test_lseek test_dual_open_same_file test_two_files \
|
||||
test_single_file_perf test_single_file_random_perf \
|
||||
test_single_file_random_noaligned_perf test_write_file test_read_delete_file
|
||||
|
||||
.PHONY: all clean list run-test
|
||||
|
||||
all: $(BINS)
|
||||
|
||||
$(BIN_DIR):
|
||||
mkdir -p $@
|
||||
|
||||
$(BIN_DIR)/%: %.c test_utils.h | $(BIN_DIR)
|
||||
$(CC) $(CFLAGS) -o $@ $<
|
||||
|
||||
list:
|
||||
@printf "%s\n" $(BINS)
|
||||
|
||||
run-test: all
|
||||
@mkdir -p $(RUN_DIR)
|
||||
@pass=0; fail=0; \
|
||||
for t in $(RUN_BINS); do \
|
||||
printf "\n[RUN] %s\n" "$$t"; \
|
||||
if ./$(BIN_DIR)/$$t $(RUN_DIR); then \
|
||||
pass=$$((pass + 1)); \
|
||||
else \
|
||||
fail=$$((fail + 1)); \
|
||||
fi; \
|
||||
done; \
|
||||
printf "\n=== run-test summary: PASS=%d FAIL=%d ===\n" $$pass $$fail; \
|
||||
test $$fail -eq 0
|
||||
|
||||
clean:
|
||||
$(RM) $(BINS)
|
||||
-rmdir $(BIN_DIR)
|
||||
Reference in New Issue
Block a user