mirror of
https://gitlab.redox-os.org/redox-os/redox.git
synced 2026-06-25 22:34:18 +08:00
Add one-liner test run to os-test
This commit is contained in:
parent
a3f3edc0ef
commit
ac2360f1f7
@ -120,6 +120,7 @@ endif
|
||||
# Automatic variables
|
||||
ROOT=$(CURDIR)
|
||||
export RUST_COMPILER_RT_ROOT=$(ROOT)/rust/src/llvm-project/compiler-rt
|
||||
export TESTBIN?=
|
||||
RUNNING_IN_PODMAN=$(shell [ -f /run/.containerenv ] && echo 1 || echo 0)
|
||||
ifeq ($(PODMAN_BUILD),1)
|
||||
ifeq ($(RUNNING_IN_PODMAN),1)
|
||||
|
||||
@ -21,7 +21,7 @@ PODMAN_VOLUMES?=--volume $(ROOT):$(CONTAINER_WORKDIR)$(PODMAN_VOLUME_FLAG) --vol
|
||||
PODMAN_ENV?=--env PATH=/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin --env PODMAN_BUILD=0
|
||||
PODMAN_CONFIG?=--env ARCH=$(ARCH) --env BOARD=$(BOARD) --env CONFIG_NAME=$(CONFIG_NAME) --env FILESYSTEM_CONFIG=$(FILESYSTEM_CONFIG) --env PREFIX_BINARY=$(PREFIX_BINARY) \
|
||||
--env CI=$(CI) --env COOKBOOK_MAKE_JOBS=$(COOKBOOK_MAKE_JOBS) --env COOKBOOK_LOGS=$(COOKBOOK_LOGS) --env COOKBOOK_VERBOSE=$(COOKBOOK_VERBOSE) \
|
||||
--env REPO_APPSTREAM=$(REPO_APPSTREAM) --env REPO_BINARY=$(REPO_BINARY) --env REPO_NONSTOP=$(REPO_NONSTOP) --env REPO_OFFLINE=$(REPO_OFFLINE)
|
||||
--env REPO_APPSTREAM=$(REPO_APPSTREAM) --env REPO_BINARY=$(REPO_BINARY) --env REPO_NONSTOP=$(REPO_NONSTOP) --env REPO_OFFLINE=$(REPO_OFFLINE) --env TESTBIN=$(TESTBIN)
|
||||
PODMAN_OPTIONS?=--rm --workdir $(CONTAINER_WORKDIR) --interactive --tty --cap-add SYS_ADMIN --device /dev/fuse --network=host --env TERM=$(TERM)
|
||||
PODMAN_RUN?=podman run $(PODMAN_OPTIONS) $(PODMAN_VOLUMES) $(PODMAN_ENV) $(PODMAN_CONFIG) $(IMAGE_TAG)
|
||||
|
||||
|
||||
@ -1,9 +0,0 @@
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/redoxer.git"
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
COOKBOOK_SOURCE="${COOKBOOK_SOURCE}/daemon"
|
||||
cookbook_cargo
|
||||
"""
|
||||
28
recipes/tests/os-test-bins/recipe.toml
Normal file
28
recipes/tests/os-test-bins/recipe.toml
Normal file
@ -0,0 +1,28 @@
|
||||
[source]
|
||||
same_as = "../os-test"
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
SRC=${COOKBOOK_SOURCE}
|
||||
DST=${COOKBOOK_STAGE}/root
|
||||
if [ -z "$TESTBIN" ]; then
|
||||
pushd ${SRC}
|
||||
for file in */*/*.c; do
|
||||
filename="${file%.*}"
|
||||
mkdir -p $(dirname $DST/$filename)
|
||||
# adding "true" because compilation can fail
|
||||
${CC} ${CFLAGS} ${LDFLAGS} "$SRC/$file" -o "$DST/$filename" -Wall || true
|
||||
echo "./$filename" >> $DST/run.sh
|
||||
done
|
||||
popd
|
||||
else
|
||||
mkdir -p $(dirname $DST/$TESTBIN)
|
||||
${CC} ${CFLAGS} ${LDFLAGS} "$SRC/$TESTBIN.c" -o "$DST/$TESTBIN" -Wall
|
||||
fi
|
||||
|
||||
if [ -n "TESTBIN" ]; then
|
||||
"${COOKBOOK_REDOXER}" write-exec "$DST/$TESTBIN"
|
||||
fi
|
||||
"""
|
||||
@ -5,6 +5,14 @@ fn main() {
|
||||
// Ensure all flags go to cargo
|
||||
if args.len() >= 2 {
|
||||
args.insert(2, "--".to_string());
|
||||
if args[1] == "write-exec" {
|
||||
if let Ok(stage_dir) = std::env::var("COOKBOOK_STAGE") {
|
||||
args.insert(2, format!("{}/root", stage_dir));
|
||||
args.insert(2, "--folder".to_string());
|
||||
args.insert(2, stage_dir);
|
||||
args.insert(2, "--root".to_string());
|
||||
}
|
||||
}
|
||||
}
|
||||
redoxer::main(&args);
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user