mirror of
https://github.com/marcoallegretti/WEFT_OS.git
synced 2026-03-27 01:13:09 +00:00
New crate: weft-pack — command-line tool for validating WEFT application package directories against the app-package-format spec. src/main.rs: - check <dir>: loads wapp.toml, validates app ID format, verifies package.name is non-empty and <=64 chars, confirms runtime.module and ui.entry files exist. Prints 'OK' on success or the list of errors. - info <dir>: prints all manifest fields to stdout. - load_manifest(): reads and parses wapp.toml with toml crate. - is_valid_app_id(): enforces reverse-domain convention (>=3 components, each starting with a lowercase letter, digits allowed, no hyphens or uppercase). Tests (5): - app_id_valid: accepts well-formed reverse-domain IDs. - app_id_invalid: rejects two-component, uppercase, hyphen, empty IDs. - check_package_missing_manifest: error when wapp.toml is absent. - check_package_valid: full happy-path with real temp files. - check_package_invalid_app_id: error on a hyphenated app ID. New deps: toml 0.8, serde 1 (derive). Added weft-pack to workspace Cargo.toml; wsl-test.sh extended.
42 lines
904 B
Bash
42 lines
904 B
Bash
#!/usr/bin/env bash
|
|
set -e
|
|
|
|
PROJECT="/mnt/c/Users/might/Desktop/Development/Systems/WEFT OS"
|
|
|
|
FAKE_PC_DIR="$HOME/.local/fake-pkgconfig"
|
|
mkdir -p "$FAKE_PC_DIR"
|
|
cat > "$FAKE_PC_DIR/libdisplay-info.pc" << 'EOF'
|
|
prefix=/usr
|
|
exec_prefix=${prefix}
|
|
libdir=/usr/lib64
|
|
includedir=/usr/include
|
|
|
|
Name: libdisplay-info
|
|
Description: EDID and DisplayID library (version shim for cargo check)
|
|
Version: 0.2.9
|
|
Libs: -L${libdir} -ldisplay-info
|
|
Cflags: -I${includedir}
|
|
EOF
|
|
|
|
source "$HOME/.cargo/env"
|
|
export PKG_CONFIG_PATH="$FAKE_PC_DIR:/usr/lib64/pkgconfig:/usr/share/pkgconfig"
|
|
|
|
cd "$PROJECT"
|
|
|
|
echo "==> cargo test -p weft-compositor"
|
|
cargo test -p weft-compositor 2>&1
|
|
|
|
echo ""
|
|
echo "==> cargo test -p weft-appd"
|
|
cargo test -p weft-appd 2>&1
|
|
|
|
echo ""
|
|
echo "==> cargo test -p weft-runtime"
|
|
cargo test -p weft-runtime 2>&1
|
|
|
|
echo ""
|
|
echo "==> cargo test -p weft-pack"
|
|
cargo test -p weft-pack 2>&1
|
|
|
|
echo ""
|
|
echo "ALL DONE"
|