Skip to content

Latest commit

 

History

History
60 lines (41 loc) · 2.93 KB

CONTRIBUTING.md

File metadata and controls

60 lines (41 loc) · 2.93 KB

Contributing to the MongoDB Tools Project

Pull requests are always welcome, and the MongoDB engineering team appreciates any help the community can give to make the MongoDB tools better.

For any particular improvement you want to make, you can begin a discussion on the MongoDB Developers Forum. This is the best place to discuss your proposed improvement (and its implementation) with the core development team.

If you're interested in contributing, we have a list of some suggested tickets that are easy enough to get started on here

Getting Started

  1. Create a MongoDB JIRA account.
  2. Create a Github account.
  3. Fork the repository on Github at https://github.com/wNee/mongo-tools.
  4. For more details see http://www.mongodb.org/about/contributors/.
  5. Submit a pull request against the project for review. Note: if you are a MongoDB engineer, please use the internal code review tool instead of github.

JIRA Tickets

  1. File a JIRA ticket in the TOOLS project.
  2. All commit messages to the MongoDB Tools repository must be prefaced with the relevant JIRA ticket number e.g. "TOOLS-XXX add support for xyz".

In filing JIRA tickets for bugs, please clearly describe the issue you are resolving, including the platforms on which the issue is present and clear steps to reproduce.

For improvements or feature requests, be sure to explain the goal or use case, and the approach your solution will take.

Style Guide

All commits to the MongoDB Tools repository must pass golint:

go run vendor/src/github.com/3rf/mongo-lint/golint/golint.go mongo* bson* common/*

We use a modified version of golint

Testing

To run unit and integration tests:

go test -v ./... 

If TOOLS_TESTING_UNIT is set to "true" in the environment, unit tests will run. If TOOLS_TESTING_INTEGRATION is set to "true" in the environment, integration tests will run.

Integration tests require a mongod (running on port 33333) while unit tests do not.

To run the quality assurance tests, you need to have the latest stable version of the rebuilt tools, mongod, mongos, and mongo in your current working directory.

cd test/qa-tests
python buildscripts/smoke.py bson export files import oplog restore stat top

Some tests require older binaries that are named accordingly (e.g. mongod-2.4, mongod-2.6, etc). You can use setup_multiversion_mongodb.py to download those binaries