docs: Add documentation for running Rhai tests
- Added a comprehensive guide on running Rhai tests within the SAL library. This includes instructions for running all tests, tests for specific modules, and individual tests. - Created a shell script (`run_rhai_tests.sh`) to simplify running all Rhai tests and provide a summary of results. This improves the testing workflow and makes it easier to identify failures.
This commit is contained in:
63
run_rhai_tests.sh
Executable file
63
run_rhai_tests.sh
Executable file
@@ -0,0 +1,63 @@
|
||||
#!/bin/bash
|
||||
# run_rhai_tests.sh
|
||||
# Script to run all Rhai tests in the rhai_tests directory
|
||||
|
||||
# Set colors for output
|
||||
GREEN='\033[0;32m'
|
||||
RED='\033[0;31m'
|
||||
YELLOW='\033[0;33m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# Print header
|
||||
echo -e "${BLUE}=======================================${NC}"
|
||||
echo -e "${BLUE} Running All Rhai Tests ${NC}"
|
||||
echo -e "${BLUE}=======================================${NC}"
|
||||
|
||||
# Find all test runner scripts
|
||||
RUNNERS=$(find src/rhai_tests -name "run_all_tests.rhai")
|
||||
|
||||
# Initialize counters
|
||||
TOTAL_MODULES=0
|
||||
PASSED_MODULES=0
|
||||
FAILED_MODULES=0
|
||||
|
||||
# Run each test runner
|
||||
for runner in $RUNNERS; do
|
||||
# Extract module name from path
|
||||
module=$(echo $runner | cut -d'/' -f3)
|
||||
|
||||
echo -e "\n${YELLOW}Running tests for module: ${module}${NC}"
|
||||
echo -e "${YELLOW}-------------------------------------${NC}"
|
||||
|
||||
# Run the test runner
|
||||
herodo --path $runner
|
||||
|
||||
# Check if the test passed
|
||||
if [ $? -eq 0 ]; then
|
||||
echo -e "${GREEN}✓ Module ${module} tests passed${NC}"
|
||||
PASSED_MODULES=$((PASSED_MODULES + 1))
|
||||
else
|
||||
echo -e "${RED}✗ Module ${module} tests failed${NC}"
|
||||
FAILED_MODULES=$((FAILED_MODULES + 1))
|
||||
fi
|
||||
|
||||
TOTAL_MODULES=$((TOTAL_MODULES + 1))
|
||||
done
|
||||
|
||||
# Print summary
|
||||
echo -e "\n${BLUE}=======================================${NC}"
|
||||
echo -e "${BLUE} Test Summary ${NC}"
|
||||
echo -e "${BLUE}=======================================${NC}"
|
||||
echo -e "Total modules tested: ${TOTAL_MODULES}"
|
||||
echo -e "Passed: ${GREEN}${PASSED_MODULES}${NC}"
|
||||
echo -e "Failed: ${RED}${FAILED_MODULES}${NC}"
|
||||
|
||||
# Set exit code based on test results
|
||||
if [ $FAILED_MODULES -eq 0 ]; then
|
||||
echo -e "\n${GREEN}All tests passed!${NC}"
|
||||
exit 0
|
||||
else
|
||||
echo -e "\n${RED}Some tests failed!${NC}"
|
||||
exit 1
|
||||
fi
|
Reference in New Issue
Block a user