mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 02:47:35 +00:00
Lagom: Add 'test' command to serenity.sh
This commit is contained in:
parent
04fc4a8134
commit
eb5b2b4b4f
1 changed files with 23 additions and 2 deletions
|
@ -20,6 +20,12 @@ Usage: $ARG0 COMMAND [TARGET] [ARGS...]
|
||||||
$ARG0 gdb [TARGET] [kernel_cmd_line] [-ex 'any gdb command']...
|
$ARG0 gdb [TARGET] [kernel_cmd_line] [-ex 'any gdb command']...
|
||||||
If specified, passes the kernel_cmd_line to the Kernel
|
If specified, passes the kernel_cmd_line to the Kernel
|
||||||
Passes through '-ex' commands to gdb
|
Passes through '-ex' commands to gdb
|
||||||
|
test: TARGET lagom: $ARG0 test lagom [TEST_NAME_PATTERN]
|
||||||
|
Runs the unit tests on the build host, or if TEST_NAME_PATTERN
|
||||||
|
is specified tests matching it.
|
||||||
|
All other TARGETs: $ARG0 test [TARGET]
|
||||||
|
Runs the built image in QEMU in self-test mode, by passing
|
||||||
|
boot_mode=self-test to the Kernel
|
||||||
delete: Removes the build environment for TARGET
|
delete: Removes the build environment for TARGET
|
||||||
recreate: Deletes and re-creates the build environment for TARGET
|
recreate: Deletes and re-creates the build environment for TARGET
|
||||||
rebuild: Deletes and re-creates the build environment, and compiles for TARGET
|
rebuild: Deletes and re-creates the build environment, and compiles for TARGET
|
||||||
|
@ -38,6 +44,8 @@ Usage: $ARG0 COMMAND [TARGET] [ARGS...]
|
||||||
Runs the image for the default TARGET i686 in QEMU
|
Runs the image for the default TARGET i686 in QEMU
|
||||||
$ARG0 run lagom js
|
$ARG0 run lagom js
|
||||||
Runs the Lagom-built js(1) REPL
|
Runs the Lagom-built js(1) REPL
|
||||||
|
$ARG0 test lagom
|
||||||
|
Runs the unit tests on the build host
|
||||||
$ARG0 kaddr2line i686 0x12345678
|
$ARG0 kaddr2line i686 0x12345678
|
||||||
Resolves the address 0x12345678 in the Kernel binary
|
Resolves the address 0x12345678 in the Kernel binary
|
||||||
$ARG0 addr2line i686 WindowServer 0x12345678
|
$ARG0 addr2line i686 WindowServer 0x12345678
|
||||||
|
@ -178,7 +186,7 @@ run_gdb() {
|
||||||
gdb "$BUILD_DIR/Kernel/Kernel" -ex 'target remote :1234' "${GDB_ARGS[@]}" -ex cont
|
gdb "$BUILD_DIR/Kernel/Kernel" -ex 'target remote :1234' "${GDB_ARGS[@]}" -ex cont
|
||||||
}
|
}
|
||||||
|
|
||||||
if [[ "$CMD" =~ ^(build|install|image|run|gdb|rebuild|recreate|kaddr2line|addr2line|setup-and-run)$ ]]; then
|
if [[ "$CMD" =~ ^(build|install|image|run|gdb|test|rebuild|recreate|kaddr2line|addr2line|setup-and-run)$ ]]; then
|
||||||
cmd_with_target
|
cmd_with_target
|
||||||
[[ "$CMD" != "recreate" && "$CMD" != "rebuild" ]] || delete_target
|
[[ "$CMD" != "recreate" && "$CMD" != "rebuild" ]] || delete_target
|
||||||
# FIXME: We should probably call ensure_toolchain first, but this somehow causes
|
# FIXME: We should probably call ensure_toolchain first, but this somehow causes
|
||||||
|
@ -219,13 +227,26 @@ if [[ "$CMD" =~ ^(build|install|image|run|gdb|rebuild|recreate|kaddr2line|addr2l
|
||||||
command -v tmux >/dev/null 2>&1 || die "Please install tmux!"
|
command -v tmux >/dev/null 2>&1 || die "Please install tmux!"
|
||||||
build_target
|
build_target
|
||||||
if [ "$TARGET" = "lagom" ]; then
|
if [ "$TARGET" = "lagom" ]; then
|
||||||
run_tests "${CMD_ARGS[0]}"
|
lagom_unsupported
|
||||||
else
|
else
|
||||||
build_target install
|
build_target install
|
||||||
build_target image
|
build_target image
|
||||||
tmux new-session "$ARG0" __tmux_cmd "$TARGET" run "${CMD_ARGS[@]}" \; set-option -t 0 mouse on \; split-window "$ARG0" __tmux_cmd "$TARGET" gdb "${CMD_ARGS[@]}" \;
|
tmux new-session "$ARG0" __tmux_cmd "$TARGET" run "${CMD_ARGS[@]}" \; set-option -t 0 mouse on \; split-window "$ARG0" __tmux_cmd "$TARGET" gdb "${CMD_ARGS[@]}" \;
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
test)
|
||||||
|
# FIXME: can we avoid building everything for host tests?
|
||||||
|
build_target
|
||||||
|
if [ "$TARGET" = "lagom" ]; then
|
||||||
|
run_tests "${CMD_ARGS[0]}"
|
||||||
|
else
|
||||||
|
build_target install
|
||||||
|
build_target image
|
||||||
|
export SERENITY_KERNEL_CMDLINE="boot_mode=self-test"
|
||||||
|
export SERENITY_RUN="ci"
|
||||||
|
build_target run
|
||||||
|
fi
|
||||||
|
;;
|
||||||
rebuild)
|
rebuild)
|
||||||
build_target "$@"
|
build_target "$@"
|
||||||
;;
|
;;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue