Skip to content

Proposal: Restructure tests so they are one file per model #90

Description

@ekryski

My suggestion is to split up the tests so that they mirror the folder structure similar to the source files, and have one test file per model. That way we can have filters for test runs to enable/disable certain tests (ie. smoke tests or other heavier weight tests). This way we can not only easily filter tests based on how compute intensive they are but it will also make it easier to run only specific model tests - saving time on CI and make it easier to reason about test coverage for a given model.

Additional benefits would be to improve merge ability, so that we don't have conflicts in the smoke test file (something I've run into a few times in particular) as well as smaller, more discrete files reduce the likelihood of AI hallucinations when reading/writing to the files.

In my own fork and upstream project using mlx-audio-swift I have a comprehensive set of tests and benchmarks and would love to contribute some of that upstream. I've had to do a lot of the testing outside of mlx-audio-swift so as not to pollute the repo and because the current structure is fragile and not as robust. I'm testing things like WER, latency, system memory and cpu usage, etc.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions