cberner / fuser

Filesystem in Userspace (FUSE) for Rust
MIT License
836 stars 114 forks source link

Split up integration testing, and try cache some state #117

Closed ianoc closed 3 years ago

ianoc commented 3 years ago

This one is to try take the really long test which seems to have random kills or out of disk space issues for me and make it both more reliable and also much much faster. Takes 36mins now for the slowest segment. (Driven heavily by one test we could disable too if we felt like it)

ianoc commented 3 years ago

Rebased on master, failing test was just the appveyor being out of minutes/too busy i believe.

ianoc commented 3 years ago

To view the actions as they are running here you'll need to visit the commit in my fork

https://github.com/ianoc/fuser/commit/3877e6e1127b010d6a74f6fe05e4698695b4b2d5 (should be the same sha as listed here).

Then the ci icon should be by the commit title, which will list all the jobs.

There will be a good few more.

Things to look for:

I split the make tests into 3 types of things:

Upside of this change:

-> I think it should be more stable since disk pressure or any cross talk inside the Makefile tests will be relieved -> It completes far faster, ~36mins for all tests, and since the tests run in parallel we should get feedback about test failures much more rapidly.

Downside: -> Forking of some testing behavior (limited to xfstests where we have to be a bit more invasive with our caching/handling) -> More code/complexity relatively

Since make test still works as it did before, this should be a change we can revert back out of relatively easily in the future if it seems like a bad idea/more maintenance if keeping the Makefile and the list of sub tests in github actions in sync is a lot of work.