-
Notifications
You must be signed in to change notification settings - Fork 81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Change integration tests implementation to one based on rules_bazel_integration_test
#1766
Conversation
…sts: * create haskell_bazel_integration_test rule for integration test with test scenario written in haskell and similar to go_bazel_test setup procedure * create rules_haskell_integration_test macro for integration test running haskell scenario with all bazel versions supported in rules_haskell * remove rules_go-based integration_test implementation * remove rules_go patching for the sake of this implementation * create IntegrationTesting library with helper functions formerly located in RunTests.hs * Reimplement existing integration_test implementations with rules_haskell_integration_test
Awesome! Regarding 6., I added a couple more tests using the old framework in |
rules_haskell_integration_test
Thanks! Sorry for creating additional work for the migration. |
There is plenty of it still in RunTests.hs, so don't be :) |
integration testing, put those dependencies downloading in tests/integration_testing/dependencies.bzl
rules_bazel_integration_test, removed redundant set of TMPDIR
rules_haskell_integration_test, fix buildifier formatting
tests to run bazel with it
Tests on Windows are failing due to the bug in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot for pushing this forward! This looks a lot more pleasant to use!
A couple comments/questions.
I'm going to help with debug and fixing it. In the meantime we can ignore these tests on windows until it fixed, or just wait for the fix
Thanks! Happy to temporarily skip those on Windows. You could already line up a PR to re-enable them so that it's not forgotten.
rules_haskell's bazelrc
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you, that looks great!
I fixed a couple typos in the README, please take another look in case I messed something up.
Thanks! Btw there is a problem with |
Hmm, this is odd. It seems to be failing when fetching
I'm not sure what's causing this. AFAIK nothing in this PR should affect that pipeline, right? |
Yes, and it was passing before README fixes, which I hardly believe could influence this |
install some nix dependencies
d90aea3
to
23cfbed
Compare
I removed setting |
…newer version where dependency on clang is removed * Remove clang dependency in shell.nix
its possible now in rules_bazel_integration_test
Since bazel-contrib/rules_bazel_integration_test#71 is merged, there is an ability to specify the |
@k1nkreet I'd say, what's important is that test failures produce equally clear and understandable error messages. Otherwise, as you say, if each binary represents a single test anyway, then there isn't much benefit in wrapping it in |
@aherrmann Can we add this to the merge queue, or there is something else to fix? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to merge. 🎉
This PR suggests alternative approach to integration testing, based on
rules_bazel_integration_test ruleset
. Unfortunately I could not come up with anything less radical than put all required changes in one PR, cause otherwise both implementation would stay for a while in repo which could be very unclear and misleadingSo here is a list of changes I've put here:
with test scenario written in haskell and similar to
go_bazel_test
setup procedurerules_haskell_integration_test
macro for integration test runninghaskell scenario with all bazel versions supported in rules_haskell
located in RunTests.hs
rules_haskell_integration_test