52 lines
1.1 KiB
Bash
Executable File
52 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
cd "$(dirname "$0")/.."
|
|
|
|
sources=$(find arch include kernel -name '*.c' -o -name '*.h')
|
|
|
|
clang-format --dry-run --Werror $sources
|
|
|
|
make clean
|
|
make
|
|
|
|
timeout 30s make run-headless || true
|
|
|
|
required_lines=(
|
|
"Tianole x86 bootloader loaded."
|
|
"jumping to kernel entry"
|
|
"kernel_main entered"
|
|
"boot_info.version ok"
|
|
"boot services exited"
|
|
"memory map descriptors="
|
|
"conventional memory pages="
|
|
)
|
|
|
|
for line in "${required_lines[@]}"; do
|
|
if ! grep -F "$line" build/debug.log >/dev/null; then
|
|
echo "missing expected boot log line: $line" >&2
|
|
echo "--- build/debug.log ---" >&2
|
|
cat build/debug.log >&2 || true
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
serial_required_lines=(
|
|
"kernel_main entered"
|
|
"boot_info.version ok"
|
|
"boot services exited"
|
|
"memory map descriptors="
|
|
"conventional memory pages="
|
|
)
|
|
|
|
for line in "${serial_required_lines[@]}"; do
|
|
if ! grep -F "$line" build/serial.log >/dev/null; then
|
|
echo "missing expected serial log line: $line" >&2
|
|
echo "--- build/serial.log ---" >&2
|
|
cat build/serial.log >&2 || true
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
cat build/debug.log
|