RUBY-2467 Remove specs from packaged gem #2922
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.
TL;DR: let's not bundle specs with the packaged gem, because the specs as presented in the gem are not runnable anyway.
The
mongo
gem currently includes the spec files, presumably so that users can run the specs to ensure correctness. However, themongo-ruby-spec-shared
anddrivers-evergreen-tools
submodules are not included, which means (1) a symbolic link inspec/support
that points into.mod/drivers-evergreen-tools
causes a warning when installing the gem, and (2) the specs can't run anyway, because the submodules are missing.Further, the specs require dependencies from the
testing
group in the Gemfile, which are not installed by default when the gem is installed, further complicating the running of specs from an installed gem.So, because the specs cannot currently be run from the gem anyway, and the warning about the dangling symlink is alarming to some users, it seems cleaner and less confusing to make sure the
spec
directory is omitted entirely from the packaged gem. Users interested in running the specs should refer to either (a) the corresponding release on GitHub, which includes an archive of the source code for that release, or (b) the repository itself.