Hello,
I’m interested in contributing to the open-source WT project. What tests do I need to run to make sure I don’t break existing functionality?
What tests do I need to run? are the following enough?:
Are there more important tests that I missed?
Thanks,
Ron
{ name : "Etienne Petrel",
title : "Senior Software Engineer, Storage Engines",
location : "Sydney, AU" }
--
You received this message because you are subscribed to the Google Groups "wiredtiger-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to wiredtiger-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/wiredtiger-users/c5640f4c-7588-4bf3-ac59-38f40aefa6bdn%40googlegroups.com.
Great to hear you’re interested in the WiredTiger project!
Allow me to provide some context as to how WT is tested, to help in answering your question.
Evergreen is a Continuous Integration tool developed by MongoDB that we use for surprise, surprise: continuous integration! 😀 We define Evergreen build tasks in test/evergreen.yml which the evergreen client then uses to describe the VM to setup, how to build, what specific tests to run, and so on.
The Evergreen build infrastructure is only available to MongoDB employees as the compute time must be paid for by the company.
If you are able to control a fleet of virtual machines, it might be worth trying to set up Evergreen for yourself but we would need to find someone in the team that looks after Evergreen, as the WiredTiger team uses it as a “service”.
We genuinely value that you would like to verify an changes your making, and fFortunately WT itself comes with a multitude of test tools and suites:
build/test/format
build/test/csuite
build/test/cppsuite
test/suite (individual python tests)
We would suggest that you start with the test target which can be run in the build directory of your workspace, that is:
$ cmake -B build -G Ninja
$ cd build
$ ninja
# Assuming a successful build.
$ ninja test
Note after you submit a PR it will remain in a suspended state until a WiredTiger team member gives it the okay for the PR to be run on Evergreen. While it is understandable that problems may show up at that point, given the number of systems and configurations we can run against on Evergreen, all the testing you do in preparation is invaluable: it prevents wasted computing time and helps expedite PR (Pull Request) review.
All the best,
Marc