Skip to content

Enhance "Run All Tests" to Support Recursive Execution in Nested Directories and Exclude Configuration Files #34

@ryuuhei0729

Description

@ryuuhei0729

Problem

Currently, the "Run All Tests" button in Maestro Studio has two limitations:

  1. Includes non-test YAML files: The button executes all .yaml files in the current directory, including configuration files (e.g., workspace configuration YAMLs) that are not actual test flows. This causes errors or unintended behavior when trying to run all tests.

  2. Does not support nested directories: The button only executes test files in the current directory and does not recursively discover tests in subdirectories. Users typically organize their test flows in nested directory structures like:

    maestro/
    ├── auth/
    │   ├── login.yaml
    │   └── logout.yaml
    ├── register/
    │   └── signup.yaml
    └── config.yaml  (configuration file, not a test)
    

Expected Behavior

The "Run All Tests" button should:

  • Recursively discover and execute all test files in the current directory and all its subdirectories (similar to maestro test maestro/**/*.yaml in CLI)
  • Exclude configuration files and only execute actual test flow files

Current Workaround

Users can work around this limitation by using the CLI:

maestro test maestro/**/*.yaml

However, this defeats the purpose of using Maestro Studio's no-code UI approach.

Proposed Solution

Modify the "Run All Tests" functionality to:

  1. Recursively scan the current directory and all subdirectories for test files
  2. Filter out configuration files (e.g., config.yaml, workspace.yaml, or files that don't contain Maestro flow commands)
  3. Execute all discovered test files in a batch

This would align Maestro Studio's functionality with the CLI capabilities while maintaining the convenience of the GUI.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions