95 lines
4.5 KiB
Makefile
95 lines
4.5 KiB
Makefile
# -*- mode: makefile-gmake -*-
|
|
|
|
test: test_libyachtrock
|
|
|
|
LIBYACHTROCK_TESTSRC := selftests_collection.c basic_tests.c result_store_tests.c assertion_tests.c testcase_tests.c run_under_store_tests.c selector_tests.c script_helpers_tests.c
|
|
ifeq ($(YACHTROCK_MULTIPROCESS),1)
|
|
LIBYACHTROCK_TESTSRC += multiprocess_basic_tests.c
|
|
endif
|
|
LIBYACHTROCK_TESTSRC := $(patsubst %,$(LIBYACHTROCK_DIR)test/%,$(LIBYACHTROCK_TESTSRC))
|
|
LIBYACHTROCK_TESTMAIN = $(LIBYACHTROCK_DIR)test/test_main.c
|
|
CSRC += $(LIBYACHTROCK_TESTSRC) $(LIBYACHTROCK_TESTSUPPORT_SRC) $(LIBYACHTROCK_TESTMAIN)
|
|
LIBYACHTROCK_TESTOBJ = $(patsubst %.c,%.o,$(filter %.c,$(LIBYACHTROCK_TESTSRC)))
|
|
LIBYACHTROCK_TESTMAIN_OBJ = $(patsubst %.c,%.o,$(filter %.c,$(LIBYACHTROCK_TESTMAIN)))
|
|
LIBYACHTROCK_TESTSUPPORT =
|
|
LIBYACHTROCK_TESTSUPPORT_OBJ =
|
|
|
|
|
|
YR_SIMPLE_RUNNER = $(LIBYACHTROCK_DIR)test/yachtrock_test_runner
|
|
|
|
YR_TEST_DYLIB := $(LIBYACHTROCK_DIR)test/$(shell $(YAP_GENERATE_DYLIBNAME) yachtrock_test)
|
|
|
|
YR_SELFTESTS_DYLIB = $(LIBYACHTROCK_DIR)test/libyachtrock_selftests.dylib
|
|
YR_RUNTESTS_TEST = $(LIBYACHTROCK_DIR)test/yr_runtests_test
|
|
YR_MULTIPROCESS_TEST_TRAMPOLINE = $(LIBYACHTROCK_DIR)test/multiprocess_test_trampoline
|
|
|
|
$(LIBYACHTROCK_TESTOBJ): CFLAGS += -D_POSIX_C_SOURCE=200809L
|
|
|
|
clean_libyachtrock_tests:
|
|
rm -f $(LIBYACHTROCK_TESTOBJ) $(LIBYACHTROCK_TESTMAIN_OBJ)
|
|
rm -f $(LIBYACHTROCK_TESTS)
|
|
rm -f $(LIBYACHTROCK_TESTSUPPORT)
|
|
rm -f $(LIBYACHTROCK_TESTSUPPORT_OBJ)
|
|
rm -f $(YR_SIMPLE_RUNNER)
|
|
rm -f $(YR_TEST_DYLIB)
|
|
rm -f $(YR_RUNTESTS_TEST)
|
|
rm -f $(YR_SELFTESTS_DYLIB)
|
|
|
|
clean_libyachtrock: clean_libyachtrock_tests
|
|
|
|
YACHTROCK_TEST_INVOCATION_ENVIRON =
|
|
|
|
$(YR_TEST_DYLIB): $(LIBYACHTROCK_OBJ)
|
|
$(YAP_LINK) --driver $(CC) --dynamic_install_name `pwd`/$@ $(LIBYACHTROCK_YAP_LINK_OPTIONS) -- $(LDFLAGS) $(LIBYACHTROCK_OBJ) $(LIBYACHTROCK_LINKS) -o $@
|
|
|
|
YR_TEST_DYLIB_LDFLAGS = -L`pwd`/$(LIBYACHTROCK_DIR)test -lyachtrock_test
|
|
|
|
$(YR_SELFTESTS_DYLIB): $(LIBYACHTROCK_TESTOBJ) $(YR_TEST_DYLIB)
|
|
$(YAP_LINK) --driver $(CC) --dynamic_install_name `pwd`/$@ --dl -- $(LDFLAGS) $(LIBYACHTROCK_TESTOBJ) $(YR_TEST_DYLIB_LDFLAGS) -o $@
|
|
|
|
$(YR_RUNTESTS_TEST): $(YR_RUNTESTS_OBJ) $(YR_TEST_DYLIB)
|
|
$(YAP_LINK) --driver $(CC) $(LIBYACHTROCK_YAP_LINK_OPTIONS) -- $(LDFLAGS) $(YR_RUNTESTS_OBJ) $(YR_TEST_DYLIB_LDFLAGS) -o $@
|
|
|
|
$(YR_MULTIPROCESS_TEST_TRAMPOLINE): $(LIBYACHTROCK_DIR)test/multiprocess_basic_tests.o $(LIBYACHTROCK_DIR)test/multiprocess_test_trampoline.o $(YR_TEST_DYLIB)
|
|
$(YAP_LINK) --driver $(CC) -- $(LDFLAGS) $(LIBYACHTROCK_DIR)test/multiprocess_basic_tests.o $(LIBYACHTROCK_DIR)test/multiprocess_test_trampoline.o $(YR_TEST_DYLIB_LDFLAGS) $(LIBYACHTROCK_LINKS) -o $@
|
|
|
|
_yr_clean_trampoline:
|
|
rm -f $(YR_MULTIPROCESS_TEST_TRAMPOLINE) $(LIBYACHTROCK_DIR)test/multiprocess_test_trampoline.o
|
|
clean_libyachtrock: _yr_clean_trampoline
|
|
|
|
$(YR_SIMPLE_RUNNER): $(LIBYACHTROCK_TESTMAIN_OBJ) $(LIBYACHTROCK_TESTOBJ) $(YR_TEST_DYLIB)
|
|
$(YAP_LINK) --driver $(CC) --dl -- $(LDFLAGS) $(LIBYACHTROCK_TESTMAIN_OBJ) $(LIBYACHTROCK_TESTOBJ) $(YR_TEST_DYLIB_LDFLAGS) $(LIBYACHTROCK_LINKS) -o $@
|
|
|
|
YR_TEST_CONDITIONAL_DEPENDENCIES :=
|
|
|
|
ifeq ($(YACHTROCK_MULTIPROCESS),1)
|
|
YACHTROCK_TEST_INVOCATION_ENVIRON += YR_MULTIPROCESS_TEST_TRAMPOLINE=$(YR_MULTIPROCESS_TEST_TRAMPOLINE)
|
|
YR_TEST_CONDITIONAL_DEPENDENCIES += $(YR_MULTIPROCESS_TEST_TRAMPOLINE)
|
|
endif
|
|
|
|
ifeq ($(YACHTROCK_DLOPEN),1)
|
|
$(LIBYACHTROCK_TESTOBJ): CFLAGS += -fpic
|
|
YACHTROCK_TEST_INVOCATION_ENVIRON += YRTEST_DUMMY_MODULE=$(LIBYACHTROCK_DIR)test/dummy_module.dylib
|
|
|
|
$(LIBYACHTROCK_DIR)test/dummy_module.o: CFLAGS += -fPIC -D_POSIX_C_SOURCE=200809L
|
|
$(LIBYACHTROCK_DIR)test/dummy_module.dylib: $(LIBYACHTROCK_DIR)test/dummy_module.o $(YR_TEST_DYLIB)
|
|
$(YAP_LINK) --driver $(CC) --dynamic_install_name `pwd`/$@ -- $(LDFLAGS) $(LIBYACHTROCK_DIR)test/dummy_module.o $(YR_TEST_DYLIB_LDFLAGS) -o $@
|
|
|
|
YR_TEST_CONDITIONAL_DEPENDENCIES += $(LIBYACHTROCK_DIR)test/dummy_module.dylib
|
|
test_libyachtrock: test_libyachtrock_via_selftest_dylib
|
|
|
|
LIBYACHTROCK_TESTSUPPORT += $(LIBYACHTROCK_DIR)test/dummy_module.dylib
|
|
LIBYACHTROCK_TESTSUPPORT_SRC = $(patsubst %,$(LIBYACHTROCK_DIR)test/%,dummy_module.c)
|
|
LIBYACHTROCK_TESTSUPPORT_OBJ = $(patsubst %.c,%.o,$(LIBYACHTROCK_TESTSUPPORT_SRC))
|
|
CSRC += $(LIBYACHTROCK_TESTSUPPORT_SRC)
|
|
endif
|
|
|
|
test_libyachtrock_via_selftest_dylib: $(YR_RUNTESTS_TEST) $(YR_SELFTESTS_DYLIB) $(YR_TEST_CONDITIONAL_DEPENDENCIES)
|
|
$(YACHTROCK_TEST_INVOCATION_ENVIRON) $(YR_RUNTESTS_TEST) -n "yachtrock self-tests from dylib" $(YR_SELFTESTS_DYLIB)
|
|
|
|
test_libyachtrock_via_simple_runner: $(YR_SIMPLE_RUNNER) $(YR_TEST_CONDITIONAL_DEPENDENCIES)
|
|
$(YACHTROCK_TEST_INVOCATION_ENVIRON) $(YR_SIMPLE_RUNNER)
|
|
|
|
test_libyachtrock: test_libyachtrock_via_simple_runner
|
|
|