This repository was archived by the owner on Nov 6, 2020. It is now read-only.
Conditionally compile ethcore public test helpers #8743
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Partially address #8424. Related to #8371, rust-lang/cargo#2911, and rust-lang/cargo#1796.
This PR marks most of the specifications used only during test as
any(test, feature="test-helpers")
so that it won't be built during a normal build against the main binary.In addition, it marks public test helpers exposed by
ethcore
to be compiled test only, and when the feature flagtest-helpers
is enabled, so that it can be used for tests inethcore-sync
andethcore-private-tx
. Because of rust-lang/cargo#1796, when you compileethcore-sync
orethcore-private-tx
only, the dev dependencies features (in our case,test-helpers
byethcore
) will actually be leaked to normal builds. However, some testing shows me that when building the main binary, the dev dependency feature won't be enabled. So it's still an improvement compared with now.No test features in the above case.
Have test features in this case.