Merge branch 'single-test-n-linkflag' into 'master'
Add single test run and Add link flag See merge request redox-os/relibc!841
This commit is contained in:
@@ -6,6 +6,8 @@ CARGO_COMMON_FLAGS=-Z build-std=core,alloc,compiler_builtins
|
||||
CARGOFLAGS?=$(CARGO_COMMON_FLAGS)
|
||||
CC_WRAPPER?=
|
||||
RUSTCFLAGS?=
|
||||
LINKFLAGS?=-lgcc
|
||||
TESTBIN?=
|
||||
export OBJCOPY?=objcopy
|
||||
|
||||
export CARGO_TARGET_DIR?=$(shell pwd)/target
|
||||
@@ -115,6 +117,9 @@ test: sysroot/$(TARGET)
|
||||
# $(CARGO_TEST) test
|
||||
$(MAKE) -C tests run
|
||||
|
||||
test-once: sysroot/$(TARGET)
|
||||
$(MAKE) -C tests run-once TESTBIN=$(TESTBIN)
|
||||
|
||||
|
||||
$(BUILD)/$(PROFILE)/libc.so: $(BUILD)/$(PROFILE)/librelibc.a $(BUILD)/openlibm/libopenlibm.a
|
||||
$(CC) -nostdlib \
|
||||
@@ -125,7 +130,7 @@ $(BUILD)/$(PROFILE)/libc.so: $(BUILD)/$(PROFILE)/librelibc.a $(BUILD)/openlibm/l
|
||||
-Wl,--allow-multiple-definition \
|
||||
-Wl,--whole-archive $^ -Wl,--no-whole-archive \
|
||||
-Wl,-soname,libc.so.6 \
|
||||
-lgcc \
|
||||
$(LINKFLAGS) \
|
||||
-o $@
|
||||
|
||||
# Debug targets
|
||||
|
||||
@@ -12,6 +12,7 @@ show_help() {
|
||||
echo ""
|
||||
echo "Options:"
|
||||
echo " --test Run 'make test' instead of 'make all'"
|
||||
echo " --test= Run single 'make test'"
|
||||
echo " --cargo Run 'cargo check' / 'cargo test' instead"
|
||||
echo " (note: cargo test is currently not maintained for relibc)"
|
||||
echo " --host Run the command on host (linux) target"
|
||||
@@ -54,6 +55,7 @@ CHECK_ALL=false
|
||||
CMD_ACTION="make"
|
||||
CARGO_ACTION="check"
|
||||
MAKE_ACTION="all"
|
||||
TEST_BIN=""
|
||||
IS_HOST=0
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
@@ -65,6 +67,10 @@ while [[ $# -gt 0 ]]; do
|
||||
MAKE_ACTION="test"
|
||||
CARGO_ACTION="test"
|
||||
;;
|
||||
--test=*)
|
||||
TEST_BIN="${1#*=}"
|
||||
MAKE_ACTION="test-once"
|
||||
;;
|
||||
--cargo)
|
||||
CMD_ACTION="cargo"
|
||||
;;
|
||||
@@ -104,6 +110,14 @@ run_redoxer() {
|
||||
REDOXER_ENV=""
|
||||
fi
|
||||
|
||||
if [ "$TEST_BIN" != "" ]; then
|
||||
if [ "$IS_HOST" -eq 0 ]; then
|
||||
MAKE_ACTION="$MAKE_ACTION TESTBIN=bins_dynamic/$TEST_BIN"
|
||||
else
|
||||
MAKE_ACTION="$MAKE_ACTION TESTBIN=bins_static/$TEST_BIN"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$CMD_ACTION" == "make" ]; then
|
||||
CMD_OPT="-j $(nproc) $MAKE_ACTION"
|
||||
else
|
||||
|
||||
@@ -335,6 +335,12 @@ run: bins_verify/relibc-tests $(BINS) $(EXPECT_BINS) $(EXPECT_INPUT_BINS)
|
||||
expect "$$(readlink -e $${exp}.exp)" "$$(readlink -e $${exp})" test args || exit $$?; \
|
||||
done
|
||||
|
||||
run-once: bins_verify/relibc-tests $(BUILD)/$(TESTBIN)
|
||||
@echo "\033[1;36;49mRunning single test $(TESTBIN) $*\033[0m"
|
||||
@if [ -f "expected/$(TESTBIN).stdout" ]; then \
|
||||
$(TEST_RUNNER) $< $(TESTBIN); \
|
||||
else $(TEST_RUNNER) $< -s$(TESTBIN); fi
|
||||
|
||||
bins_verify/relibc-tests: src/main.rs
|
||||
$(CARGO_TEST) build --release --bin relibc-tests --out-dir bins_verify -Z unstable-options
|
||||
|
||||
|
||||
Reference in New Issue
Block a user