briandunn / flatware

A parallel test runner for RSpec and Cucumber with pretty output
MIT License
256 stars 35 forks source link

Fanning out a large spec file to multiple workers #88

Open louim opened 2 months ago

louim commented 2 months ago

Hey! I see that flatware logs each individual specs timing. Would it be possible to fan out a large file based on individual timings? So if I do bin/flatware rspec -r ./spec/flatware_helper.rb spec/myspec.rb it run chunk of that file in multiple workers efficiently?

briandunn commented 2 months ago

Hello! The main blocker on spec level granularity, as apposed to file level, is that all tests must be loaded and parsed before they can be distributed. RSpec does not like to load a spec file and then not run it. Last I was working on this, that couldn't be achieved without significant private API hacks.

If you can check it out and see if that can be achieved cleanly I'm very open to the feature.

Oh and the individual logging is just because we are using the features already in RSpec. There is also interest in reducing the granularity in order to save on time tracking performance.