#
# Have wrappers for the test tools, so that they run.
#
-# We have a hardcoded maximum execution time of 30 seconds
-# If your test takes > 30 seconds to run, you're doing
+# We have a hardcoded maximum execution time of 300 seconds
+# If your test takes > 300 seconds to run, you're doing
# something wrong.
#
-TEST_BIN_DIR = ./$(BUILD_DIR)/bin/local
-TEST_BIN = $(JLIBTOOL) $(if ${VERBOSE},--debug,--silent) --timeout=30 --mode=execute $(TEST_BIN_DIR)
+TEST_BIN_DIR = ./$(BUILD_DIR)/bin/local
+TEST_BIN = $(JLIBTOOL) $(if ${VERBOSE},--debug,--silent) --timeout=300 --mode=execute $(TEST_BIN_DIR)
+TEST_BIN_NO_TIMEOUT = $(JLIBTOOL) $(if ${VERBOSE},--debug,--silent) --mode=execute $(TEST_BIN_DIR)
#
# For creating documentation via doc/all.mk
*/
if (timeout) {
NOTICE("exec timeout\n");
- kill(spawn_pid, SIGKILL);
+ kill(spawn_pid, SIGALRM);
waitpid(spawn_pid, &status, 0); /* Cleanup child state */
timeout = false; /* Reset */
- return 128 + SIGALRM; /* Allow the caller to figure out what happened */
}
/*
# increase the size of the corpus by several times.
#
fuzzer.$(PROTOCOL): $(TEST_BIN_DIR)/fuzzer_$(PROTOCOL) | src/tests/fuzzer-corpus/$(PROTOCOL)
- ${Q}$(TEST_BIN)/fuzzer_$(PROTOCOL) \
+ ${Q}$(TEST_BIN_NO_TIMEOUT)/fuzzer_$(PROTOCOL) \
-artifact_prefix="$(FUZZER_ARTIFACTS)/$(PROTOCOL)/" \
-max_len=512 $(FUZZER_ARGUMENTS) \
-D share/dictionary \
ifeq "$(CI)" ""
test.fuzzer.$(PROTOCOL): $(TEST_BIN_DIR)/fuzzer_$(PROTOCOL) | src/tests/fuzzer-corpus/$(PROTOCOL)
@echo TEST-FUZZER $(PROTOCOL) for $(FUZZER_TIMEOUT)s
- ${Q}$(TEST_BIN)/fuzzer_$(PROTOCOL) \
+ ${Q}$(TEST_BIN_NO_TIMEOUT)/fuzzer_$(PROTOCOL) \
-artifact_prefix="$(FUZZER_ARTIFACTS)/$(PROTOCOL)/" \
-max_len=512 $(FUZZER_ARGUMENTS) \
-max_total_time=$(FUZZER_TIMEOUT) \
test.fuzzer.$(PROTOCOL): $(TEST_BIN_DIR)/fuzzer_$(PROTOCOL) | src/tests/fuzzer-corpus/$(PROTOCOL)
@echo TEST-FUZZER $(PROTOCOL) for $(FUZZER_TIMEOUT)s
@mkdir -p $(BUILD_DIR)/fuzzer
- ${Q}if ! $(TEST_BIN)/fuzzer_$(PROTOCOL) \
+ ${Q}if ! $(TEST_BIN_NO_TIMEOUT)/fuzzer_$(PROTOCOL) \
-artifact_prefix="$(FUZZER_ARTIFACTS)/$(PROTOCOL)/" \
-max_len=512 $(FUZZER_ARGUMENTS) \
-max_total_time=$(FUZZER_TIMEOUT) \
test.fuzzer.$(PROTOCOL).merge: | src/tests/fuzzer-corpus/$(PROTOCOL)
@echo MERGE-FUZZER-CORPUS $(PROTOCOL)
${Q}[ -e "$(FUZZER_CORPUS_DIR)/$(PROTOCOL)_new" ] || mkdir "$(FUZZER_CORPUS_DIR)/$(PROTOCOL)_new"
- ${Q}$(TEST_BIN)/fuzzer_$(PROTOCOL) \
+ ${Q}$(TEST_BIN_NO_TIMEOUT)/fuzzer_$(PROTOCOL) \
-D share/dictionary \
-max_len=512 $(FUZZER_ARGUMENTS) \
-merge=1 \
${Q}rm -rf "$(FUZZER_CORPUS_DIR)/$(PROTOCOL)_new"
test.fuzzer.$(PROTOCOL).crash: $(wildcard $(BUILD_DIR)/fuzzer/$(PROTOCOL)/crash-*) $(wildcard $(BUILD_DIR)/fuzzer/$(PROTOCOL)/timeout-*) $(wildcard $(BUILD_DIR)/fuzzer/$(PROTOCOL)/slow-unit-*) $(TEST_BIN_DIR)/fuzzer_$(PROTOCOL) | src/tests/fuzzer-corpus/$(PROTOCOL)
- $(TEST_BIN)/fuzzer_$(PROTOCOL) \
+ $(TEST_BIN_NO_TIMEOUT)/fuzzer_$(PROTOCOL) \
-artifact_prefix="$(FUZZER_ARTIFACTS)/$(PROTOCOL)/" \
-max_len=512 $(FUZZER_ARGUMENTS) \
-max_total_time=$(FUZZER_TIMEOUT) \