X-Git-Url: https://git.saurik.com/apple/libpthread.git/blobdiff_plain/964d3577b041867f776d8eb940bf4a1108ffb97c..HEAD:/tests/Makefile?ds=sidebyside diff --git a/tests/Makefile b/tests/Makefile index 219bc92..f898cf7 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -1,20 +1,98 @@ -SOURCES := $(wildcard *.c) -TARGETS := $(patsubst %.c,%,$(SOURCES)) -TESTS := $(patsubst %,test-%,$(TARGETS)) +PROJECT := libpthread +TEST_DIR := tests/ -CFLAGS := -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders +ENABLE_LTE_TESTS=YES -all: $(TARGETS) +ifeq ($(DEVELOPER_DIR),) + DEVELOPER_DIR := $(shell xcode-select -p) +endif -test check: $(TESTS) +include $(DEVELOPER_DIR)/AppleInternal/Makefiles/darwintest/Makefile.common -$(TESTS): test-%: % - @echo "[TEST] $<" - @$(TEST_ENV) ./$< - @echo "[END] $<" - @echo +TARGETS := +TARGETS += atfork +TARGETS += bsdthread_set_self +TARGETS += stack +TARGETS += stack_size +TARGETS += cond +#TARGETS += cond_hang3 +#TARGETS += cond_stress +TARGETS += cond_timed +TARGETS += cond_prepost +TARGETS += custom_stack +TARGETS += stack_aslr +TARGETS += join +TARGETS += main_stack +TARGETS += main_stack_custom +TARGETS += detach +#TARGETS += maxwidth +TARGETS += mutex +TARGETS += mutex_prepost +TARGETS += mutex_try +TARGETS += once_cancel +TARGETS += pthread_attr_setstacksize +TARGETS += pthread_bulk_create +TARGETS += pthread_cancel +TARGETS += pthread_create_from_mach_thread +TARGETS += pthread_cwd +TARGETS += pthread_exit +TARGETS += pthread_introspection +TARGETS += pthread_setspecific +TARGETS += pthread_threadid_np +TARGETS += pthread_get_qos_class_np +TARGETS += pthread_dependency +#TARGETS += qos +TARGETS += rdar_32848402 +#TARGETS += rwlock-22244050 +#TARGETS += rwlock-signal +#TARGETS += rwlock +TARGETS += tsd +TARGETS += setrlimit_sigsegv +#TARGETS += wq_block_handoff +#TARGETS += wq_event_manager +#TARGETS += wq_kevent +#TARGETS += wq_kevent_stress +TARGETS += wq_limits +TARGETS += add_timer_termination +TARGETS += perf_contended_mutex_rwlock -clean: - rm -f $(TARGETS) +ifeq ($(PLATFORM),MacOSX) +TARGETS += pthread_jit_write_protection +pthread_jit_write_protection: CODE_SIGN_ENTITLEMENTS=pthread_jit_write_protection-entitlements.plist +endif + +# this should be CUSTOM_TARGETS, see "Compatibility defines" in Makefile.targets +OTHER_TARGETS := stackoverflow_crash + +OTHER_LTE_INCLUDE_FILES += \ + /usr/local/lib/libdarwintest_utils.dylib + +OTHER_CFLAGS := -DDARWINTEST -Weverything \ + -Wno-vla -Wno-bad-function-cast -Wno-missing-noreturn \ + -Wno-missing-field-initializers -Wno-format-pedantic \ + -Wno-gnu-folding-constant -Wno-used-but-marked-unused \ + -Wno-padded +OTHER_LDFLAGS := -ldarwintest_utils + +#TARGETS += main_stack_legacy // Disabled by default due to linker warnings +#main_stack_legacy: OTHER_LDFLAGS += -Wl,-stack_addr,0xc1000000 -Wl,-stack_size,0x0f00000 +#main_stack_legacy: OTHER_CFLAGS += -DSTACKSIZE=0x0f00000 +#main_stack_legacy: ARCH_FLAGS = -arch i386 +#main_stack_legacy: DEPLOYMENT_TARGET_FLAGS = -mmacosx-version-min=10.7 + +main_stack_custom: OTHER_LDFLAGS += -Wl,-stack_size,0x124000 +main_stack_custom: OTHER_CFLAGS += -DSTACKSIZE=0x124000 + +bsdthread_set_self: OTHER_CFLAGS += -D_DARWIN_FEATURE_CLOCK_GETTIME + +include $(DEVELOPER_DIR)/AppleInternal/Makefiles/darwintest/Makefile.targets + +stackoverflow_crash: helpers/stackoverflow_crash.c + mkdir -p $(SYMROOT)/assets/ + $(CC) -o $(SYMROOT)/assets/$@ $(CFLAGS) -D_POSIX_C_SOURCE=1 $(OTHER_CFLAGS) $(LDFLAGS) $(OTHER_LDFLAGS) $< + env CODESIGN_ALLOCATE=$(CODESIGN_ALLOCATE) $(CODESIGN) --force --sign - --timestamp=none $(SYMROOT)/assets/$@ + +install-stackoverflow_crash: stackoverflow_crash + mkdir -p $(INSTALLDIR)/assets + @cp $(SYMROOT)/assets/stackoverflow_crash $(INSTALLDIR)/assets -.PHONY: all test check clean $(TESTS)