haskell-nix / hnix

A Haskell re-implementation of the Nix expression language
https://hackage.haskell.org/package/hnix
BSD 3-Clause "New" or "Revised" License
754 stars 115 forks source link

Creating a mocked variant of MonadEffects #299

Open jwiegley opened 6 years ago

jwiegley commented 6 years ago

I'd like to build a mocking platform for hnix. This would have the following benefits:

I see this work consisting of a few parts:

I then imagine we would always run the tests against a mocked store, meaning that a build + test cycle of hnix should never have any impact on the system outside of the Cabal dist directory.

shlevy commented 6 years ago

Greg and I have already talked about both a readonly and true mock version of hnix-store, so once that's ready the only effects necessary to mock on the hnix end will be file import and downloading I think.

mightybyte commented 6 years ago

Mocking downloading seems like it will be really useful in the future for making a --offline option that doesn't need the internet.

mightybyte commented 5 years ago

I believe @ryantrinkle is working on this?