114548d945
The test creates a cache from multiple sources and injects faults (once using invalid data and once by making the files unreadable on the fs level), then resolves again. I didn't test git because it has its own locking and correctness logic. The main drawback is that this test is slow (2.5s for me), we could `#[ignore]` it.