Document new menu uniformity QA checks (104-107) in REFDB
Added comprehensive documentation for new QA checks:
CHECK 104: Menu Input Validation (MEDIUM)
- Detects menu inputs without proper range validation
- Flags: read without [[ validation ]] patterns
- Fix: Add numeric range checks
CHECK 105: Menu Color Code Consistency (LOW)
- Detects menu options without color codes
- Flags: plain echo without ${CYAN}${NC} format
- Fix: Use standardized color format
CHECK 106: Menu Retry Loop Implementation (LOW)
- Detects input validation without retry loops
- Flags: Validation without 'while true' loop
- Fix: Wrap in proper retry loop
CHECK 107: Standardized Yes/No Prompts (LOW)
- Detects non-standard confirmation prompts
- Flags: read "(yes/no):" instead of confirm()
- Fix: Use confirm() library function
Included usage examples and integration details.
These checks validate all 9 scripts we standardized.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
+51
-1
@@ -4210,7 +4210,7 @@ LEVEL 3: NICE-TO-HAVE (Quality improvements)
|
|||||||
QA ENFORCEMENT:
|
QA ENFORCEMENT:
|
||||||
================================================================================
|
================================================================================
|
||||||
|
|
||||||
CHECK 32 in toolkit-qa-check.sh validates menu standards:
|
LEGACY CHECK 32 in toolkit-qa-check.sh validates menu standards:
|
||||||
|
|
||||||
1. Back Button Check:
|
1. Back Button Check:
|
||||||
- Finds all show_*_menu() and handle_*_menu() functions
|
- Finds all show_*_menu() and handle_*_menu() functions
|
||||||
@@ -4227,6 +4227,56 @@ CHECK 32 in toolkit-qa-check.sh validates menu standards:
|
|||||||
- Reports LOW issue if inline domain selection found
|
- Reports LOW issue if inline domain selection found
|
||||||
|
|
||||||
Status: ✅ ACTIVE (commit 201dc3c)
|
Status: ✅ ACTIVE (commit 201dc3c)
|
||||||
|
|
||||||
|
NEW MENU UNIFORMITY CHECKS (Phase 11 - 2026-02-11):
|
||||||
|
====================================================
|
||||||
|
|
||||||
|
CHECK 104: Menu Input Validation (MEDIUM)
|
||||||
|
Purpose: Detect menu inputs without proper range validation
|
||||||
|
Pattern: Finds read -p "Select option" without [[ validation ]]
|
||||||
|
Detects: read statements for menu input lacking numeric range checks
|
||||||
|
Impact: Scripts crash or behave unpredictably with invalid input
|
||||||
|
Fix: Add validation like: [[ "$choice" =~ ^[1-5]$ ]]
|
||||||
|
Status: ✅ ACTIVE (commit fc5dc18)
|
||||||
|
|
||||||
|
CHECK 105: Menu Color Code Consistency (LOW)
|
||||||
|
Purpose: Enforce consistent menu color styling
|
||||||
|
Pattern: Finds echo " 1) Option" without ${CYAN}1)${NC}
|
||||||
|
Detects: Menu options missing color codes
|
||||||
|
Impact: Visual inconsistency, poor UX
|
||||||
|
Fix: Use ${CYAN}1)${NC} format for consistency
|
||||||
|
Status: ✅ ACTIVE (commit fc5dc18)
|
||||||
|
|
||||||
|
CHECK 106: Menu Retry Loop Implementation (LOW)
|
||||||
|
Purpose: Ensure users can retry after invalid input
|
||||||
|
Pattern: Finds input validation without 'while true' loops
|
||||||
|
Detects: Invalid input handling without retry mechanism
|
||||||
|
Impact: Bad UX - users must restart script on invalid input
|
||||||
|
Fix: Wrap validation in: while true; do ... [[ valid ]] && break; done
|
||||||
|
Status: ✅ ACTIVE (commit fc5dc18)
|
||||||
|
|
||||||
|
CHECK 107: Standardized Yes/No Prompts (LOW)
|
||||||
|
Purpose: Standardize confirmation prompts across scripts
|
||||||
|
Pattern: Finds read -p "... (yes/no):" instead of confirm()
|
||||||
|
Detects: Manual yes/no prompts instead of library function
|
||||||
|
Impact: Inconsistent UX - different prompt styles
|
||||||
|
Fix: Replace with: if ! confirm "Continue?"; then return; fi
|
||||||
|
Status: ✅ ACTIVE (commit fc5dc18)
|
||||||
|
|
||||||
|
USAGE EXAMPLES:
|
||||||
|
# Scan a specific script for menu uniformity:
|
||||||
|
bash toolkit-qa-check.sh --file /path/to/script.sh
|
||||||
|
|
||||||
|
# View all menu uniformity issues:
|
||||||
|
grep 'MENU-VALIDATION\|MENU-COLORS\|MENU-RETRY\|PROMPT-STYLE' /tmp/qa-report.txt
|
||||||
|
|
||||||
|
# Check if script passes menu standards:
|
||||||
|
if ! grep -q 'MENU-VALIDATION\|MENU-COLORS\|MENU-RETRY' /tmp/qa-report.txt; then
|
||||||
|
echo "Script passes menu uniformity checks!"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Run full QA with menu checks included:
|
||||||
|
bash toolkit-qa-check.sh /root/server-toolkit 2>&1 | grep -E "104:|105:|106:|107:"
|
||||||
Location: tools/toolkit-qa-check.sh:957-1012
|
Location: tools/toolkit-qa-check.sh:957-1012
|
||||||
|
|
||||||
FUTURE TODO (Enhancements based on this analysis):
|
FUTURE TODO (Enhancements based on this analysis):
|
||||||
|
|||||||
Reference in New Issue
Block a user