sal/docs/rhai/running_tests.md
Mahmoud Emad 4e166f7750 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.
2025-05-08 15:05:55 +03:00

2.1 KiB

Running Rhai Tests

This document describes how to run the Rhai tests for the SAL library.

Test Structure

The Rhai tests are organized by module in the src/rhai_tests directory:

  • src/rhai_tests/os/: Tests for the OS module
  • src/rhai_tests/git/: Tests for the Git module

Each module directory contains:

  • Individual test scripts (e.g., 01_file_operations.rhai)
  • A test runner script (run_all_tests.rhai) that runs all tests for that module

Running Tests

Running All Tests

To run all Rhai tests across all modules, use the provided shell script:

./run_rhai_tests.sh

This script:

  1. Finds all test runner scripts in the src/rhai_tests directory
  2. Runs each test runner
  3. Reports the results for each module
  4. Provides a summary of all test results

The script will exit with code 0 if all tests pass, or code 1 if any tests fail.

Running Tests for a Specific Module

To run tests for a specific module, use the herodo command with the module's test runner:

herodo --path src/rhai_tests/os/run_all_tests.rhai

Running Individual Tests

To run a specific test, use the herodo command with the test script:

herodo --path src/rhai_tests/os/01_file_operations.rhai

Test Output

The test output includes:

  • Information about what's being tested
  • Success or failure messages for each test
  • A summary of test results

Successful tests are indicated with a checkmark (✓), while failed tests show an error message.

Adding New Tests

When adding new tests:

  1. Create a new test script in the appropriate module directory
  2. Update the module's test runner script to include the new test
  3. Update the module's documentation to describe the new test

The run_rhai_tests.sh script will automatically find and run the new tests as long as they're included in a module's test runner script.

Troubleshooting

If tests fail, check the following:

  1. Make sure the herodo binary is in your PATH
  2. Verify that the test scripts have the correct permissions
  3. Check for any dependencies required by the tests (e.g., git for Git module tests)
  4. Look for specific error messages in the test output