This commit is contained in:
2026-03-20 10:03:00 +01:00
parent d6ea38db14
commit 998339d2b5
5 changed files with 112 additions and 12 deletions

View File

@@ -358,7 +358,8 @@ for repo in ['core','extra','desktop','gaming']:
if not os.path.exists(tf): continue
with open(tf) as f:
content = f.read()
for m in re.finditer(r'(?:run|build)\s*=\s*\[(.*?)\]', content):
# re.DOTALL needed because run/build arrays can span multiple lines
for m in re.finditer(r'(?:run|build)\s*=\s*\[(.*?)\]', content, re.DOTALL):
for dm in re.finditer(r'"([\w][\w.-]*)"', m.group(1)):
if dm.group(1) not in known:
missing.add(dm.group(1))
@@ -378,6 +379,25 @@ else
record_test "repos.deps_resolve" "skip" "python3 not available"
fi
# 32-bit multilib support check — required for Steam/Wine
GCC_TOML="${PROJECT_ROOT}/src/repos/core/gcc/gcc.toml"
if [ -f "$GCC_TOML" ]; then
if grep -q 'enable-multilib' "$GCC_TOML"; then
record_test "repos.gcc_multilib" "pass"
else
record_test "repos.gcc_multilib" "fail" "GCC built with --disable-multilib — Steam/Wine 32-bit support broken"
fi
fi
# Check that essential lib32 packages exist
for lib32pkg in lib32-glibc lib32-zlib lib32-openssl lib32-mesa lib32-nvidia lib32-alsa-lib lib32-libx11; do
if [ -d "${PROJECT_ROOT}/src/repos/gaming/${lib32pkg}" ]; then
record_test "repos.${lib32pkg}" "pass"
else
record_test "repos.${lib32pkg}" "fail" "Missing — Steam/Wine needs 32-bit ${lib32pkg#lib32-}"
fi
done
# ============================================================================
# TEST SUITE 4: Script Validation
# ============================================================================
@@ -754,6 +774,16 @@ if [ -f "$RC_CONF" ]; then
record_test "chain.nvidia_modules" "fail" "NVIDIA modules not in MODULES array — GPU won't work"
fi
# Verify dhcpcd auto-detects network interface if configured one is missing
DHCPCD_SCRIPT="${PROJECT_ROOT}/configs/rc.d/dhcpcd"
if [ -f "$DHCPCD_SCRIPT" ]; then
if grep -q 'sys/class/net' "$DHCPCD_SCRIPT"; then
record_test "chain.dhcpcd_auto_detect" "pass"
else
record_test "chain.dhcpcd_auto_detect" "fail" "dhcpcd doesn't auto-detect interface — network may fail on different hardware"
fi
fi
if grep -q 'nvidia-drm.*modeset=1' "$RC_CONF"; then
record_test "chain.nvidia_modeset" "pass"
else