snowleopard / hadrian

Hadrian: a new build system for the Glasgow Haskell Compiler. Now merged into the GHC tree!
https://gitlab.haskell.org/ghc/ghc/tree/master/hadrian
MIT License
208 stars 39 forks source link

Improve test coverage of the build system #197

Open snowleopard opened 8 years ago

snowleopard commented 8 years ago

The selftest target is currently too limited to be useful. More tests need to be added.

chitrak7 commented 6 years ago

Hi @snowleopard, @izgzhen, Can you please give me an idea of more tests that we can perform. Also, currently all tests are hardcoded, but I think we can introduce a bit of randomization to make the tests more effective.

snowleopard commented 6 years ago

@chitrak7 We already use QuickCheck. What other randomisation do you have in mind?

chitrak7 commented 6 years ago

Eg: The rule testModuleName currently has hardcoded ‘Data.Functor.Identity“. We can instead pick up any Module Randomly and test for that. @snowleopard

snowleopard commented 6 years ago

Right, I see.

I'd say this whole issue is fairly low priority. It's great to have thorough tests to help maintain Hadrian in the long term, but we still have a lot of work before Hadrian becomes the default build system for GHC.

chitrak7 commented 6 years ago

@snowleopard Giving it 3-4 days in my proposal. My proposal currently aims at making Hadrian more robust by implementing good test coverage, both from test suite as well as internally.