Skip to content

Commit 98a3681

Browse files
GODRIVER-3445 PR feedback and gossip updates
1 parent 2c40309 commit 98a3681

File tree

6 files changed

+46
-64
lines changed

6 files changed

+46
-64
lines changed

internal/integration/unified/unified_spec_test.go

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,15 @@ package unified
99
import (
1010
"context"
1111
"os"
12-
"path"
1312
"testing"
1413

1514
"go.mongodb.org/mongo-driver/v2/internal/spectest"
1615
)
1716

1817
var (
19-
// TODO(GODRIVER-3526): This variable can be removed once we determine why
20-
// transaction-heavy unified spec tests are failing in the unified spec
21-
// runner.
22-
nonGitSubmodulePassDirectories = []string{
23-
"unified-test-format/valid-pass",
24-
"transactions/unified",
25-
}
2618
passDirectories = []string{
19+
"unified-test-format/tests/valid-pass",
20+
"transactions-convenient-api/tests/unified",
2721
"versioned-api/tests",
2822
"crud/tests/unified",
2923
"change-streams/tests/unified",
@@ -49,8 +43,6 @@ var (
4943
}
5044
)
5145

52-
const dataDirectory = "../../../testdata"
53-
5446
func TestUnifiedSpec(t *testing.T) {
5547
// Ensure the cluster is in a clean state before test execution begins.
5648
// Don't run for Data Lake tests because it doesn't support
@@ -67,15 +59,6 @@ func TestUnifiedSpec(t *testing.T) {
6759
})
6860
}
6961

70-
// TODO(GODRIVER-3526): This block can be removed once we determine why
71-
// transaction-heavy unified spec tests are failing in the unified spec
72-
// runner.
73-
for _, testDir := range nonGitSubmodulePassDirectories {
74-
t.Run(testDir, func(t *testing.T) {
75-
runTestDirectory(t, path.Join(dataDirectory, testDir), false)
76-
})
77-
}
78-
7962
for _, testDir := range failDirectories {
8063
t.Run(testDir, func(t *testing.T) {
8164
runTestDirectory(t, spectest.Path(testDir), true)

internal/integration/unified_spec_test.go

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import (
1313
"fmt"
1414
"io/ioutil"
1515
"os"
16-
"path"
1716
"path/filepath"
1817
"reflect"
1918
"sync"
@@ -162,15 +161,6 @@ var directories = []string{
162161
"read-write-concern/tests/operation",
163162
}
164163

165-
// TODO(GODRIVER-3526): This variable can be removed once we determine why
166-
// transaction-heavy unified spec tests are failing in the unified spec
167-
// runner.
168-
var nonGitSubmodulePassDirectories = []string{
169-
"convenient-transactions",
170-
}
171-
172-
const dataPath string = "../../testdata/"
173-
174164
var checkOutcomeOpts = options.Collection().SetReadPreference(readpref.Primary()).SetReadConcern(readconcern.Local())
175165
var specTestRegistry = func() *bson.Registry {
176166
reg := bson.NewRegistry()
@@ -189,19 +179,6 @@ func TestUnifiedSpecs(t *testing.T) {
189179
}
190180
})
191181
}
192-
193-
// TODO(GODRIVER-3526): This block can be removed once we determine why
194-
// transaction-heavy unified spec tests are failing in the unified spec
195-
// runner.
196-
for _, specDir := range nonGitSubmodulePassDirectories {
197-
t.Run(specDir, func(t *testing.T) {
198-
for _, fileName := range jsonFilesInDir(t, path.Join(dataPath, specDir)) {
199-
t.Run(fileName, func(t *testing.T) {
200-
runSpecTestFile(t, filepath.Join(dataPath, specDir, fileName))
201-
})
202-
}
203-
})
204-
}
205182
}
206183

207184
// specDir: name of directory for a spec in the data/ folder

internal/spectest/skip.go

Lines changed: 44 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -132,16 +132,16 @@ var skipTests = map[string][]string{
132132
// TODO(GODRIVER-3167): Support assertions on topologyDescriptionChangedEvent
133133
// in expectEvents.
134134
"Support assertions on topologyDescriptionChangedEvent in expectEvents (GODRIVER-3167)": {
135-
"TestUnifiedSpec/unified-test-format/valid-pass/expectedEventsForClient-topologyDescriptionChangedEvent.json/can_assert_on_values_of_newDescription_and_previousDescription_fields",
135+
"TestUnifiedSpec/unified-test-format/tests/valid-pass/expectedEventsForClient-topologyDescriptionChangedEvent.json/can_assert_on_values_of_newDescription_and_previousDescription_fields",
136136
},
137137

138138
// TODO(GODRIVER-3409): Add regression test for "number" alias in $$type
139139
// operator.
140140
"Regression test for 'number' alias in $$type operator (GODRIVER-3409)": {
141-
"TestUnifiedSpec/unified-test-format/valid-pass/operator-type-number_alias.json/type_number_alias_matches_int32",
142-
"TestUnifiedSpec/unified-test-format/valid-pass/operator-type-number_alias.json/type_number_alias_matches_int64",
143-
"TestUnifiedSpec/unified-test-format/valid-pass/operator-type-number_alias.json/type_number_alias_matches_double",
144-
"TestUnifiedSpec/unified-test-format/valid-pass/operator-type-number_alias.json/type_number_alias_matches_decimal128",
141+
"TestUnifiedSpec/unified-test-format/tests/valid-pass/operator-type-number_alias.json/type_number_alias_matches_int32",
142+
"TestUnifiedSpec/unified-test-format/tests/valid-pass/operator-type-number_alias.json/type_number_alias_matches_int64",
143+
"TestUnifiedSpec/unified-test-format/tests/valid-pass/operator-type-number_alias.json/type_number_alias_matches_double",
144+
"TestUnifiedSpec/unified-test-format/tests/valid-pass/operator-type-number_alias.json/type_number_alias_matches_decimal128",
145145
},
146146

147147
// TODO(GODRIVER-3143): Convert CRUD v1 spec tests to unified test format.
@@ -226,13 +226,20 @@ var skipTests = map[string][]string{
226226
"TestUnifiedSpec/transactions/tests/unified/transaction-options.json/readPreference_inherited_from_defaultTransactionOptions",
227227
"TestUnifiedSpec/transactions/tests/unified/transaction-options.json/startTransaction_overrides_readPreference",
228228
"TestUnifiedSpec/transactions/tests/unified/retryable-commit.json/commitTransaction_fails_after_Interrupted",
229+
"TestUnifiedSpec/transactions-convenient-api/tests/unified/callback-retry.json/callback_is_not_retried_after_non-transient_error_(DuplicateKeyError)",
230+
"TestUnifiedSpec/transactions-convenient-api/tests/unified/callback-retry.json/callback_succeeds_after_multiple_connection_errors",
231+
"TestUnifiedSpec/transactions-convenient-api/tests/unified/commit-retry.json/commitTransaction_retry_only_overwrites_write_concern_w_option",
232+
"TestUnifiedSpec/transactions-convenient-api/tests/unified/commit-retry.json/commit_is_not_retried_after_MaxTimeMSExpired_error",
233+
"TestUnifiedSpec/transactions-convenient-api/tests/unified/commit-writeconcernerror.json/commitTransaction_is_not_retried_after_UnknownReplWriteConcern_error",
234+
"TestUnifiedSpec/transactions-convenient-api/tests/unified/commit-writeconcernerror.json/commitTransaction_is_not_retried_after_UnsatisfiableWriteConcern_error",
235+
"TestUnifiedSpec/transactions-convenient-api/tests/unified/commit-writeconcernerror.json/commitTransaction_is_not_retried_after_MaxTimeMSExpired_error",
229236
},
230237

231238
// TODO(GODRIVER-1773): Tests related to batch size expectation in "find" and
232239
// "getMore" events.
233240
"Tests for batch size expectation in 'find' and 'getMore' events (GODRIVER-1773)": {
234241
"TestUnifiedSpec/command-logging-and-monitoring/tests/monitoring/find.json/A_successful_find_event_with_a_getmore_and_the_server_kills_the_cursor_(<=_4.4)",
235-
"TestUnifiedSpec/unified-test-format/valid-pass/poc-command-monitoring.json/A_successful_find_event_with_a_getmore_and_the_server_kills_the_cursor_(<=_4.4)",
242+
"TestUnifiedSpec/unified-test-format/tests/valid-pass/poc-command-monitoring.json/A_successful_find_event_with_a_getmore_and_the_server_kills_the_cursor_(<=_4.4)",
236243
},
237244

238245
// TODO(GODRIVER-2577): Tests require immediate operation canceling,
@@ -267,16 +274,6 @@ var skipTests = map[string][]string{
267274
"TestUnifiedSpec/run-command/tests/unified/runCursorCommand.json/supports_configuring_getMore_maxTimeMS",
268275
},
269276

270-
// TODO(GODRIVER-3137): Implement Gossip cluster time.
271-
"Implement Gossip cluster time (GODRIVER-3137)": {
272-
"TestUnifiedSpec/transactions/unified/mongos-unpin.json/unpin_after_TransientTransactionError_error_on_commit",
273-
// This test fails with the same error as GODRIVER-3137, but is not
274-
// directly referenced as an impacted test case by DRIVERS-2816. It
275-
// seems likely that the same change will resolve the failure, so I'm
276-
// including it here.
277-
"TestUnifiedSpec/unified-test-format/valid-pass/poc-transactions-convenient-api.json/withTransaction_and_no_transaction_options_set",
278-
},
279-
280277
// TODO(GODRIVER-3034): Drivers should unpin connections when ending a
281278
// session.
282279
"Unpin connections at session end (GODRIVER-3034)": {
@@ -407,7 +404,7 @@ var skipTests = map[string][]string{
407404

408405
// TODO(GODRIVER-3486): Support auto encryption in unified tests.
409406
"Support auto encryption in unified tests (GODRIVER-3486)": {
410-
"TestUnifiedSpec/unified-test-format/valid-pass/poc-queryable-encryption.json/insert,_replace,_and_find_with_queryable_encryption",
407+
"TestUnifiedSpec/unified-test-format/tests/valid-pass/poc-queryable-encryption.json/insert,_replace,_and_find_with_queryable_encryption",
411408
},
412409

413410
// TODO(DRIVERS-3106): Support auto encryption in unified tests.
@@ -777,17 +774,45 @@ var skipTests = map[string][]string{
777774
"TestUnifiedSpec/retryable-writes/tests/unified/handshakeError.json/collection.bulkWrite_succeeds_after_retryable_handshake_server_error_(ShutdownInProgress)",
778775
},
779776

780-
// TODO (GODRIVER-3524): Change streams expanded events present by default in
777+
// TODO(GODRIVER-3524): Change streams expanded events present by default in
781778
// 8.2+.
782779
"Change streams expanded events for MongoDB 8.2+ (GODRIVER-3524)": {
783780
"TestUnifiedSpec/change-streams/change-streams-disambiguatedPaths.json/disambiguatedPaths_is_not_present_when_showExpandedEvents_is_false/unset",
784781
"TestUnifiedSpec/change-streams/change-streams.json/Test_insert,_update,_replace,_and_delete_event_types",
785782
},
786783

787-
// TODO (DRIVERS-3153): Re-enable once resolved.
784+
// TODO(DRIVERS-3153): Re-enable once resolved.
788785
"Re-enable test following DRIVERS-3153 resolution (DRIVERS-3153)": {
789786
"TestUnifiedSpec/atlas-data-lake-testing/tests/unified/getMore.json/A_successful_find_event_with_getMore",
790787
},
788+
789+
// TODO(GODRIVER-3137): Gossip cluster time from internal MongoClient to
790+
// session entities.
791+
"Must advance cluster times in unified spec runner (GODRIVER-3137)": {
792+
"TestUnifiedSpec/transactions/unified/mongos-unpin.json/unpin_after_TransientTransactionError_error_on_commit",
793+
// This test fails with the same error as GODRIVER-3137, but is not
794+
// directly referenced as an impacted test case by DRIVERS-2816. It
795+
// seems likely that the same change will resolve the failure, so I'm
796+
// including it here.
797+
"TestUnifiedSpec/unified-test-format/tests/valid-pass/poc-transactions-convenient-api.json/withTransaction_and_no_transaction_options_set",
798+
"TestUnifiedSpec/unified-test-format/tests/valid-pass/poc-transactions-convenient-api.json/withTransaction_inherits_transaction_options_from_client",
799+
"TestUnifiedSpec/unified-test-format/tests/valid-pass/poc-transactions-convenient-api.json/withTransaction_inherits_transaction_options_from_defaultTransactionOptions",
800+
"TestUnifiedSpec/unified-test-format/tests/valid-pass/poc-transactions-convenient-api.json/withTransaction_explicit_transaction_options",
801+
"TestUnifiedSpec/unified-test-format/tests/valid-pass/poc-transactions-mongos-pin-auto.json/remain_pinned_after_non-transient_Interrupted_error_on_insertOne",
802+
"TestUnifiedSpec/unified-test-format/tests/valid-pass/poc-transactions-mongos-pin-auto.json/unpin_after_transient_error_within_a_transaction",
803+
"TestUnifiedSpec/transactions-convenient-api/tests/unified/callback-aborts.json/withTransaction_succeeds_if_callback_aborts",
804+
"TestUnifiedSpec/transactions-convenient-api/tests/unified/callback-commits.json/withTransaction_succeeds_if_callback_commits",
805+
"TestUnifiedSpec/transactions-convenient-api/tests/unified/callback-commits.json/withTransaction_still_succeeds_if_callback_commits_and_runs_extra_op",
806+
"TestUnifiedSpec/transactions-convenient-api/tests/unified/callback-aborts.json/withTransaction_still_succeeds_if_callback_aborts_and_runs_extra_op",
807+
"TestUnifiedSpec/transactions-convenient-api/tests/unified/commit.json/withTransaction_commits_after_callback_returns_(second_transaction)",
808+
"TestUnifiedSpec/transactions-convenient-api/tests/unified/transaction-options.json/withTransaction_and_no_transaction_options_set",
809+
"TestUnifiedSpec/transactions-convenient-api/tests/unified/transaction-options.json/withTransaction_inherits_transaction_options_from_client",
810+
"TestUnifiedSpec/transactions-convenient-api/tests/unified/transaction-options.json/withTransaction_inherits_transaction_options_from_defaultTransactionOptions",
811+
"TestUnifiedSpec/transactions-convenient-api/tests/unified/transaction-options.json/withTransaction_explicit_transaction_options",
812+
"TestUnifiedSpec/transactions-convenient-api/tests/unified/transaction-options.json/withTransaction_explicit_transaction_options_override_defaultTransactionOptions",
813+
"TestUnifiedSpec/transactions-convenient-api/tests/unified/transaction-options.json/withTransaction_explicit_transaction_options_override_client_options",
814+
"TestUnifiedSpec/transactions-convenient-api/tests/unified/commit.json/withTransaction_commits_after_callback_returns",
815+
},
791816
}
792817

793818
// CheckSkip checks if the fully-qualified test name matches a list of skipped test names for a given reason.

mongo/read_write_concern_spec_test.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ type connectionStringTest struct {
4949
Valid bool `bson:"valid"`
5050
ReadConcern bson.Raw `bson:"readConcern"`
5151
WriteConcern bson.Raw `bson:"writeConcern"`
52-
SkipReason string `bson:"skipReason"`
5352
}
5453

5554
type documentTestFile struct {

x/mongo/driver/connstring/connstring_spec_test.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,6 @@ func verifyConnStringOptions(t *testing.T, cs *connstring.ConnString, options ma
276276
case "maxconnecting":
277277
require.Equal(t, value, float64(cs.MaxConnecting))
278278
default:
279-
fmt.Println(key)
280279
opt, ok := cs.UnknownOptions[key]
281280
require.True(t, ok)
282281
require.Contains(t, opt, fmt.Sprint(value))

x/mongo/driver/mongocrypt/mongocrypt_test.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import (
2323
"go.mongodb.org/mongo-driver/v2/x/mongo/driver/mongocrypt/options"
2424
)
2525

26-
// TODO: create new directory for mongocrypt
2726
const resourcesDir = "../../../../testdata/mongocrypt"
2827

2928
func noerr(t *testing.T, err error) {

0 commit comments

Comments
 (0)