The WriteConcern spec tests contain a couple of cases checking for invalid values of wTimeoutMS and w. (Specifically, it tests negative values.)
Currently we skip these in ReadWriteConcernTests.testDocuments, because the initializer relies on libmongoc to validate the options, and libmongoc does not consider those to be invalid values.
However, we could just validate ourselves that they are non-negative.
We should update the WriteConcern initializer that looks like this:
to throw a UserError.invalidArgumentError when either w or wtimeoutMS is < 0.