generated from nhcarrigan/template
f6906640e4
Add extensive test coverage to prevent regressions of bugs fixed in this branch: - Test rapid sequential config updates - Test concurrent updates preserving all fields - Test overlapping save operations - Test config data persistence across operations - Test auto-granted tools not being lost - Test custom theme colours persisting - Test graceful error handling during saves - Test config load/save cycle Also update check-all.sh to run coverage for both frontend and backend tests, matching the CI pipeline behaviour. These tests would have caught both the config race condition and persistence bugs we encountered, preventing future regressions.
56 lines
1.6 KiB
Bash
Executable File
56 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Source nvm to get access to pnpm
|
|
export NVM_DIR="$HOME/.nvm"
|
|
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
|
|
|
|
# Colors for output
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
NC='\033[0m' # No Color
|
|
|
|
# Function to run a command and check its status
|
|
run_check() {
|
|
local desc=$1
|
|
local cmd=$2
|
|
|
|
echo -e "\n${YELLOW}Running: ${desc}${NC}"
|
|
echo -e "${YELLOW}Command: ${cmd}${NC}"
|
|
|
|
if eval "$cmd"; then
|
|
echo -e "${GREEN}✓ ${desc} passed${NC}"
|
|
return 0
|
|
else
|
|
echo -e "${RED}✗ ${desc} failed${NC}"
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
# Track if any checks fail
|
|
failed=0
|
|
|
|
echo -e "${YELLOW}🔍 Running all checks for Hikari Desktop...${NC}"
|
|
|
|
# Frontend checks
|
|
run_check "Frontend lint" "pnpm lint" || failed=1
|
|
run_check "Frontend format check" "pnpm format:check" || failed=1
|
|
run_check "Frontend type check" "pnpm check" || failed=1
|
|
run_check "Frontend tests with coverage" "pnpm test:coverage" || failed=1
|
|
|
|
# Backend checks
|
|
run_check "Backend clippy (strict)" "(cd src-tauri && cargo clippy --all-targets --all-features -- -D warnings)" || failed=1
|
|
run_check "Backend tests with coverage" "(cd src-tauri && cargo llvm-cov --fail-under-lines 50)" || failed=1
|
|
|
|
# Summary
|
|
echo -e "\n${YELLOW}========================================${NC}"
|
|
if [ $failed -eq 0 ]; then
|
|
echo -e "${GREEN}✨ All checks passed! The code is looking great!${NC}"
|
|
echo -e "${GREEN} Naomi would be so proud of us! 💖${NC}"
|
|
exit 0
|
|
else
|
|
echo -e "${RED}❌ Some checks failed. Let's fix them together!${NC}"
|
|
echo -e "${RED} Don't worry, we'll get through this! 💪${NC}"
|
|
exit 1
|
|
fi
|