2026-03-11 07:12:11 +00:00
|
|
|
#!/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
|
2026-03-11 07:32:02 +00:00
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
|
echo "==> cargo test -p weft-appd"
|
|
|
|
|
cargo test -p weft-appd 2>&1
|
|
|
|
|
|
2026-03-11 08:27:30 +00:00
|
|
|
echo ""
|
|
|
|
|
echo "==> cargo test -p weft-runtime"
|
2026-03-11 10:32:26 +00:00
|
|
|
cargo test -p weft-runtime -- --test-threads=1 2>&1
|
2026-03-11 08:27:30 +00:00
|
|
|
|
feat(pack): add weft-pack package validator tool
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.
2026-03-11 08:40:34 +00:00
|
|
|
echo ""
|
|
|
|
|
echo "==> cargo test -p weft-pack"
|
2026-03-11 11:00:44 +00:00
|
|
|
cargo test -p weft-pack -- --test-threads=1 2>&1
|
feat(pack): add weft-pack package validator tool
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.
2026-03-11 08:40:34 +00:00
|
|
|
|
2026-03-11 07:12:11 +00:00
|
|
|
echo ""
|
|
|
|
|
echo "ALL DONE"
|