Diff of the two buildlogs:

--
--- b1/build.log	2024-12-26 12:31:18.738530973 +0000
+++ b2/build.log	2024-12-26 12:43:37.821051428 +0000
@@ -1,6 +1,6 @@
 I: pbuilder: network access will be disabled during build
-I: Current time: Wed Jan 28 06:44:17 -12 2026
-I: pbuilder-time-stamp: 1769625857
+I: Current time: Fri Dec 27 02:31:21 +14 2024
+I: pbuilder-time-stamp: 1735216281
 I: Building the build Environment
 I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz]
 I: copying local configuration
@@ -26,54 +26,86 @@
 dpkg-source: info: unpacking libmongodb-perl_2.2.2-2.debian.tar.xz
 I: Not using root during the build.
 I: Installing the build-deps
-I: user script /srv/workspace/pbuilder/29545/tmp/hooks/D02_print_environment starting
+I: user script /srv/workspace/pbuilder/40918/tmp/hooks/D01_modify_environment starting
+debug: Running on ionos2-i386.
+I: Changing host+domainname to test build reproducibility
+I: Adding a custom variable just for the fun of it...
+I: Changing /bin/sh to bash
+'/bin/sh' -> '/bin/bash'
+lrwxrwxrwx 1 root root 9 Dec 26 12:31 /bin/sh -> /bin/bash
+I: Setting pbuilder2's login shell to /bin/bash
+I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other
+I: user script /srv/workspace/pbuilder/40918/tmp/hooks/D01_modify_environment finished
+I: user script /srv/workspace/pbuilder/40918/tmp/hooks/D02_print_environment starting
 I: set
-  BUILDDIR='/build/reproducible-path'
-  BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other'
-  BUILDUSERNAME='pbuilder1'
-  BUILD_ARCH='i386'
-  DEBIAN_FRONTEND='noninteractive'
-  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=22 '
-  DISTRIBUTION='trixie'
-  HOME='/root'
-  HOST_ARCH='i386'
+  BASH=/bin/sh
+  BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath
+  BASH_ALIASES=()
+  BASH_ARGC=()
+  BASH_ARGV=()
+  BASH_CMDS=()
+  BASH_LINENO=([0]="12" [1]="0")
+  BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:.
+  BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment")
+  BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="i686-pc-linux-gnu")
+  BASH_VERSION='5.2.37(1)-release'
+  BUILDDIR=/build/reproducible-path
+  BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other'
+  BUILDUSERNAME=pbuilder2
+  BUILD_ARCH=i386
+  DEBIAN_FRONTEND=noninteractive
+  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=10 '
+  DIRSTACK=()
+  DISTRIBUTION=trixie
+  EUID=0
+  FUNCNAME=([0]="Echo" [1]="main")
+  GROUPS=()
+  HOME=/root
+  HOSTNAME=i-capture-the-hostname
+  HOSTTYPE=i686
+  HOST_ARCH=i386
   IFS=' 	
   '
-  INVOCATION_ID='8e6cad0cf72e4681897d932a2f7b36cb'
-  LANG='C'
-  LANGUAGE='en_US:en'
-  LC_ALL='C'
-  LD_LIBRARY_PATH='/usr/lib/libeatmydata'
-  LD_PRELOAD='libeatmydata.so'
-  MAIL='/var/mail/root'
-  OPTIND='1'
-  PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games'
-  PBCURRENTCOMMANDLINEOPERATION='build'
-  PBUILDER_OPERATION='build'
-  PBUILDER_PKGDATADIR='/usr/share/pbuilder'
-  PBUILDER_PKGLIBDIR='/usr/lib/pbuilder'
-  PBUILDER_SYSCONFDIR='/etc'
-  PPID='29545'
-  PS1='# '
-  PS2='> '
+  INVOCATION_ID=188b5838f629484ca7cd07a72d2bcdb0
+  LANG=C
+  LANGUAGE=de_CH:de
+  LC_ALL=C
+  LD_LIBRARY_PATH=/usr/lib/libeatmydata
+  LD_PRELOAD=libeatmydata.so
+  MACHTYPE=i686-pc-linux-gnu
+  MAIL=/var/mail/root
+  OPTERR=1
+  OPTIND=1
+  OSTYPE=linux-gnu
+  PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path
+  PBCURRENTCOMMANDLINEOPERATION=build
+  PBUILDER_OPERATION=build
+  PBUILDER_PKGDATADIR=/usr/share/pbuilder
+  PBUILDER_PKGLIBDIR=/usr/lib/pbuilder
+  PBUILDER_SYSCONFDIR=/etc
+  PIPESTATUS=([0]="0")
+  POSIXLY_CORRECT=y
+  PPID=40918
   PS4='+ '
-  PWD='/'
-  SHELL='/bin/bash'
-  SHLVL='2'
-  SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.txBVkofY/pbuilderrc_bQts --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.txBVkofY/b1 --logfile b1/build.log libmongodb-perl_2.2.2-2.dsc'
-  SUDO_GID='112'
-  SUDO_UID='107'
-  SUDO_USER='jenkins'
-  TERM='unknown'
-  TZ='/usr/share/zoneinfo/Etc/GMT+12'
-  USER='root'
-  _='/usr/bin/systemd-run'
-  http_proxy='http://213.165.73.152:3128'
+  PWD=/
+  SHELL=/bin/bash
+  SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix
+  SHLVL=3
+  SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.txBVkofY/pbuilderrc_AJwA --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.txBVkofY/b2 --logfile b2/build.log libmongodb-perl_2.2.2-2.dsc'
+  SUDO_GID=112
+  SUDO_UID=107
+  SUDO_USER=jenkins
+  TERM=unknown
+  TZ=/usr/share/zoneinfo/Etc/GMT-14
+  UID=0
+  USER=root
+  _='I: set'
+  http_proxy=http://46.16.76.132:3128
 I: uname -a
-  Linux ionos16-i386 6.1.0-28-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.119-1 (2024-11-22) x86_64 GNU/Linux
+  Linux i-capture-the-hostname 6.1.0-28-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.119-1 (2024-11-22) x86_64 GNU/Linux
 I: ls -l /bin
-  lrwxrwxrwx 1 root root 7 Nov 22  2024 /bin -> usr/bin
-I: user script /srv/workspace/pbuilder/29545/tmp/hooks/D02_print_environment finished
+  lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin
+I: user script /srv/workspace/pbuilder/40918/tmp/hooks/D02_print_environment finished
  -> Attempting to satisfy build-dependencies
  -> Creating pbuilder-satisfydepends-dummy package
 Package: pbuilder-satisfydepends-dummy
@@ -224,7 +256,7 @@
 Get: 71 http://deb.debian.org/debian trixie/main i386 libtype-tiny-xs-perl i386 0.025-2+b1 [27.1 kB]
 Get: 72 http://deb.debian.org/debian trixie/main i386 libuuid-urandom-perl all 0.001-2 [7996 B]
 Get: 73 http://deb.debian.org/debian trixie/main i386 net-tools i386 2.10-1.1 [245 kB]
-Fetched 23.1 MB in 0s (53.2 MB/s)
+Fetched 23.1 MB in 1s (31.6 MB/s)
 debconf: delaying package configuration, since apt-utils is not installed
 Selecting previously unselected package libproc2-0:i386.
 (Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 19953 files and directories currently installed.)
@@ -531,7 +563,11 @@
 Building tag database...
  -> Finished parsing the build-deps
 I: Building the package
-I: Running cd /build/reproducible-path/libmongodb-perl-2.2.2/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S  > ../libmongodb-perl_2.2.2-2_source.changes
+I: user script /srv/workspace/pbuilder/40918/tmp/hooks/A99_set_merged_usr starting
+Not re-configuring usrmerge for trixie
+I: user script /srv/workspace/pbuilder/40918/tmp/hooks/A99_set_merged_usr finished
+hostname: Name or service not known
+I: Running cd /build/reproducible-path/libmongodb-perl-2.2.2/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S  > ../libmongodb-perl_2.2.2-2_source.changes
 dpkg-buildpackage: info: source package libmongodb-perl
 dpkg-buildpackage: info: source version 2.2.2-2
 dpkg-buildpackage: info: source distribution unstable
@@ -557,104 +593,104 @@
 Writing Makefile for MongoDB
 Writing MYMETA.yml and MYMETA.json
    dh_auto_build
-	make -j22
+	make -j10
 make[1]: Entering directory '/build/reproducible-path/libmongodb-perl-2.2.2'
-cp lib/MongoDB/DataTypes.pod blib/lib/MongoDB/DataTypes.pod
 cp lib/MongoDB/Op/_Command.pm blib/lib/MongoDB/Op/_Command.pm
-cp lib/MongoDB/GridFSBucket.pm blib/lib/MongoDB/GridFSBucket.pm
-cp lib/MongoDB/Op/_CreateIndexes.pm blib/lib/MongoDB/Op/_CreateIndexes.pm
-cp lib/MongoDB/Collection.pm blib/lib/MongoDB/Collection.pm
-cp lib/MongoDB/BulkWriteResult.pm blib/lib/MongoDB/BulkWriteResult.pm
-cp lib/MongoDB/ClientSession.pm blib/lib/MongoDB/ClientSession.pm
-cp lib/MongoDB/GridFSBucket/UploadStream.pm blib/lib/MongoDB/GridFSBucket/UploadStream.pm
-cp lib/MongoDB/Cursor.pm blib/lib/MongoDB/Cursor.pm
-cp lib/MongoDB/IndexView.pm blib/lib/MongoDB/IndexView.pm
+cp lib/MongoDB/DeleteResult.pm blib/lib/MongoDB/DeleteResult.pm
 cp lib/MongoDB/Monitoring.pod blib/lib/MongoDB/Monitoring.pod
+cp lib/MongoDB/BSON/Regexp.pm blib/lib/MongoDB/BSON/Regexp.pm
+cp lib/MongoDB/Op/_EndTxn.pm blib/lib/MongoDB/Op/_EndTxn.pm
 cp lib/MongoDB/Op/_Aggregate.pm blib/lib/MongoDB/Op/_Aggregate.pm
-cp lib/MongoDB/Op/_DropDatabase.pm blib/lib/MongoDB/Op/_DropDatabase.pm
-cp lib/MongoDB/CommandResult.pm blib/lib/MongoDB/CommandResult.pm
-cp lib/MongoDB/Op/_DropCollection.pm blib/lib/MongoDB/Op/_DropCollection.pm
+cp lib/MongoDB/GridFSBucket.pm blib/lib/MongoDB/GridFSBucket.pm
 cp lib/MongoDB/InsertOneResult.pm blib/lib/MongoDB/InsertOneResult.pm
-cp lib/MongoDB/DeleteResult.pm blib/lib/MongoDB/DeleteResult.pm
+cp lib/MongoDB/CommandResult.pm blib/lib/MongoDB/CommandResult.pm
+cp lib/MongoDB/BulkWrite.pm blib/lib/MongoDB/BulkWrite.pm
+cp lib/MongoDB/Op/_Count.pm blib/lib/MongoDB/Op/_Count.pm
 cp lib/MongoDB/Op/_ChangeStream.pm blib/lib/MongoDB/Op/_ChangeStream.pm
-cp lib/MongoDB/BSON/Regexp.pm blib/lib/MongoDB/BSON/Regexp.pm
-cp lib/MongoDB/DBRef.pm blib/lib/MongoDB/DBRef.pm
-cp lib/MongoDB/Op/_BulkWrite.pm blib/lib/MongoDB/Op/_BulkWrite.pm
-cp lib/MongoDB/Code.pm blib/lib/MongoDB/Code.pm
-cp lib/MongoDB/Op/_EndTxn.pm blib/lib/MongoDB/Op/_EndTxn.pm
-cp lib/MongoDB/Error.pm blib/lib/MongoDB/Error.pm
-cp lib/MongoDB/ChangeStream.pm blib/lib/MongoDB/ChangeStream.pm
+cp lib/MongoDB/BulkWriteResult.pm blib/lib/MongoDB/BulkWriteResult.pm
+cp lib/MongoDB/GridFSBucket/DownloadStream.pm blib/lib/MongoDB/GridFSBucket/DownloadStream.pm
+cp lib/MongoDB/Cursor.pm blib/lib/MongoDB/Cursor.pm
 cp lib/MongoDB/BSON/Binary.pm blib/lib/MongoDB/BSON/Binary.pm
-cp lib/MongoDB.pm blib/lib/MongoDB.pm
-cp lib/MongoDB/BulkWriteView.pm blib/lib/MongoDB/BulkWriteView.pm
-cp lib/MongoDB/BulkWrite.pm blib/lib/MongoDB/BulkWrite.pm
+cp lib/MongoDB/Code.pm blib/lib/MongoDB/Code.pm
+cp lib/MongoDB/Op/_BatchInsert.pm blib/lib/MongoDB/Op/_BatchInsert.pm
+cp lib/MongoDB/Collection.pm blib/lib/MongoDB/Collection.pm
+cp lib/MongoDB/ClientSession.pm blib/lib/MongoDB/ClientSession.pm
+cp lib/MongoDB/Op/_BulkWrite.pm blib/lib/MongoDB/Op/_BulkWrite.pm
 cp lib/MongoDB/Database.pm blib/lib/MongoDB/Database.pm
+cp lib/MongoDB/Op/_Distinct.pm blib/lib/MongoDB/Op/_Distinct.pm
+cp lib/MongoDB/IndexView.pm blib/lib/MongoDB/IndexView.pm
+cp lib/MongoDB/Op/_DropCollection.pm blib/lib/MongoDB/Op/_DropCollection.pm
+cp lib/MongoDB/Op/_CreateIndexes.pm blib/lib/MongoDB/Op/_CreateIndexes.pm
+cp lib/MongoDB/DataTypes.pod blib/lib/MongoDB/DataTypes.pod
 cp lib/MongoDB/Op/_DropIndexes.pm blib/lib/MongoDB/Op/_DropIndexes.pm
-cp lib/MongoDB/Op/_BatchInsert.pm blib/lib/MongoDB/Op/_BatchInsert.pm
-cp lib/MongoDB/InsertManyResult.pm blib/lib/MongoDB/InsertManyResult.pm
-cp lib/MongoDB/MongoClient.pm blib/lib/MongoDB/MongoClient.pm
-cp lib/MongoDB/GridFSBucket/DownloadStream.pm blib/lib/MongoDB/GridFSBucket/DownloadStream.pm
-cp lib/MongoDB/Examples.pod blib/lib/MongoDB/Examples.pod
+cp lib/MongoDB/Error.pm blib/lib/MongoDB/Error.pm
+cp lib/MongoDB/GridFSBucket/UploadStream.pm blib/lib/MongoDB/GridFSBucket/UploadStream.pm
+cp lib/MongoDB/BulkWriteView.pm blib/lib/MongoDB/BulkWriteView.pm
 cp lib/MongoDB/OID.pm blib/lib/MongoDB/OID.pm
-cp lib/MongoDB/Op/_Distinct.pm blib/lib/MongoDB/Op/_Distinct.pm
-cp lib/MongoDB/Op/_Count.pm blib/lib/MongoDB/Op/_Count.pm
+cp lib/MongoDB/DBRef.pm blib/lib/MongoDB/DBRef.pm
+cp lib/MongoDB/ChangeStream.pm blib/lib/MongoDB/ChangeStream.pm
+cp lib/MongoDB/Op/_DropDatabase.pm blib/lib/MongoDB/Op/_DropDatabase.pm
 cp lib/MongoDB/Op/_Delete.pm blib/lib/MongoDB/Op/_Delete.pm
-cp lib/MongoDB/Op/_Update.pm blib/lib/MongoDB/Op/_Update.pm
-cp lib/MongoDB/Role/_BypassValidation.pm blib/lib/MongoDB/Role/_BypassValidation.pm
-cp lib/MongoDB/Op/_ListIndexes.pm blib/lib/MongoDB/Op/_ListIndexes.pm
+cp lib/MongoDB/MongoClient.pm blib/lib/MongoDB/MongoClient.pm
+cp lib/MongoDB/InsertManyResult.pm blib/lib/MongoDB/InsertManyResult.pm
+cp lib/MongoDB/Examples.pod blib/lib/MongoDB/Examples.pod
+cp lib/MongoDB.pm blib/lib/MongoDB.pm
 cp lib/MongoDB/Role/_PrivateConstructor.pm blib/lib/MongoDB/Role/_PrivateConstructor.pm
-cp lib/MongoDB/Role/_UpdatePreEncoder.pm blib/lib/MongoDB/Role/_UpdatePreEncoder.pm
-cp lib/MongoDB/Op/_FindAndUpdate.pm blib/lib/MongoDB/Op/_FindAndUpdate.pm
-cp lib/MongoDB/Op/_Query.pm blib/lib/MongoDB/Op/_Query.pm
-cp lib/MongoDB/Op/_InsertOne.pm blib/lib/MongoDB/Op/_InsertOne.pm
-cp lib/MongoDB/Op/_FSyncUnlock.pm blib/lib/MongoDB/Op/_FSyncUnlock.pm
-cp lib/MongoDB/Role/_DatabaseErrorThrower.pm blib/lib/MongoDB/Role/_DatabaseErrorThrower.pm
-cp lib/MongoDB/QueryResult/Filtered.pm blib/lib/MongoDB/QueryResult/Filtered.pm
-cp lib/MongoDB/Role/_ReadOp.pm blib/lib/MongoDB/Role/_ReadOp.pm
-cp lib/MongoDB/Role/_CommandCursorOp.pm blib/lib/MongoDB/Role/_CommandCursorOp.pm
-cp lib/MongoDB/Role/_ReadPrefModifier.pm blib/lib/MongoDB/Role/_ReadPrefModifier.pm
-cp lib/MongoDB/Role/_OpReplyParser.pm blib/lib/MongoDB/Role/_OpReplyParser.pm
-cp lib/MongoDB/Op/_ListCollections.pm blib/lib/MongoDB/Op/_ListCollections.pm
 cp lib/MongoDB/Role/_InsertPreEncoder.pm blib/lib/MongoDB/Role/_InsertPreEncoder.pm
-cp lib/MongoDB/Op/_ParallelScan.pm blib/lib/MongoDB/Op/_ParallelScan.pm
-cp lib/MongoDB/ReadPreference.pm blib/lib/MongoDB/ReadPreference.pm
+cp lib/MongoDB/Role/_DatabaseOp.pm blib/lib/MongoDB/Role/_DatabaseOp.pm
+cp lib/MongoDB/ReadConcern.pm blib/lib/MongoDB/ReadConcern.pm
 cp lib/MongoDB/Op/_GetMore.pm blib/lib/MongoDB/Op/_GetMore.pm
+cp lib/MongoDB/Op/_FindAndUpdate.pm blib/lib/MongoDB/Op/_FindAndUpdate.pm
+cp lib/MongoDB/Role/_DeprecationWarner.pm blib/lib/MongoDB/Role/_DeprecationWarner.pm
+cp lib/MongoDB/Role/_DatabaseErrorThrower.pm blib/lib/MongoDB/Role/_DatabaseErrorThrower.pm
 cp lib/MongoDB/Role/_SessionSupport.pm blib/lib/MongoDB/Role/_SessionSupport.pm
-cp lib/MongoDB/Op/_Explain.pm blib/lib/MongoDB/Op/_Explain.pm
+cp lib/MongoDB/Op/_FindAndDelete.pm blib/lib/MongoDB/Op/_FindAndDelete.pm
+cp lib/MongoDB/Role/_UpdatePreEncoder.pm blib/lib/MongoDB/Role/_UpdatePreEncoder.pm
+cp lib/MongoDB/Op/_Query.pm blib/lib/MongoDB/Op/_Query.pm
+cp lib/MongoDB/Role/_ReadPrefModifier.pm blib/lib/MongoDB/Role/_ReadPrefModifier.pm
+cp lib/MongoDB/QueryResult/Filtered.pm blib/lib/MongoDB/QueryResult/Filtered.pm
+cp lib/MongoDB/Role/_BypassValidation.pm blib/lib/MongoDB/Role/_BypassValidation.pm
 cp lib/MongoDB/Op/_RenameCollection.pm blib/lib/MongoDB/Op/_RenameCollection.pm
 cp lib/MongoDB/Role/_CollectionOp.pm blib/lib/MongoDB/Role/_CollectionOp.pm
+cp lib/MongoDB/Op/_FSyncUnlock.pm blib/lib/MongoDB/Op/_FSyncUnlock.pm
+cp lib/MongoDB/Op/_Explain.pm blib/lib/MongoDB/Op/_Explain.pm
+cp lib/MongoDB/Op/_InsertOne.pm blib/lib/MongoDB/Op/_InsertOne.pm
+cp lib/MongoDB/Role/_OpReplyParser.pm blib/lib/MongoDB/Role/_OpReplyParser.pm
+cp lib/MongoDB/Role/_CommandCursorOp.pm blib/lib/MongoDB/Role/_CommandCursorOp.pm
+cp lib/MongoDB/Op/_Update.pm blib/lib/MongoDB/Op/_Update.pm
+cp lib/MongoDB/Role/_SingleBatchDocWrite.pm blib/lib/MongoDB/Role/_SingleBatchDocWrite.pm
 cp lib/MongoDB/Role/_CursorAPI.pm blib/lib/MongoDB/Role/_CursorAPI.pm
 cp lib/MongoDB/Role/_CommandMonitoring.pm blib/lib/MongoDB/Role/_CommandMonitoring.pm
-cp lib/MongoDB/ReadConcern.pm blib/lib/MongoDB/ReadConcern.pm
+cp lib/MongoDB/Op/_ParallelScan.pm blib/lib/MongoDB/Op/_ParallelScan.pm
 cp lib/MongoDB/QueryResult.pm blib/lib/MongoDB/QueryResult.pm
 cp lib/MongoDB/Role/_TopologyMonitoring.pm blib/lib/MongoDB/Role/_TopologyMonitoring.pm
-cp lib/MongoDB/Op/_FindAndDelete.pm blib/lib/MongoDB/Op/_FindAndDelete.pm
 cp lib/MongoDB/Op/_KillCursors.pm blib/lib/MongoDB/Op/_KillCursors.pm
-cp lib/MongoDB/Role/_DeprecationWarner.pm blib/lib/MongoDB/Role/_DeprecationWarner.pm
-cp lib/MongoDB/Role/_DatabaseOp.pm blib/lib/MongoDB/Role/_DatabaseOp.pm
-cp lib/MongoDB/Role/_SingleBatchDocWrite.pm blib/lib/MongoDB/Role/_SingleBatchDocWrite.pm
-cp lib/MongoDB/_Constants.pm blib/lib/MongoDB/_Constants.pm
-cp lib/MongoDB/_Server.pm blib/lib/MongoDB/_Server.pm
-cp lib/MongoDB/_Topology.pm blib/lib/MongoDB/_Topology.pm
-cp lib/MongoDB/_TransactionOptions.pm blib/lib/MongoDB/_TransactionOptions.pm
-cp lib/MongoDB/Upgrading.pod blib/lib/MongoDB/Upgrading.pod
-cp lib/MongoDB/Tutorial.pod blib/lib/MongoDB/Tutorial.pod
-cp lib/MongoDB/_ServerSession.pm blib/lib/MongoDB/_ServerSession.pm
+cp lib/MongoDB/Role/_ReadOp.pm blib/lib/MongoDB/Role/_ReadOp.pm
+cp lib/MongoDB/Op/_ListCollections.pm blib/lib/MongoDB/Op/_ListCollections.pm
+cp lib/MongoDB/Op/_ListIndexes.pm blib/lib/MongoDB/Op/_ListIndexes.pm
+cp lib/MongoDB/ReadPreference.pm blib/lib/MongoDB/ReadPreference.pm
+cp lib/MongoDB/_Platform.pm blib/lib/MongoDB/_Platform.pm
 cp lib/MongoDB/Upgrading/v1.pod blib/lib/MongoDB/Upgrading/v1.pod
-cp lib/MongoDB/_Dispatcher.pm blib/lib/MongoDB/_Dispatcher.pm
-cp lib/MongoDB/Role/_WriteResult.pm blib/lib/MongoDB/Role/_WriteResult.pm
-cp lib/MongoDB/_Credential.pm blib/lib/MongoDB/_Credential.pm
-cp lib/MongoDB/WriteConcern.pm blib/lib/MongoDB/WriteConcern.pm
-cp lib/MongoDB/_Protocol.pm blib/lib/MongoDB/_Protocol.pm
 cp lib/MongoDB/UnacknowledgedResult.pm blib/lib/MongoDB/UnacknowledgedResult.pm
-cp lib/MongoDB/_Link.pm blib/lib/MongoDB/_Link.pm
-cp lib/MongoDB/_Platform.pm blib/lib/MongoDB/_Platform.pm
-cp lib/MongoDB/_SessionPool.pm blib/lib/MongoDB/_SessionPool.pm
-cp lib/MongoDB/_Types.pm blib/lib/MongoDB/_Types.pm
 cp lib/MongoDB/Role/_WriteOp.pm blib/lib/MongoDB/Role/_WriteOp.pm
 cp lib/MongoDB/UpdateResult.pm blib/lib/MongoDB/UpdateResult.pm
-cp lib/MongoDB/Timestamp.pm blib/lib/MongoDB/Timestamp.pm
+cp lib/MongoDB/Tutorial.pod blib/lib/MongoDB/Tutorial.pod
+cp lib/MongoDB/_Protocol.pm blib/lib/MongoDB/_Protocol.pm
+cp lib/MongoDB/_Server.pm blib/lib/MongoDB/_Server.pm
+cp lib/MongoDB/_Dispatcher.pm blib/lib/MongoDB/_Dispatcher.pm
+cp lib/MongoDB/_Link.pm blib/lib/MongoDB/_Link.pm
+cp lib/MongoDB/_SessionPool.pm blib/lib/MongoDB/_SessionPool.pm
 cp lib/MongoDB/_URI.pm blib/lib/MongoDB/_URI.pm
+cp lib/MongoDB/Upgrading.pod blib/lib/MongoDB/Upgrading.pod
+cp lib/MongoDB/_ServerSession.pm blib/lib/MongoDB/_ServerSession.pm
+cp lib/MongoDB/_Topology.pm blib/lib/MongoDB/_Topology.pm
+cp lib/MongoDB/_TransactionOptions.pm blib/lib/MongoDB/_TransactionOptions.pm
+cp lib/MongoDB/Timestamp.pm blib/lib/MongoDB/Timestamp.pm
+cp lib/MongoDB/WriteConcern.pm blib/lib/MongoDB/WriteConcern.pm
+cp lib/MongoDB/_Types.pm blib/lib/MongoDB/_Types.pm
+cp lib/MongoDB/Role/_WriteResult.pm blib/lib/MongoDB/Role/_WriteResult.pm
+cp lib/MongoDB/_Constants.pm blib/lib/MongoDB/_Constants.pm
+cp lib/MongoDB/_Credential.pm blib/lib/MongoDB/_Credential.pm
 Manifying 35 pod documents
 Manifying 3 pod documents
 make[1]: Leaving directory '/build/reproducible-path/libmongodb-perl-2.2.2'
@@ -670,7 +706,7 @@
 fi
 export MONGOD=127.0.0.1:12345;\
 dh_auto_test
-	make -j22 test TEST_VERBOSE=1
+	make -j10 test TEST_VERBOSE=1
 make[2]: Entering directory '/build/reproducible-path/libmongodb-perl-2.2.2'
 PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t t/deprecated/*.t t/examples/*.t t/unit/*.t
 # Checking MongoDB test environment
@@ -870,8 +906,8 @@
         ok 4 - mechanism
         ok 5 - username
         ok 6 - password
-        ok 7 - authMechanismProperties: SERVICE_NAME
-        ok 8 - authMechanismProperties: CANONICALIZE_HOST_NAME
+        ok 7 - authMechanismProperties: CANONICALIZE_HOST_NAME
+        ok 8 - authMechanismProperties: SERVICE_NAME
         1..8
     ok 7 - should accept generic mechanism property (GSSAPI)
     # Subtest: should accept the password (GSSAPI)
@@ -1087,6 +1123,172 @@
 t/collection.t ............................. skipped: no mongod on 127.0.0.1:12345
 t/connection.t ............................. skipped: no mongod on 127.0.0.1:12345
 t/connection_string_spec.t ................. 
+# Subtest: t/data/connection_string/invalid-uris.json
+    # Subtest: Empty string
+        ok 1 - invalid uri
+        1..1
+    ok 1 - Empty string
+    # Subtest: Invalid scheme
+        ok 1 - invalid uri
+        1..1
+    ok 2 - Invalid scheme
+    # Subtest: Missing host
+        ok 1 - invalid uri
+        1..1
+    ok 3 - Missing host
+    # Subtest: Double colon in host identifier
+        ok 1 - invalid uri
+        1..1
+    ok 4 - Double colon in host identifier
+    # Subtest: Double colon in host identifier and trailing slash
+        ok 1 - invalid uri
+        1..1
+    ok 5 - Double colon in host identifier and trailing slash
+    # Subtest: Double colon in host identifier with missing host and port
+        ok 1 - invalid uri
+        1..1
+    ok 6 - Double colon in host identifier with missing host and port
+    # Subtest: Double colon in host identifier with missing port
+        ok 1 - invalid uri
+        1..1
+    ok 7 - Double colon in host identifier with missing port
+    # Subtest: Double colon in host identifier and second host
+        ok 1 - invalid uri
+        1..1
+    ok 8 - Double colon in host identifier and second host
+    # Subtest: Invalid port (negative number) with hostname
+        ok 1 - invalid uri
+        1..1
+    ok 9 - Invalid port (negative number) with hostname
+    # Subtest: Invalid port (zero) with hostname
+        ok 1 - invalid uri
+        1..1
+    ok 10 - Invalid port (zero) with hostname
+    # Subtest: Invalid port (positive number) with hostname
+        ok 1 - invalid uri
+        1..1
+    ok 11 - Invalid port (positive number) with hostname
+    # Subtest: Invalid port (positive number) with hostname and trailing slash
+        ok 1 - invalid uri
+        1..1
+    ok 12 - Invalid port (positive number) with hostname and trailing slash
+    # Subtest: Invalid port (non-numeric string) with hostname
+        ok 1 - invalid uri
+        1..1
+    ok 13 - Invalid port (non-numeric string) with hostname
+    # Subtest: Invalid port (negative number) with IP literal
+        ok 1 - invalid uri
+        1..1
+    ok 14 - Invalid port (negative number) with IP literal
+    # Subtest: Invalid port (zero) with IP literal
+        ok 1 - invalid uri
+        1..1
+    ok 15 - Invalid port (zero) with IP literal
+    # Subtest: Invalid port (positive number) with IP literal
+        ok 1 - invalid uri
+        1..1
+    ok 16 - Invalid port (positive number) with IP literal
+    # Subtest: Invalid port (positive number) with IP literal and trailing slash
+        ok 1 - invalid uri
+        1..1
+    ok 17 - Invalid port (positive number) with IP literal and trailing slash
+    # Subtest: Invalid port (non-numeric string) with IP literal
+        ok 1 - invalid uri
+        1..1
+    ok 18 - Invalid port (non-numeric string) with IP literal
+    # Subtest: Missing delimiting slash between hosts and options
+        ok 1 - invalid uri
+        1..1
+    ok 19 - Missing delimiting slash between hosts and options
+    # Subtest: Incomplete key value pair for option
+        ok 1 - invalid uri
+        1..1
+    ok 20 - Incomplete key value pair for option
+    # Subtest: Username with password containing an unescaped colon
+        ok 1 - invalid uri
+        1..1
+    ok 21 - Username with password containing an unescaped colon
+    # Subtest: Username containing an unescaped at-sign
+        ok 1 - invalid uri
+        1..1
+    ok 22 - Username containing an unescaped at-sign
+    # Subtest: Username with password containing an unescaped at-sign
+        ok 1 - invalid uri
+        1..1
+    ok 23 - Username with password containing an unescaped at-sign
+    # Subtest: Username containing an unescaped slash
+        ok 1 - invalid uri
+        1..1
+    ok 24 - Username containing an unescaped slash
+    # Subtest: Username containing unescaped slash with password
+        ok 1 - invalid uri
+        1..1
+    ok 25 - Username containing unescaped slash with password
+    # Subtest: Username with password containing an unescaped slash
+        ok 1 - invalid uri
+        1..1
+    ok 26 - Username with password containing an unescaped slash
+    # Subtest: Host with unescaped slash
+        ok 1 - invalid uri
+        1..1
+    ok 27 - Host with unescaped slash
+    # Subtest: mongodb+srv with multiple service names
+        ok 1 - invalid uri
+        1..1
+    ok 28 - mongodb+srv with multiple service names
+    # Subtest: mongodb+srv with port number
+        ok 1 - invalid uri
+        1..1
+    ok 29 - mongodb+srv with port number
+    # Subtest: Username with password containing an unescaped percent sign
+        ok 1 - invalid uri
+        1..1
+    ok 30 - Username with password containing an unescaped percent sign
+    1..30
+ok 1 - t/data/connection_string/invalid-uris.json
+# Subtest: t/data/connection_string/valid-warnings.json
+    # Subtest: Unrecognized option keys are ignored
+        ok 1 - 'uri construction' isa 'MongoDB::_URI'
+        ok 2 - parsing of host list
+        ok 3 - parsing of auth database
+        ok 4 - parsing of username
+        ok 5 - parsing of password
+        ok 6 - parsing of options
+        ok 7 - correct number of warnings
+        1..7
+    ok 1 - Unrecognized option keys are ignored
+    # Subtest: Unsupported option values are ignored
+        ok 1 - 'uri construction' isa 'MongoDB::_URI'
+        ok 2 - parsing of host list
+        ok 3 - parsing of auth database
+        ok 4 - parsing of username
+        ok 5 - parsing of password
+        ok 6 - parsing of options
+        ok 7 - correct number of warnings
+        1..7
+    ok 2 - Unsupported option values are ignored
+    # Subtest: Repeated option keys
+        ok 1 - 'uri construction' isa 'MongoDB::_URI'
+        ok 2 - parsing of host list
+        ok 3 - parsing of auth database
+        ok 4 - parsing of username
+        ok 5 - parsing of password
+        ok 6 - parsing of options
+        ok 7 - correct number of warnings
+        1..7
+    ok 3 - Repeated option keys
+    # Subtest: Deprecated (or unknown) options are ignored if replacement exists
+        ok 1 - 'uri construction' isa 'MongoDB::_URI'
+        ok 2 - parsing of host list
+        ok 3 - parsing of auth database
+        ok 4 - parsing of username
+        ok 5 - parsing of password
+        ok 6 - parsing of options
+        ok 7 - correct number of warnings
+        1..7
+    ok 4 - Deprecated (or unknown) options are ignored if replacement exists
+    1..4
+ok 2 - t/data/connection_string/valid-warnings.json
 # Subtest: t/data/connection_string/valid-db-with-dotted-name.json
     # Subtest: Multiple Unix domain sockets and auth DB resembling a socket (relative path)
         ok 1 - invalid uri
@@ -1105,20 +1307,7 @@
         1..1
     ok 4 - Multiple Unix domain sockets with auth DB resembling a path (absolute path)
     1..4
-ok 1 - t/data/connection_string/valid-db-with-dotted-name.json
-# Subtest: t/data/connection_string/valid-options.json
-    # Subtest: Option names are normalized to lowercase
-        ok 1 - 'uri construction' isa 'MongoDB::_URI'
-        ok 2 - parsing of host list
-        ok 3 - parsing of auth database
-        ok 4 - parsing of username
-        ok 5 - parsing of password
-        ok 6 - parsing of options
-        ok 7 - correct number of warnings
-        1..7
-    ok 1 - Option names are normalized to lowercase
-    1..1
-ok 2 - t/data/connection_string/valid-options.json
+ok 3 - t/data/connection_string/valid-db-with-dotted-name.json
 # Subtest: t/data/connection_string/valid-host_identifiers.json
     # Subtest: Single IPv4 host without port
         ok 1 - 'uri construction' isa 'MongoDB::_URI'
@@ -1193,7 +1382,75 @@
         1..7
     ok 9 - UTF-8 hosts
     1..9
-ok 3 - t/data/connection_string/valid-host_identifiers.json
+ok 4 - t/data/connection_string/valid-host_identifiers.json
+# Subtest: t/data/connection_string/valid-options.json
+    # Subtest: Option names are normalized to lowercase
+        ok 1 - 'uri construction' isa 'MongoDB::_URI'
+        ok 2 - parsing of host list
+        ok 3 - parsing of auth database
+        ok 4 - parsing of username
+        ok 5 - parsing of password
+        ok 6 - parsing of options
+        ok 7 - correct number of warnings
+        1..7
+    ok 1 - Option names are normalized to lowercase
+    1..1
+ok 5 - t/data/connection_string/valid-options.json
+# Subtest: t/data/connection_string/valid-unix_socket-absolute.json
+    # Subtest: Unix domain socket (absolute path with trailing slash)
+        ok 1 - invalid uri
+        1..1
+    ok 1 - Unix domain socket (absolute path with trailing slash)
+    # Subtest: Unix domain socket (absolute path without trailing slash)
+        ok 1 - invalid uri
+        1..1
+    ok 2 - Unix domain socket (absolute path without trailing slash)
+    # Subtest: Unix domain socket (absolute path with spaces in path)
+        ok 1 - invalid uri
+        1..1
+    ok 3 - Unix domain socket (absolute path with spaces in path)
+    # Subtest: Multiple Unix domain sockets (absolute paths)
+        ok 1 - invalid uri
+        1..1
+    ok 4 - Multiple Unix domain sockets (absolute paths)
+    # Subtest: Multiple hosts (absolute path and ipv4)
+        ok 1 - invalid uri
+        1..1
+    ok 5 - Multiple hosts (absolute path and ipv4)
+    # Subtest: Multiple hosts (absolute path and hostname resembling relative path)
+        ok 1 - invalid uri
+        1..1
+    ok 6 - Multiple hosts (absolute path and hostname resembling relative path)
+    # Subtest: Unix domain socket with auth database (absolute path)
+        ok 1 - invalid uri
+        1..1
+    ok 7 - Unix domain socket with auth database (absolute path)
+    # Subtest: Unix domain socket with path resembling socket file (absolute path with trailing slash)
+        ok 1 - invalid uri
+        1..1
+    ok 8 - Unix domain socket with path resembling socket file (absolute path with trailing slash)
+    # Subtest: Unix domain socket with path resembling socket file (absolute path without trailing slash)
+        ok 1 - invalid uri
+        1..1
+    ok 9 - Unix domain socket with path resembling socket file (absolute path without trailing slash)
+    # Subtest: Unix domain socket with path resembling socket file and auth (absolute path)
+        ok 1 - invalid uri
+        1..1
+    ok 10 - Unix domain socket with path resembling socket file and auth (absolute path)
+    # Subtest: Multiple Unix domain sockets and auth DB (absolute path)
+        ok 1 - invalid uri
+        1..1
+    ok 11 - Multiple Unix domain sockets and auth DB (absolute path)
+    # Subtest: Multiple Unix domain sockets with auth DB (absolute path)
+        ok 1 - invalid uri
+        1..1
+    ok 12 - Multiple Unix domain sockets with auth DB (absolute path)
+    # Subtest: Multiple Unix domain sockets with auth and query string (absolute path)
+        ok 1 - invalid uri
+        1..1
+    ok 13 - Multiple Unix domain sockets with auth and query string (absolute path)
+    1..13
+ok 6 - t/data/connection_string/valid-unix_socket-absolute.json
 # Subtest: t/data/connection_string/valid-auth.json
     # Subtest: User info for single IPv4 host without database
         ok 1 - 'uri construction' isa 'MongoDB::_URI'
@@ -1328,7 +1585,7 @@
         1..7
     ok 15 - At-signs in options aren't part of the userinfo
     1..15
-ok 4 - t/data/connection_string/valid-auth.json
+ok 7 - t/data/connection_string/valid-auth.json
 # Subtest: t/data/connection_string/valid-unix_socket-relative.json
     # Subtest: Unix domain socket (relative path with trailing slash)
         ok 1 - invalid uri
@@ -1387,228 +1644,7 @@
         1..1
     ok 14 - Multiple Unix domain sockets with auth and query string (relative path)
     1..14
-ok 5 - t/data/connection_string/valid-unix_socket-relative.json
-# Subtest: t/data/connection_string/valid-unix_socket-absolute.json
-    # Subtest: Unix domain socket (absolute path with trailing slash)
-        ok 1 - invalid uri
-        1..1
-    ok 1 - Unix domain socket (absolute path with trailing slash)
-    # Subtest: Unix domain socket (absolute path without trailing slash)
-        ok 1 - invalid uri
-        1..1
-    ok 2 - Unix domain socket (absolute path without trailing slash)
-    # Subtest: Unix domain socket (absolute path with spaces in path)
-        ok 1 - invalid uri
-        1..1
-    ok 3 - Unix domain socket (absolute path with spaces in path)
-    # Subtest: Multiple Unix domain sockets (absolute paths)
-        ok 1 - invalid uri
-        1..1
-    ok 4 - Multiple Unix domain sockets (absolute paths)
-    # Subtest: Multiple hosts (absolute path and ipv4)
-        ok 1 - invalid uri
-        1..1
-    ok 5 - Multiple hosts (absolute path and ipv4)
-    # Subtest: Multiple hosts (absolute path and hostname resembling relative path)
-        ok 1 - invalid uri
-        1..1
-    ok 6 - Multiple hosts (absolute path and hostname resembling relative path)
-    # Subtest: Unix domain socket with auth database (absolute path)
-        ok 1 - invalid uri
-        1..1
-    ok 7 - Unix domain socket with auth database (absolute path)
-    # Subtest: Unix domain socket with path resembling socket file (absolute path with trailing slash)
-        ok 1 - invalid uri
-        1..1
-    ok 8 - Unix domain socket with path resembling socket file (absolute path with trailing slash)
-    # Subtest: Unix domain socket with path resembling socket file (absolute path without trailing slash)
-        ok 1 - invalid uri
-        1..1
-    ok 9 - Unix domain socket with path resembling socket file (absolute path without trailing slash)
-    # Subtest: Unix domain socket with path resembling socket file and auth (absolute path)
-        ok 1 - invalid uri
-        1..1
-    ok 10 - Unix domain socket with path resembling socket file and auth (absolute path)
-    # Subtest: Multiple Unix domain sockets and auth DB (absolute path)
-        ok 1 - invalid uri
-        1..1
-    ok 11 - Multiple Unix domain sockets and auth DB (absolute path)
-    # Subtest: Multiple Unix domain sockets with auth DB (absolute path)
-        ok 1 - invalid uri
-        1..1
-    ok 12 - Multiple Unix domain sockets with auth DB (absolute path)
-    # Subtest: Multiple Unix domain sockets with auth and query string (absolute path)
-        ok 1 - invalid uri
-        1..1
-    ok 13 - Multiple Unix domain sockets with auth and query string (absolute path)
-    1..13
-ok 6 - t/data/connection_string/valid-unix_socket-absolute.json
-# Subtest: t/data/connection_string/valid-warnings.json
-    # Subtest: Unrecognized option keys are ignored
-        ok 1 - 'uri construction' isa 'MongoDB::_URI'
-        ok 2 - parsing of host list
-        ok 3 - parsing of auth database
-        ok 4 - parsing of username
-        ok 5 - parsing of password
-        ok 6 - parsing of options
-        ok 7 - correct number of warnings
-        1..7
-    ok 1 - Unrecognized option keys are ignored
-    # Subtest: Unsupported option values are ignored
-        ok 1 - 'uri construction' isa 'MongoDB::_URI'
-        ok 2 - parsing of host list
-        ok 3 - parsing of auth database
-        ok 4 - parsing of username
-        ok 5 - parsing of password
-        ok 6 - parsing of options
-        ok 7 - correct number of warnings
-        1..7
-    ok 2 - Unsupported option values are ignored
-    # Subtest: Repeated option keys
-        ok 1 - 'uri construction' isa 'MongoDB::_URI'
-        ok 2 - parsing of host list
-        ok 3 - parsing of auth database
-        ok 4 - parsing of username
-        ok 5 - parsing of password
-        ok 6 - parsing of options
-        ok 7 - correct number of warnings
-        1..7
-    ok 3 - Repeated option keys
-    # Subtest: Deprecated (or unknown) options are ignored if replacement exists
-        ok 1 - 'uri construction' isa 'MongoDB::_URI'
-        ok 2 - parsing of host list
-        ok 3 - parsing of auth database
-        ok 4 - parsing of username
-        ok 5 - parsing of password
-        ok 6 - parsing of options
-        ok 7 - correct number of warnings
-        1..7
-    ok 4 - Deprecated (or unknown) options are ignored if replacement exists
-    1..4
-ok 7 - t/data/connection_string/valid-warnings.json
-# Subtest: t/data/connection_string/invalid-uris.json
-    # Subtest: Empty string
-        ok 1 - invalid uri
-        1..1
-    ok 1 - Empty string
-    # Subtest: Invalid scheme
-        ok 1 - invalid uri
-        1..1
-    ok 2 - Invalid scheme
-    # Subtest: Missing host
-        ok 1 - invalid uri
-        1..1
-    ok 3 - Missing host
-    # Subtest: Double colon in host identifier
-        ok 1 - invalid uri
-        1..1
-    ok 4 - Double colon in host identifier
-    # Subtest: Double colon in host identifier and trailing slash
-        ok 1 - invalid uri
-        1..1
-    ok 5 - Double colon in host identifier and trailing slash
-    # Subtest: Double colon in host identifier with missing host and port
-        ok 1 - invalid uri
-        1..1
-    ok 6 - Double colon in host identifier with missing host and port
-    # Subtest: Double colon in host identifier with missing port
-        ok 1 - invalid uri
-        1..1
-    ok 7 - Double colon in host identifier with missing port
-    # Subtest: Double colon in host identifier and second host
-        ok 1 - invalid uri
-        1..1
-    ok 8 - Double colon in host identifier and second host
-    # Subtest: Invalid port (negative number) with hostname
-        ok 1 - invalid uri
-        1..1
-    ok 9 - Invalid port (negative number) with hostname
-    # Subtest: Invalid port (zero) with hostname
-        ok 1 - invalid uri
-        1..1
-    ok 10 - Invalid port (zero) with hostname
-    # Subtest: Invalid port (positive number) with hostname
-        ok 1 - invalid uri
-        1..1
-    ok 11 - Invalid port (positive number) with hostname
-    # Subtest: Invalid port (positive number) with hostname and trailing slash
-        ok 1 - invalid uri
-        1..1
-    ok 12 - Invalid port (positive number) with hostname and trailing slash
-    # Subtest: Invalid port (non-numeric string) with hostname
-        ok 1 - invalid uri
-        1..1
-    ok 13 - Invalid port (non-numeric string) with hostname
-    # Subtest: Invalid port (negative number) with IP literal
-        ok 1 - invalid uri
-        1..1
-    ok 14 - Invalid port (negative number) with IP literal
-    # Subtest: Invalid port (zero) with IP literal
-        ok 1 - invalid uri
-        1..1
-    ok 15 - Invalid port (zero) with IP literal
-    # Subtest: Invalid port (positive number) with IP literal
-        ok 1 - invalid uri
-        1..1
-    ok 16 - Invalid port (positive number) with IP literal
-    # Subtest: Invalid port (positive number) with IP literal and trailing slash
-        ok 1 - invalid uri
-        1..1
-    ok 17 - Invalid port (positive number) with IP literal and trailing slash
-    # Subtest: Invalid port (non-numeric string) with IP literal
-        ok 1 - invalid uri
-        1..1
-    ok 18 - Invalid port (non-numeric string) with IP literal
-    # Subtest: Missing delimiting slash between hosts and options
-        ok 1 - invalid uri
-        1..1
-    ok 19 - Missing delimiting slash between hosts and options
-    # Subtest: Incomplete key value pair for option
-        ok 1 - invalid uri
-        1..1
-    ok 20 - Incomplete key value pair for option
-    # Subtest: Username with password containing an unescaped colon
-        ok 1 - invalid uri
-        1..1
-    ok 21 - Username with password containing an unescaped colon
-    # Subtest: Username containing an unescaped at-sign
-        ok 1 - invalid uri
-        1..1
-    ok 22 - Username containing an unescaped at-sign
-    # Subtest: Username with password containing an unescaped at-sign
-        ok 1 - invalid uri
-        1..1
-    ok 23 - Username with password containing an unescaped at-sign
-    # Subtest: Username containing an unescaped slash
-        ok 1 - invalid uri
-        1..1
-    ok 24 - Username containing an unescaped slash
-    # Subtest: Username containing unescaped slash with password
-        ok 1 - invalid uri
-        1..1
-    ok 25 - Username containing unescaped slash with password
-    # Subtest: Username with password containing an unescaped slash
-        ok 1 - invalid uri
-        1..1
-    ok 26 - Username with password containing an unescaped slash
-    # Subtest: Host with unescaped slash
-        ok 1 - invalid uri
-        1..1
-    ok 27 - Host with unescaped slash
-    # Subtest: mongodb+srv with multiple service names
-        ok 1 - invalid uri
-        1..1
-    ok 28 - mongodb+srv with multiple service names
-    # Subtest: mongodb+srv with port number
-        ok 1 - invalid uri
-        1..1
-    ok 29 - mongodb+srv with port number
-    # Subtest: Username with password containing an unescaped percent sign
-        ok 1 - invalid uri
-        1..1
-    ok 30 - Username with password containing an unescaped percent sign
-    1..30
-ok 8 - t/data/connection_string/invalid-uris.json
+ok 8 - t/data/connection_string/valid-unix_socket-relative.json
 1..8
 ok
 t/crud.t ................................... skipped: no mongod on 127.0.0.1:12345
@@ -1945,6 +1981,16 @@
 t/retryable-writes-command-construction.t .. skipped: no mongod on 127.0.0.1:12345
 t/sdam_monitoring.t ........................ skipped: no mongod on 127.0.0.1:12345
 t/sdam_spec.t .............................. 
+# Subtest: single/ls_timeout_standalone
+    ok 1 - correct amount of servers
+    ok 2 - a:27017 exists in outcome
+    ok 3 - correct server type
+    ok 4 - correct setName for server
+    ok 5 - correct setName for topology
+    ok 6 - correct topology type
+    ok 7 - correct ls timeout
+    1..7
+ok 1 - single/ls_timeout_standalone
 # Subtest: single/standalone_removed
     ok 1 - correct amount of servers
     ok 2 - b:27017 exists in outcome
@@ -1954,7 +2000,7 @@
     ok 6 - correct topology type
     ok 7 - correct ls timeout
     1..7
-ok 1 - single/standalone_removed
+ok 2 - single/standalone_removed
 # Subtest: single/not_ok_response
     ok 1 - correct amount of servers
     ok 2 - a:27017 exists in outcome
@@ -1964,8 +2010,8 @@
     ok 6 - correct topology type
     ok 7 - correct ls timeout
     1..7
-ok 2 - single/not_ok_response
-# Subtest: single/direct_connection_standalone
+ok 3 - single/not_ok_response
+# Subtest: single/direct_connection_rsarbiter
     ok 1 - correct amount of servers
     ok 2 - a:27017 exists in outcome
     ok 3 - correct server type
@@ -1974,8 +2020,8 @@
     ok 6 - correct topology type
     ok 7 - correct ls timeout
     1..7
-ok 3 - single/direct_connection_standalone
-# Subtest: single/ls_timeout_standalone
+ok 4 - single/direct_connection_rsarbiter
+# Subtest: single/unavailable_seed
     ok 1 - correct amount of servers
     ok 2 - a:27017 exists in outcome
     ok 3 - correct server type
@@ -1984,8 +2030,8 @@
     ok 6 - correct topology type
     ok 7 - correct ls timeout
     1..7
-ok 4 - single/ls_timeout_standalone
-# Subtest: single/direct_connection_rsprimary
+ok 5 - single/unavailable_seed
+# Subtest: single/direct_connection_mongos
     ok 1 - correct amount of servers
     ok 2 - a:27017 exists in outcome
     ok 3 - correct server type
@@ -1994,7 +2040,18 @@
     ok 6 - correct topology type
     ok 7 - correct ls timeout
     1..7
-ok 5 - single/direct_connection_rsprimary
+ok 6 - single/direct_connection_mongos
+# Subtest: single/too_old
+    ok 1 - correct amount of servers
+    ok 2 - a:27017 exists in outcome
+    ok 3 - correct server type
+    ok 4 - correct setName for server
+    ok 5 - correct setName for topology
+    ok 6 - correct topology type
+    ok 7 - correct ls timeout
+    ok 8 - compatibility correct
+    1..8
+ok 7 - single/too_old
 # Subtest: single/too_new
     ok 1 - correct amount of servers
     ok 2 - a:27017 exists in outcome
@@ -2005,8 +2062,8 @@
     ok 7 - correct ls timeout
     ok 8 - compatibility correct
     1..8
-ok 6 - single/too_new
-# Subtest: single/too_old
+ok 8 - single/too_new
+# Subtest: single/compatible
     ok 1 - correct amount of servers
     ok 2 - a:27017 exists in outcome
     ok 3 - correct server type
@@ -2016,8 +2073,8 @@
     ok 7 - correct ls timeout
     ok 8 - compatibility correct
     1..8
-ok 7 - single/too_old
-# Subtest: single/direct_connection_external_ip
+ok 9 - single/compatible
+# Subtest: single/direct_connection_slave
     ok 1 - correct amount of servers
     ok 2 - a:27017 exists in outcome
     ok 3 - correct server type
@@ -2026,8 +2083,8 @@
     ok 6 - correct topology type
     ok 7 - correct ls timeout
     1..7
-ok 8 - single/direct_connection_external_ip
-# Subtest: single/direct_connection_rssecondary
+ok 10 - single/direct_connection_slave
+# Subtest: single/direct_connection_standalone
     ok 1 - correct amount of servers
     ok 2 - a:27017 exists in outcome
     ok 3 - correct server type
@@ -2036,8 +2093,8 @@
     ok 6 - correct topology type
     ok 7 - correct ls timeout
     1..7
-ok 9 - single/direct_connection_rssecondary
-# Subtest: single/unavailable_seed
+ok 11 - single/direct_connection_standalone
+# Subtest: single/direct_connection_rsprimary
     ok 1 - correct amount of servers
     ok 2 - a:27017 exists in outcome
     ok 3 - correct server type
@@ -2046,8 +2103,8 @@
     ok 6 - correct topology type
     ok 7 - correct ls timeout
     1..7
-ok 10 - single/unavailable_seed
-# Subtest: single/direct_connection_rsarbiter
+ok 12 - single/direct_connection_rsprimary
+# Subtest: single/direct_connection_external_ip
     ok 1 - correct amount of servers
     ok 2 - a:27017 exists in outcome
     ok 3 - correct server type
@@ -2056,8 +2113,8 @@
     ok 6 - correct topology type
     ok 7 - correct ls timeout
     1..7
-ok 11 - single/direct_connection_rsarbiter
-# Subtest: single/direct_connection_slave
+ok 13 - single/direct_connection_external_ip
+# Subtest: single/direct_connection_rssecondary
     ok 1 - correct amount of servers
     ok 2 - a:27017 exists in outcome
     ok 3 - correct server type
@@ -2066,18 +2123,303 @@
     ok 6 - correct topology type
     ok 7 - correct ls timeout
     1..7
-ok 12 - single/direct_connection_slave
-# Subtest: single/direct_connection_mongos
+ok 14 - single/direct_connection_rssecondary
+# Subtest: monitoring/replica_set_with_primary
+    ok 1 - topology_open has topologyId that matches topology
+    ok 2 - server_opening has topologyId that matches topology
+    ok 3 - server opening matches
+    ok 4 - server_opening has topologyId that matches topology
+    ok 5 - server opening matches
+    ok 6 - topology_description_changed has topologyId that matches topology
+    ok 7 - topology_description_changed previousDescription correct amount of servers
+    ok 8 - topology_description_changed newDescription correct amount of servers
+    ok 9 - previous topology description topologyType matches
+    ok 10 - new topology description topologyType matches
+    ok 11 - server matches in single server comparison
+    ok 12 - server matches in single server comparison
+    ok 13 - server matches in single server comparison
+    ok 14 - server matches in single server comparison
+    ok 15 - server_description_changed has topologyId that matches topology
+    ok 16 - server_description_changed server address matches
+    ok 17 - server matches in single server comparison
+    ok 18 - server matches in single server comparison
+    ok 19 - topology_description_changed has topologyId that matches topology
+    ok 20 - topology_description_changed previousDescription correct amount of servers
+    ok 21 - topology_description_changed newDescription correct amount of servers
+    ok 22 - previous topology description topologyType matches
+    ok 23 - new topology description topologyType matches
+    ok 24 - setName matches
+    ok 25 - server matches in single server comparison
+    ok 26 - server matches in single server comparison
+    ok 27 - server matches in single server comparison
+    ok 28 - server matches in single server comparison
+    ok 29 - server matches in single server comparison
+    ok 30 - server matches in single server comparison
+    ok 31 - server matches in single server comparison
+    ok 32 - server matches in single server comparison
+    1..32
+ok 15 - monitoring/replica_set_with_primary
+# Subtest: monitoring/replica_set_with_removal
+    ok 1 - topology_open has topologyId that matches topology
+    ok 2 - server_opening has topologyId that matches topology
+    ok 3 - server opening matches
+    ok 4 - server_opening has topologyId that matches topology
+    ok 5 - server opening matches
+    ok 6 - topology_description_changed has topologyId that matches topology
+    ok 7 - topology_description_changed previousDescription correct amount of servers
+    ok 8 - topology_description_changed newDescription correct amount of servers
+    ok 9 - previous topology description topologyType matches
+    ok 10 - new topology description topologyType matches
+    ok 11 - server matches in single server comparison
+    ok 12 - server matches in single server comparison
+    ok 13 - server matches in single server comparison
+    ok 14 - server matches in single server comparison
+    ok 15 - server_description_changed has topologyId that matches topology
+    ok 16 - server_description_changed server address matches
+    ok 17 - server matches in single server comparison
+    ok 18 - server matches in single server comparison
+    ok 19 - has topologyId that matches topology
+    ok 20 - server closing matches
+    ok 21 - topology_description_changed has topologyId that matches topology
+    ok 22 - topology_description_changed previousDescription correct amount of servers
+    ok 23 - topology_description_changed newDescription correct amount of servers
+    ok 24 - previous topology description topologyType matches
+    ok 25 - new topology description topologyType matches
+    ok 26 - setName matches
+    ok 27 - server matches in single server comparison
+    ok 28 - server matches in single server comparison
+    ok 29 - server matches in single server comparison
+    ok 30 - server matches in single server comparison
+    ok 31 - server matches in single server comparison
+    ok 32 - server matches in single server comparison
+    1..32
+ok 16 - monitoring/replica_set_with_removal
+# Subtest: monitoring/replica_set_with_no_primary
+    ok 1 - topology_open has topologyId that matches topology
+    ok 2 - server_opening has topologyId that matches topology
+    ok 3 - server opening matches
+    ok 4 - server_opening has topologyId that matches topology
+    ok 5 - server opening matches
+    ok 6 - topology_description_changed has topologyId that matches topology
+    ok 7 - topology_description_changed previousDescription correct amount of servers
+    ok 8 - topology_description_changed newDescription correct amount of servers
+    ok 9 - previous topology description topologyType matches
+    ok 10 - new topology description topologyType matches
+    ok 11 - server matches in single server comparison
+    ok 12 - server matches in single server comparison
+    ok 13 - server matches in single server comparison
+    ok 14 - server matches in single server comparison
+    ok 15 - server_description_changed has topologyId that matches topology
+    ok 16 - server_description_changed server address matches
+    ok 17 - server matches in single server comparison
+    ok 18 - server matches in single server comparison
+    ok 19 - topology_description_changed has topologyId that matches topology
+    ok 20 - topology_description_changed previousDescription correct amount of servers
+    ok 21 - topology_description_changed newDescription correct amount of servers
+    ok 22 - previous topology description topologyType matches
+    ok 23 - new topology description topologyType matches
+    ok 24 - setName matches
+    ok 25 - server matches in single server comparison
+    ok 26 - server matches in single server comparison
+    ok 27 - server matches in single server comparison
+    ok 28 - server matches in single server comparison
+    ok 29 - server matches in single server comparison
+    ok 30 - server matches in single server comparison
+    ok 31 - server matches in single server comparison
+    ok 32 - server matches in single server comparison
+    1..32
+ok 17 - monitoring/replica_set_with_no_primary
+# Subtest: monitoring/required_replica_set
+    ok 1 - topology_open has topologyId that matches topology
+    ok 2 - server_opening has topologyId that matches topology
+    ok 3 - server opening matches
+    ok 4 - server_opening has topologyId that matches topology
+    ok 5 - server opening matches
+    ok 6 - topology_description_changed has topologyId that matches topology
+    ok 7 - topology_description_changed previousDescription correct amount of servers
+    ok 8 - topology_description_changed newDescription correct amount of servers
+    ok 9 - previous topology description topologyType matches
+    ok 10 - new topology description topologyType matches
+    ok 11 - setName matches
+    ok 12 - server matches in single server comparison
+    ok 13 - server matches in single server comparison
+    ok 14 - server matches in single server comparison
+    ok 15 - server matches in single server comparison
+    ok 16 - server_description_changed has topologyId that matches topology
+    ok 17 - server_description_changed server address matches
+    ok 18 - server matches in single server comparison
+    ok 19 - server matches in single server comparison
+    ok 20 - topology_description_changed has topologyId that matches topology
+    ok 21 - topology_description_changed previousDescription correct amount of servers
+    ok 22 - topology_description_changed newDescription correct amount of servers
+    ok 23 - previous topology description topologyType matches
+    ok 24 - new topology description topologyType matches
+    ok 25 - setName matches
+    ok 26 - setName matches
+    ok 27 - server matches in single server comparison
+    ok 28 - server matches in single server comparison
+    ok 29 - server matches in single server comparison
+    ok 30 - server matches in single server comparison
+    ok 31 - server matches in single server comparison
+    ok 32 - server matches in single server comparison
+    ok 33 - server matches in single server comparison
+    ok 34 - server matches in single server comparison
+    1..34
+ok 18 - monitoring/required_replica_set
+# Subtest: monitoring/standalone
+    ok 1 - topology_open has topologyId that matches topology
+    ok 2 - server_opening has topologyId that matches topology
+    ok 3 - server opening matches
+    ok 4 - topology_description_changed has topologyId that matches topology
+    ok 5 - topology_description_changed previousDescription correct amount of servers
+    ok 6 - topology_description_changed newDescription correct amount of servers
+    ok 7 - previous topology description topologyType matches
+    ok 8 - new topology description topologyType matches
+    ok 9 - server matches in single server comparison
+    ok 10 - server matches in single server comparison
+    ok 11 - server_description_changed has topologyId that matches topology
+    ok 12 - server_description_changed server address matches
+    ok 13 - server matches in single server comparison
+    ok 14 - server matches in single server comparison
+    ok 15 - topology_description_changed has topologyId that matches topology
+    ok 16 - topology_description_changed previousDescription correct amount of servers
+    ok 17 - topology_description_changed newDescription correct amount of servers
+    ok 18 - previous topology description topologyType matches
+    ok 19 - new topology description topologyType matches
+    ok 20 - server matches in single server comparison
+    ok 21 - server matches in single server comparison
+    ok 22 - server matches in single server comparison
+    ok 23 - server matches in single server comparison
+    1..23
+ok 19 - monitoring/standalone
+# Subtest: rs/ls_timeout
     ok 1 - correct amount of servers
-    ok 2 - a:27017 exists in outcome
+    ok 2 - c:27017 exists in outcome
+    ok 3 - correct server type
+    ok 4 - correct setName for server
+    ok 5 - e:27017 exists in outcome
+    ok 6 - correct server type
+    ok 7 - correct setName for server
+    ok 8 - a:27017 exists in outcome
+    ok 9 - correct server type
+    ok 10 - correct setName for server
+    ok 11 - b:27017 exists in outcome
+    ok 12 - correct server type
+    ok 13 - correct setName for server
+    ok 14 - d:27017 exists in outcome
+    ok 15 - correct server type
+    ok 16 - correct setName for server
+    ok 17 - correct setName for topology
+    ok 18 - correct topology type
+    ok 19 - correct ls timeout
+    ok 20 - correct amount of servers
+    ok 21 - b:27017 exists in outcome
+    ok 22 - correct server type
+    ok 23 - correct setName for server
+    ok 24 - a:27017 exists in outcome
+    ok 25 - correct server type
+    ok 26 - correct setName for server
+    ok 27 - d:27017 exists in outcome
+    ok 28 - correct server type
+    ok 29 - correct setName for server
+    ok 30 - c:27017 exists in outcome
+    ok 31 - correct server type
+    ok 32 - correct setName for server
+    ok 33 - e:27017 exists in outcome
+    ok 34 - correct server type
+    ok 35 - correct setName for server
+    ok 36 - correct setName for topology
+    ok 37 - correct topology type
+    ok 38 - correct ls timeout
+    ok 39 - correct amount of servers
+    ok 40 - c:27017 exists in outcome
+    ok 41 - correct server type
+    ok 42 - correct setName for server
+    ok 43 - e:27017 exists in outcome
+    ok 44 - correct server type
+    ok 45 - correct setName for server
+    ok 46 - d:27017 exists in outcome
+    ok 47 - correct server type
+    ok 48 - correct setName for server
+    ok 49 - b:27017 exists in outcome
+    ok 50 - correct server type
+    ok 51 - correct setName for server
+    ok 52 - a:27017 exists in outcome
+    ok 53 - correct server type
+    ok 54 - correct setName for server
+    ok 55 - correct setName for topology
+    ok 56 - correct topology type
+    ok 57 - correct ls timeout
+    ok 58 - correct amount of servers
+    ok 59 - e:27017 exists in outcome
+    ok 60 - correct server type
+    ok 61 - correct setName for server
+    ok 62 - c:27017 exists in outcome
+    ok 63 - correct server type
+    ok 64 - correct setName for server
+    ok 65 - a:27017 exists in outcome
+    ok 66 - correct server type
+    ok 67 - correct setName for server
+    ok 68 - b:27017 exists in outcome
+    ok 69 - correct server type
+    ok 70 - correct setName for server
+    ok 71 - d:27017 exists in outcome
+    ok 72 - correct server type
+    ok 73 - correct setName for server
+    ok 74 - correct setName for topology
+    ok 75 - correct topology type
+    ok 76 - correct ls timeout
+    ok 77 - correct amount of servers
+    ok 78 - a:27017 exists in outcome
+    ok 79 - correct server type
+    ok 80 - correct setName for server
+    ok 81 - b:27017 exists in outcome
+    ok 82 - correct server type
+    ok 83 - correct setName for server
+    ok 84 - d:27017 exists in outcome
+    ok 85 - correct server type
+    ok 86 - correct setName for server
+    ok 87 - c:27017 exists in outcome
+    ok 88 - correct server type
+    ok 89 - correct setName for server
+    ok 90 - e:27017 exists in outcome
+    ok 91 - correct server type
+    ok 92 - correct setName for server
+    ok 93 - correct setName for topology
+    ok 94 - correct topology type
+    ok 95 - correct ls timeout
+    ok 96 - correct amount of servers
+    ok 97 - c:27017 exists in outcome
+    ok 98 - correct server type
+    ok 99 - correct setName for server
+    ok 100 - e:27017 exists in outcome
+    ok 101 - correct server type
+    ok 102 - correct setName for server
+    ok 103 - b:27017 exists in outcome
+    ok 104 - correct server type
+    ok 105 - correct setName for server
+    ok 106 - a:27017 exists in outcome
+    ok 107 - correct server type
+    ok 108 - correct setName for server
+    ok 109 - d:27017 exists in outcome
+    ok 110 - correct server type
+    ok 111 - correct setName for server
+    ok 112 - correct setName for topology
+    ok 113 - correct topology type
+    ok 114 - correct ls timeout
+    1..114
+ok 20 - rs/ls_timeout
+# Subtest: rs/hosts_differ_from_seeds
+    ok 1 - correct amount of servers
+    ok 2 - b:27017 exists in outcome
     ok 3 - correct server type
     ok 4 - correct setName for server
     ok 5 - correct setName for topology
     ok 6 - correct topology type
     ok 7 - correct ls timeout
     1..7
-ok 13 - single/direct_connection_mongos
-# Subtest: single/compatible
+ok 21 - rs/hosts_differ_from_seeds
+# Subtest: rs/primary_becomes_mongos
     ok 1 - correct amount of servers
     ok 2 - a:27017 exists in outcome
     ok 3 - correct server type
@@ -2085,10 +2427,27 @@
     ok 5 - correct setName for topology
     ok 6 - correct topology type
     ok 7 - correct ls timeout
-    ok 8 - compatibility correct
-    1..8
-ok 14 - single/compatible
-# Subtest: rs/primary_mismatched_me
+    ok 8 - correct amount of servers
+    ok 9 - correct setName for topology
+    ok 10 - correct topology type
+    ok 11 - correct ls timeout
+    1..11
+ok 22 - rs/primary_becomes_mongos
+# Subtest: rs/primary_changes_set_name
+    ok 1 - correct amount of servers
+    ok 2 - a:27017 exists in outcome
+    ok 3 - correct server type
+    ok 4 - correct setName for server
+    ok 5 - correct setName for topology
+    ok 6 - correct topology type
+    ok 7 - correct ls timeout
+    ok 8 - correct amount of servers
+    ok 9 - correct setName for topology
+    ok 10 - correct topology type
+    ok 11 - correct ls timeout
+    1..11
+ok 23 - rs/primary_changes_set_name
+# Subtest: rs/secondary_ignore_ok_0
     ok 1 - correct amount of servers
     ok 2 - a:27017 exists in outcome
     ok 3 - correct server type
@@ -2099,22 +2458,49 @@
     ok 8 - correct setName for topology
     ok 9 - correct topology type
     ok 10 - correct ls timeout
-    1..10
-ok 15 - rs/primary_mismatched_me
-# Subtest: rs/equal_electionids
+    ok 11 - correct amount of servers
+    ok 12 - b:27017 exists in outcome
+    ok 13 - correct server type
+    ok 14 - correct setName for server
+    ok 15 - a:27017 exists in outcome
+    ok 16 - correct server type
+    ok 17 - correct setName for server
+    ok 18 - correct setName for topology
+    ok 19 - correct topology type
+    ok 20 - correct ls timeout
+    1..20
+ok 24 - rs/secondary_ignore_ok_0
+# Subtest: rs/primary_becomes_ghost
     ok 1 - correct amount of servers
-    ok 2 - b:27017 exists in outcome
+    ok 2 - a:27017 exists in outcome
     ok 3 - correct server type
     ok 4 - correct setName for server
-    ok 5 - a:27017 exists in outcome
+    ok 5 - correct setName for topology
+    ok 6 - correct topology type
+    ok 7 - correct ls timeout
+    ok 8 - correct amount of servers
+    ok 9 - a:27017 exists in outcome
+    ok 10 - correct server type
+    ok 11 - correct setName for server
+    ok 12 - correct setName for topology
+    ok 13 - correct topology type
+    ok 14 - correct ls timeout
+    1..14
+ok 25 - rs/primary_becomes_ghost
+# Subtest: rs/discover_secondary
+    ok 1 - correct amount of servers
+    ok 2 - a:27017 exists in outcome
+    ok 3 - correct server type
+    ok 4 - correct setName for server
+    ok 5 - b:27017 exists in outcome
     ok 6 - correct server type
     ok 7 - correct setName for server
     ok 8 - correct setName for topology
     ok 9 - correct topology type
     ok 10 - correct ls timeout
     1..10
-ok 16 - rs/equal_electionids
-# Subtest: rs/stepdown_change_set_name
+ok 26 - rs/discover_secondary
+# Subtest: rs/member_standalone
     ok 1 - correct amount of servers
     ok 2 - a:27017 exists in outcome
     ok 3 - correct server type
@@ -2123,17 +2509,27 @@
     ok 6 - correct topology type
     ok 7 - correct ls timeout
     ok 8 - correct amount of servers
-    ok 9 - correct setName for topology
-    ok 10 - correct topology type
-    ok 11 - correct ls timeout
-    1..11
-ok 17 - rs/stepdown_change_set_name
-# Subtest: rs/new_primary_new_electionid
+    ok 9 - a:27017 exists in outcome
+    ok 10 - correct server type
+    ok 11 - correct setName for server
+    ok 12 - correct setName for topology
+    ok 13 - correct topology type
+    ok 14 - correct ls timeout
+    1..14
+ok 27 - rs/member_standalone
+# Subtest: rs/primary_wrong_set_name
     ok 1 - correct amount of servers
-    ok 2 - b:27017 exists in outcome
+    ok 2 - correct setName for topology
+    ok 3 - correct topology type
+    ok 4 - correct ls timeout
+    1..4
+ok 28 - rs/primary_wrong_set_name
+# Subtest: rs/setversion_without_electionid
+    ok 1 - correct amount of servers
+    ok 2 - a:27017 exists in outcome
     ok 3 - correct server type
     ok 4 - correct setName for server
-    ok 5 - a:27017 exists in outcome
+    ok 5 - b:27017 exists in outcome
     ok 6 - correct server type
     ok 7 - correct setName for server
     ok 8 - correct setName for topology
@@ -2149,44 +2545,27 @@
     ok 18 - correct setName for topology
     ok 19 - correct topology type
     ok 20 - correct ls timeout
-    ok 21 - correct amount of servers
-    ok 22 - b:27017 exists in outcome
-    ok 23 - correct server type
-    ok 24 - correct setName for server
-    ok 25 - a:27017 exists in outcome
-    ok 26 - correct server type
-    ok 27 - correct setName for server
-    ok 28 - correct setName for topology
-    ok 29 - correct topology type
-    ok 30 - correct ls timeout
-    1..30
-ok 18 - rs/new_primary_new_electionid
-# Subtest: rs/member_reconfig
+    1..20
+ok 29 - rs/setversion_without_electionid
+# Subtest: rs/primary_mismatched_me
     ok 1 - correct amount of servers
-    ok 2 - b:27017 exists in outcome
+    ok 2 - a:27017 exists in outcome
     ok 3 - correct server type
     ok 4 - correct setName for server
-    ok 5 - a:27017 exists in outcome
+    ok 5 - b:27017 exists in outcome
     ok 6 - correct server type
     ok 7 - correct setName for server
     ok 8 - correct setName for topology
     ok 9 - correct topology type
     ok 10 - correct ls timeout
-    ok 11 - correct amount of servers
-    ok 12 - a:27017 exists in outcome
-    ok 13 - correct server type
-    ok 14 - correct setName for server
-    ok 15 - correct setName for topology
-    ok 16 - correct topology type
-    ok 17 - correct ls timeout
-    1..17
-ok 19 - rs/member_reconfig
-# Subtest: rs/use_setversion_without_electionid
+    1..10
+ok 30 - rs/primary_mismatched_me
+# Subtest: rs/primary_disconnect_electionid
     ok 1 - correct amount of servers
-    ok 2 - a:27017 exists in outcome
+    ok 2 - b:27017 exists in outcome
     ok 3 - correct server type
     ok 4 - correct setName for server
-    ok 5 - b:27017 exists in outcome
+    ok 5 - a:27017 exists in outcome
     ok 6 - correct server type
     ok 7 - correct setName for server
     ok 8 - correct setName for topology
@@ -2212,9 +2591,29 @@
     ok 28 - correct setName for topology
     ok 29 - correct topology type
     ok 30 - correct ls timeout
-    1..30
-ok 20 - rs/use_setversion_without_electionid
-# Subtest: rs/ghost_discovered
+    ok 31 - correct amount of servers
+    ok 32 - b:27017 exists in outcome
+    ok 33 - correct server type
+    ok 34 - correct setName for server
+    ok 35 - a:27017 exists in outcome
+    ok 36 - correct server type
+    ok 37 - correct setName for server
+    ok 38 - correct setName for topology
+    ok 39 - correct topology type
+    ok 40 - correct ls timeout
+    ok 41 - correct amount of servers
+    ok 42 - b:27017 exists in outcome
+    ok 43 - correct server type
+    ok 44 - correct setName for server
+    ok 45 - a:27017 exists in outcome
+    ok 46 - correct server type
+    ok 47 - correct setName for server
+    ok 48 - correct setName for topology
+    ok 49 - correct topology type
+    ok 50 - correct ls timeout
+    1..50
+ok 31 - rs/primary_disconnect_electionid
+# Subtest: rs/discovery
     ok 1 - correct amount of servers
     ok 2 - b:27017 exists in outcome
     ok 3 - correct server type
@@ -2222,30 +2621,68 @@
     ok 5 - a:27017 exists in outcome
     ok 6 - correct server type
     ok 7 - correct setName for server
-    ok 8 - correct setName for topology
-    ok 9 - correct topology type
-    ok 10 - correct ls timeout
-    1..10
-ok 21 - rs/ghost_discovered
-# Subtest: rs/discover_secondary
-    ok 1 - correct amount of servers
-    ok 2 - a:27017 exists in outcome
-    ok 3 - correct server type
-    ok 4 - correct setName for server
-    ok 5 - b:27017 exists in outcome
-    ok 6 - correct server type
-    ok 7 - correct setName for server
-    ok 8 - correct setName for topology
-    ok 9 - correct topology type
-    ok 10 - correct ls timeout
-    1..10
-ok 22 - rs/discover_secondary
-# Subtest: rs/new_primary
+    ok 8 - c:27017 exists in outcome
+    ok 9 - correct server type
+    ok 10 - correct setName for server
+    ok 11 - correct setName for topology
+    ok 12 - correct topology type
+    ok 13 - correct ls timeout
+    ok 14 - correct amount of servers
+    ok 15 - c:27017 exists in outcome
+    ok 16 - correct server type
+    ok 17 - correct setName for server
+    ok 18 - d:27017 exists in outcome
+    ok 19 - correct server type
+    ok 20 - correct setName for server
+    ok 21 - b:27017 exists in outcome
+    ok 22 - correct server type
+    ok 23 - correct setName for server
+    ok 24 - a:27017 exists in outcome
+    ok 25 - correct server type
+    ok 26 - correct setName for server
+    ok 27 - correct setName for topology
+    ok 28 - correct topology type
+    ok 29 - correct ls timeout
+    ok 30 - correct amount of servers
+    ok 31 - c:27017 exists in outcome
+    ok 32 - correct server type
+    ok 33 - correct setName for server
+    ok 34 - e:27017 exists in outcome
+    ok 35 - correct server type
+    ok 36 - correct setName for server
+    ok 37 - b:27017 exists in outcome
+    ok 38 - correct server type
+    ok 39 - correct setName for server
+    ok 40 - d:27017 exists in outcome
+    ok 41 - correct server type
+    ok 42 - correct setName for server
+    ok 43 - correct setName for topology
+    ok 44 - correct topology type
+    ok 45 - correct ls timeout
+    ok 46 - correct amount of servers
+    ok 47 - b:27017 exists in outcome
+    ok 48 - correct server type
+    ok 49 - correct setName for server
+    ok 50 - d:27017 exists in outcome
+    ok 51 - correct server type
+    ok 52 - correct setName for server
+    ok 53 - e:27017 exists in outcome
+    ok 54 - correct server type
+    ok 55 - correct setName for server
+    ok 56 - c:27017 exists in outcome
+    ok 57 - correct server type
+    ok 58 - correct setName for server
+    ok 59 - correct setName for topology
+    ok 60 - correct topology type
+    ok 61 - correct ls timeout
+    1..61
+ok 32 - rs/discovery
+# Subtest: rs/discover_passives
     ok 1 - correct amount of servers
-    ok 2 - a:27017 exists in outcome
+    ok 2 - b:27017 exists in outcome
     ok 3 - correct server type
     ok 4 - correct setName for server
-    ok 5 - b:27017 exists in outcome
+    ok 5 - a:27017 exists in outcome
     ok 6 - correct server type
     ok 7 - correct setName for server
     ok 8 - correct setName for topology
@@ -2262,8 +2699,8 @@
     ok 19 - correct topology type
     ok 20 - correct ls timeout
     1..20
-ok 23 - rs/new_primary
-# Subtest: rs/primary_disconnect
+ok 33 - rs/discover_passives
+# Subtest: rs/response_from_removed
     ok 1 - correct amount of servers
     ok 2 - a:27017 exists in outcome
     ok 3 - correct server type
@@ -2279,13 +2716,13 @@
     ok 13 - correct topology type
     ok 14 - correct ls timeout
     1..14
-ok 24 - rs/primary_disconnect
-# Subtest: rs/new_primary_wrong_set_name
+ok 34 - rs/response_from_removed
+# Subtest: rs/member_reconfig
     ok 1 - correct amount of servers
-    ok 2 - b:27017 exists in outcome
+    ok 2 - a:27017 exists in outcome
     ok 3 - correct server type
     ok 4 - correct setName for server
-    ok 5 - a:27017 exists in outcome
+    ok 5 - b:27017 exists in outcome
     ok 6 - correct server type
     ok 7 - correct setName for server
     ok 8 - correct setName for topology
@@ -2299,40 +2736,14 @@
     ok 16 - correct topology type
     ok 17 - correct ls timeout
     1..17
-ok 25 - rs/new_primary_wrong_set_name
-# Subtest: rs/new_primary_new_setversion
+ok 35 - rs/member_reconfig
+# Subtest: rs/secondary_wrong_set_name
     ok 1 - correct amount of servers
-    ok 2 - b:27017 exists in outcome
-    ok 3 - correct server type
-    ok 4 - correct setName for server
-    ok 5 - a:27017 exists in outcome
-    ok 6 - correct server type
-    ok 7 - correct setName for server
-    ok 8 - correct setName for topology
-    ok 9 - correct topology type
-    ok 10 - correct ls timeout
-    ok 11 - correct amount of servers
-    ok 12 - b:27017 exists in outcome
-    ok 13 - correct server type
-    ok 14 - correct setName for server
-    ok 15 - a:27017 exists in outcome
-    ok 16 - correct server type
-    ok 17 - correct setName for server
-    ok 18 - correct setName for topology
-    ok 19 - correct topology type
-    ok 20 - correct ls timeout
-    ok 21 - correct amount of servers
-    ok 22 - b:27017 exists in outcome
-    ok 23 - correct server type
-    ok 24 - correct setName for server
-    ok 25 - a:27017 exists in outcome
-    ok 26 - correct server type
-    ok 27 - correct setName for server
-    ok 28 - correct setName for topology
-    ok 29 - correct topology type
-    ok 30 - correct ls timeout
-    1..30
-ok 26 - rs/new_primary_new_setversion
+    ok 2 - correct setName for topology
+    ok 3 - correct topology type
+    ok 4 - correct ls timeout
+    1..4
+ok 36 - rs/secondary_wrong_set_name
 # Subtest: rs/primary_reports_new_member
     ok 1 - correct amount of servers
     ok 2 - a:27017 exists in outcome
@@ -2345,10 +2756,10 @@
     ok 9 - correct topology type
     ok 10 - correct ls timeout
     ok 11 - correct amount of servers
-    ok 12 - a:27017 exists in outcome
+    ok 12 - b:27017 exists in outcome
     ok 13 - correct server type
     ok 14 - correct setName for server
-    ok 15 - b:27017 exists in outcome
+    ok 15 - a:27017 exists in outcome
     ok 16 - correct server type
     ok 17 - correct setName for server
     ok 18 - correct setName for topology
@@ -2358,174 +2769,121 @@
     ok 22 - b:27017 exists in outcome
     ok 23 - correct server type
     ok 24 - correct setName for server
-    ok 25 - c:27017 exists in outcome
+    ok 25 - a:27017 exists in outcome
     ok 26 - correct server type
     ok 27 - correct setName for server
-    ok 28 - a:27017 exists in outcome
+    ok 28 - c:27017 exists in outcome
     ok 29 - correct server type
     ok 30 - correct setName for server
     ok 31 - correct setName for topology
     ok 32 - correct topology type
     ok 33 - correct ls timeout
     ok 34 - correct amount of servers
-    ok 35 - c:27017 exists in outcome
+    ok 35 - a:27017 exists in outcome
     ok 36 - correct server type
     ok 37 - correct setName for server
     ok 38 - b:27017 exists in outcome
     ok 39 - correct server type
     ok 40 - correct setName for server
-    ok 41 - a:27017 exists in outcome
+    ok 41 - c:27017 exists in outcome
     ok 42 - correct server type
     ok 43 - correct setName for server
     ok 44 - correct setName for topology
     ok 45 - correct topology type
     ok 46 - correct ls timeout
     1..46
-ok 27 - rs/primary_reports_new_member
-# Subtest: rs/discover_arbiters
+ok 37 - rs/primary_reports_new_member
+# Subtest: rs/primary_disconnect
     ok 1 - correct amount of servers
-    ok 2 - b:27017 exists in outcome
+    ok 2 - a:27017 exists in outcome
     ok 3 - correct server type
     ok 4 - correct setName for server
-    ok 5 - a:27017 exists in outcome
+    ok 5 - correct setName for topology
+    ok 6 - correct topology type
+    ok 7 - correct ls timeout
+    ok 8 - correct amount of servers
+    ok 9 - a:27017 exists in outcome
+    ok 10 - correct server type
+    ok 11 - correct setName for server
+    ok 12 - correct setName for topology
+    ok 13 - correct topology type
+    ok 14 - correct ls timeout
+    1..14
+ok 38 - rs/primary_disconnect
+# Subtest: rs/primary_becomes_standalone
+    ok 1 - correct amount of servers
+    ok 2 - a:27017 exists in outcome
+    ok 3 - correct server type
+    ok 4 - correct setName for server
+    ok 5 - correct setName for topology
+    ok 6 - correct topology type
+    ok 7 - correct ls timeout
+    ok 8 - correct amount of servers
+    ok 9 - correct setName for topology
+    ok 10 - correct topology type
+    ok 11 - correct ls timeout
+    1..11
+ok 39 - rs/primary_becomes_standalone
+# Subtest: rs/secondary_mismatched_me
+    ok 1 - correct amount of servers
+    ok 2 - a:27017 exists in outcome
+    ok 3 - correct server type
+    ok 4 - correct setName for server
+    ok 5 - b:27017 exists in outcome
     ok 6 - correct server type
     ok 7 - correct setName for server
     ok 8 - correct setName for topology
     ok 9 - correct topology type
     ok 10 - correct ls timeout
     1..10
-ok 28 - rs/discover_arbiters
-# Subtest: rs/sec_not_auth
+ok 40 - rs/secondary_mismatched_me
+# Subtest: rs/primary_to_no_primary_mismatched_me
     ok 1 - correct amount of servers
-    ok 2 - a:27017 exists in outcome
+    ok 2 - b:27017 exists in outcome
     ok 3 - correct server type
     ok 4 - correct setName for server
-    ok 5 - b:27017 exists in outcome
+    ok 5 - a:27017 exists in outcome
     ok 6 - correct server type
     ok 7 - correct setName for server
     ok 8 - correct setName for topology
     ok 9 - correct topology type
     ok 10 - correct ls timeout
-    1..10
-ok 29 - rs/sec_not_auth
-# Subtest: rs/ls_timeout
+    ok 11 - correct amount of servers
+    ok 12 - d:27017 exists in outcome
+    ok 13 - correct server type
+    ok 14 - correct setName for server
+    ok 15 - c:27017 exists in outcome
+    ok 16 - correct server type
+    ok 17 - correct setName for server
+    ok 18 - correct setName for topology
+    ok 19 - correct topology type
+    ok 20 - correct ls timeout
+    1..20
+ok 41 - rs/primary_to_no_primary_mismatched_me
+# Subtest: rs/unexpected_mongos
+    ok 1 - correct amount of servers
+    ok 2 - correct setName for topology
+    ok 3 - correct topology type
+    ok 4 - correct ls timeout
+    1..4
+ok 42 - rs/unexpected_mongos
+# Subtest: rs/normalize_case
     ok 1 - correct amount of servers
-    ok 2 - e:27017 exists in outcome
+    ok 2 - c:27017 exists in outcome
     ok 3 - correct server type
     ok 4 - correct setName for server
     ok 5 - b:27017 exists in outcome
     ok 6 - correct server type
     ok 7 - correct setName for server
-    ok 8 - c:27017 exists in outcome
+    ok 8 - a:27017 exists in outcome
     ok 9 - correct server type
     ok 10 - correct setName for server
-    ok 11 - d:27017 exists in outcome
-    ok 12 - correct server type
-    ok 13 - correct setName for server
-    ok 14 - a:27017 exists in outcome
-    ok 15 - correct server type
-    ok 16 - correct setName for server
-    ok 17 - correct setName for topology
-    ok 18 - correct topology type
-    ok 19 - correct ls timeout
-    ok 20 - correct amount of servers
-    ok 21 - c:27017 exists in outcome
-    ok 22 - correct server type
-    ok 23 - correct setName for server
-    ok 24 - b:27017 exists in outcome
-    ok 25 - correct server type
-    ok 26 - correct setName for server
-    ok 27 - d:27017 exists in outcome
-    ok 28 - correct server type
-    ok 29 - correct setName for server
-    ok 30 - e:27017 exists in outcome
-    ok 31 - correct server type
-    ok 32 - correct setName for server
-    ok 33 - a:27017 exists in outcome
-    ok 34 - correct server type
-    ok 35 - correct setName for server
-    ok 36 - correct setName for topology
-    ok 37 - correct topology type
-    ok 38 - correct ls timeout
-    ok 39 - correct amount of servers
-    ok 40 - a:27017 exists in outcome
-    ok 41 - correct server type
-    ok 42 - correct setName for server
-    ok 43 - e:27017 exists in outcome
-    ok 44 - correct server type
-    ok 45 - correct setName for server
-    ok 46 - d:27017 exists in outcome
-    ok 47 - correct server type
-    ok 48 - correct setName for server
-    ok 49 - c:27017 exists in outcome
-    ok 50 - correct server type
-    ok 51 - correct setName for server
-    ok 52 - b:27017 exists in outcome
-    ok 53 - correct server type
-    ok 54 - correct setName for server
-    ok 55 - correct setName for topology
-    ok 56 - correct topology type
-    ok 57 - correct ls timeout
-    ok 58 - correct amount of servers
-    ok 59 - e:27017 exists in outcome
-    ok 60 - correct server type
-    ok 61 - correct setName for server
-    ok 62 - c:27017 exists in outcome
-    ok 63 - correct server type
-    ok 64 - correct setName for server
-    ok 65 - b:27017 exists in outcome
-    ok 66 - correct server type
-    ok 67 - correct setName for server
-    ok 68 - d:27017 exists in outcome
-    ok 69 - correct server type
-    ok 70 - correct setName for server
-    ok 71 - a:27017 exists in outcome
-    ok 72 - correct server type
-    ok 73 - correct setName for server
-    ok 74 - correct setName for topology
-    ok 75 - correct topology type
-    ok 76 - correct ls timeout
-    ok 77 - correct amount of servers
-    ok 78 - a:27017 exists in outcome
-    ok 79 - correct server type
-    ok 80 - correct setName for server
-    ok 81 - b:27017 exists in outcome
-    ok 82 - correct server type
-    ok 83 - correct setName for server
-    ok 84 - c:27017 exists in outcome
-    ok 85 - correct server type
-    ok 86 - correct setName for server
-    ok 87 - d:27017 exists in outcome
-    ok 88 - correct server type
-    ok 89 - correct setName for server
-    ok 90 - e:27017 exists in outcome
-    ok 91 - correct server type
-    ok 92 - correct setName for server
-    ok 93 - correct setName for topology
-    ok 94 - correct topology type
-    ok 95 - correct ls timeout
-    ok 96 - correct amount of servers
-    ok 97 - d:27017 exists in outcome
-    ok 98 - correct server type
-    ok 99 - correct setName for server
-    ok 100 - c:27017 exists in outcome
-    ok 101 - correct server type
-    ok 102 - correct setName for server
-    ok 103 - b:27017 exists in outcome
-    ok 104 - correct server type
-    ok 105 - correct setName for server
-    ok 106 - e:27017 exists in outcome
-    ok 107 - correct server type
-    ok 108 - correct setName for server
-    ok 109 - a:27017 exists in outcome
-    ok 110 - correct server type
-    ok 111 - correct setName for server
-    ok 112 - correct setName for topology
-    ok 113 - correct topology type
-    ok 114 - correct ls timeout
-    1..114
-ok 30 - rs/ls_timeout
-# Subtest: rs/primary_disconnect_setversion
+    ok 11 - correct setName for topology
+    ok 12 - correct topology type
+    ok 13 - correct ls timeout
+    1..13
+ok 43 - rs/normalize_case
+# Subtest: rs/use_setversion_without_electionid
     ok 1 - correct amount of servers
     ok 2 - b:27017 exists in outcome
     ok 3 - correct server type
@@ -2547,37 +2905,17 @@
     ok 19 - correct topology type
     ok 20 - correct ls timeout
     ok 21 - correct amount of servers
-    ok 22 - a:27017 exists in outcome
+    ok 22 - b:27017 exists in outcome
     ok 23 - correct server type
     ok 24 - correct setName for server
-    ok 25 - b:27017 exists in outcome
+    ok 25 - a:27017 exists in outcome
     ok 26 - correct server type
     ok 27 - correct setName for server
     ok 28 - correct setName for topology
     ok 29 - correct topology type
     ok 30 - correct ls timeout
-    ok 31 - correct amount of servers
-    ok 32 - b:27017 exists in outcome
-    ok 33 - correct server type
-    ok 34 - correct setName for server
-    ok 35 - a:27017 exists in outcome
-    ok 36 - correct server type
-    ok 37 - correct setName for server
-    ok 38 - correct setName for topology
-    ok 39 - correct topology type
-    ok 40 - correct ls timeout
-    ok 41 - correct amount of servers
-    ok 42 - a:27017 exists in outcome
-    ok 43 - correct server type
-    ok 44 - correct setName for server
-    ok 45 - b:27017 exists in outcome
-    ok 46 - correct server type
-    ok 47 - correct setName for server
-    ok 48 - correct setName for topology
-    ok 49 - correct topology type
-    ok 50 - correct ls timeout
-    1..50
-ok 31 - rs/primary_disconnect_setversion
+    1..30
+ok 44 - rs/use_setversion_without_electionid
 # Subtest: rs/null_election_id
     ok 1 - correct amount of servers
     ok 2 - c:27017 exists in outcome
@@ -2593,26 +2931,26 @@
     ok 12 - correct topology type
     ok 13 - correct ls timeout
     ok 14 - correct amount of servers
-    ok 15 - c:27017 exists in outcome
+    ok 15 - a:27017 exists in outcome
     ok 16 - correct server type
     ok 17 - correct setName for server
     ok 18 - b:27017 exists in outcome
     ok 19 - correct server type
     ok 20 - correct setName for server
-    ok 21 - a:27017 exists in outcome
+    ok 21 - c:27017 exists in outcome
     ok 22 - correct server type
     ok 23 - correct setName for server
     ok 24 - correct setName for topology
     ok 25 - correct topology type
     ok 26 - correct ls timeout
     ok 27 - correct amount of servers
-    ok 28 - c:27017 exists in outcome
+    ok 28 - a:27017 exists in outcome
     ok 29 - correct server type
     ok 30 - correct setName for server
     ok 31 - b:27017 exists in outcome
     ok 32 - correct server type
     ok 33 - correct setName for server
-    ok 34 - a:27017 exists in outcome
+    ok 34 - c:27017 exists in outcome
     ok 35 - correct server type
     ok 36 - correct setName for server
     ok 37 - correct setName for topology
@@ -2622,39 +2960,32 @@
     ok 41 - a:27017 exists in outcome
     ok 42 - correct server type
     ok 43 - correct setName for server
-    ok 44 - c:27017 exists in outcome
+    ok 44 - b:27017 exists in outcome
     ok 45 - correct server type
     ok 46 - correct setName for server
-    ok 47 - b:27017 exists in outcome
+    ok 47 - c:27017 exists in outcome
     ok 48 - correct server type
     ok 49 - correct setName for server
     ok 50 - correct setName for topology
     ok 51 - correct topology type
     ok 52 - correct ls timeout
     1..52
-ok 32 - rs/null_election_id
-# Subtest: rs/primary_becomes_standalone
+ok 45 - rs/null_election_id
+# Subtest: rs/too_old
     ok 1 - correct amount of servers
     ok 2 - a:27017 exists in outcome
     ok 3 - correct server type
     ok 4 - correct setName for server
-    ok 5 - correct setName for topology
-    ok 6 - correct topology type
-    ok 7 - correct ls timeout
-    ok 8 - correct amount of servers
-    ok 9 - correct setName for topology
-    ok 10 - correct topology type
-    ok 11 - correct ls timeout
+    ok 5 - b:27017 exists in outcome
+    ok 6 - correct server type
+    ok 7 - correct setName for server
+    ok 8 - correct setName for topology
+    ok 9 - correct topology type
+    ok 10 - correct ls timeout
+    ok 11 - compatibility correct
     1..11
-ok 33 - rs/primary_becomes_standalone
-# Subtest: rs/primary_wrong_set_name
-    ok 1 - correct amount of servers
-    ok 2 - correct setName for topology
-    ok 3 - correct topology type
-    ok 4 - correct ls timeout
-    1..4
-ok 34 - rs/primary_wrong_set_name
-# Subtest: rs/primary_disconnect_electionid
+ok 46 - rs/too_old
+# Subtest: rs/new_primary_new_setversion
     ok 1 - correct amount of servers
     ok 2 - b:27017 exists in outcome
     ok 3 - correct server type
@@ -2666,10 +2997,10 @@
     ok 9 - correct topology type
     ok 10 - correct ls timeout
     ok 11 - correct amount of servers
-    ok 12 - a:27017 exists in outcome
+    ok 12 - b:27017 exists in outcome
     ok 13 - correct server type
     ok 14 - correct setName for server
-    ok 15 - b:27017 exists in outcome
+    ok 15 - a:27017 exists in outcome
     ok 16 - correct server type
     ok 17 - correct setName for server
     ok 18 - correct setName for topology
@@ -2685,78 +3016,22 @@
     ok 28 - correct setName for topology
     ok 29 - correct topology type
     ok 30 - correct ls timeout
-    ok 31 - correct amount of servers
-    ok 32 - a:27017 exists in outcome
-    ok 33 - correct server type
-    ok 34 - correct setName for server
-    ok 35 - b:27017 exists in outcome
-    ok 36 - correct server type
-    ok 37 - correct setName for server
-    ok 38 - correct setName for topology
-    ok 39 - correct topology type
-    ok 40 - correct ls timeout
-    ok 41 - correct amount of servers
-    ok 42 - b:27017 exists in outcome
-    ok 43 - correct server type
-    ok 44 - correct setName for server
-    ok 45 - a:27017 exists in outcome
-    ok 46 - correct server type
-    ok 47 - correct setName for server
-    ok 48 - correct setName for topology
-    ok 49 - correct topology type
-    ok 50 - correct ls timeout
-    1..50
-ok 35 - rs/primary_disconnect_electionid
-# Subtest: rs/rsother_discovered
+    1..30
+ok 47 - rs/new_primary_new_setversion
+# Subtest: rs/sec_not_auth
     ok 1 - correct amount of servers
     ok 2 - a:27017 exists in outcome
     ok 3 - correct server type
     ok 4 - correct setName for server
-    ok 5 - d:27017 exists in outcome
-    ok 6 - correct server type
-    ok 7 - correct setName for server
-    ok 8 - c:27017 exists in outcome
-    ok 9 - correct server type
-    ok 10 - correct setName for server
-    ok 11 - b:27017 exists in outcome
-    ok 12 - correct server type
-    ok 13 - correct setName for server
-    ok 14 - correct setName for topology
-    ok 15 - correct topology type
-    ok 16 - correct ls timeout
-    1..16
-ok 36 - rs/rsother_discovered
-# Subtest: rs/discover_passives
-    ok 1 - correct amount of servers
-    ok 2 - b:27017 exists in outcome
-    ok 3 - correct server type
-    ok 4 - correct setName for server
-    ok 5 - a:27017 exists in outcome
+    ok 5 - b:27017 exists in outcome
     ok 6 - correct server type
     ok 7 - correct setName for server
     ok 8 - correct setName for topology
     ok 9 - correct topology type
     ok 10 - correct ls timeout
-    ok 11 - correct amount of servers
-    ok 12 - a:27017 exists in outcome
-    ok 13 - correct server type
-    ok 14 - correct setName for server
-    ok 15 - b:27017 exists in outcome
-    ok 16 - correct server type
-    ok 17 - correct setName for server
-    ok 18 - correct setName for topology
-    ok 19 - correct topology type
-    ok 20 - correct ls timeout
-    1..20
-ok 37 - rs/discover_passives
-# Subtest: rs/secondary_wrong_set_name
-    ok 1 - correct amount of servers
-    ok 2 - correct setName for topology
-    ok 3 - correct topology type
-    ok 4 - correct ls timeout
-    1..4
-ok 38 - rs/secondary_wrong_set_name
-# Subtest: rs/secondary_mismatched_me
+    1..10
+ok 48 - rs/sec_not_auth
+# Subtest: rs/too_new
     ok 1 - correct amount of servers
     ok 2 - b:27017 exists in outcome
     ok 3 - correct server type
@@ -2767,146 +3042,72 @@
     ok 8 - correct setName for topology
     ok 9 - correct topology type
     ok 10 - correct ls timeout
-    1..10
-ok 39 - rs/secondary_mismatched_me
+    ok 11 - compatibility correct
+    1..11
+ok 49 - rs/too_new
 # Subtest: rs/normalize_case_me
     ok 1 - correct amount of servers
-    ok 2 - b:27017 exists in outcome
+    ok 2 - a:27017 exists in outcome
     ok 3 - correct server type
     ok 4 - correct setName for server
-    ok 5 - c:27017 exists in outcome
+    ok 5 - b:27017 exists in outcome
     ok 6 - correct server type
     ok 7 - correct setName for server
-    ok 8 - a:27017 exists in outcome
+    ok 8 - c:27017 exists in outcome
     ok 9 - correct server type
     ok 10 - correct setName for server
     ok 11 - correct setName for topology
     ok 12 - correct topology type
     ok 13 - correct ls timeout
     ok 14 - correct amount of servers
-    ok 15 - b:27017 exists in outcome
+    ok 15 - a:27017 exists in outcome
     ok 16 - correct server type
     ok 17 - correct setName for server
-    ok 18 - c:27017 exists in outcome
+    ok 18 - b:27017 exists in outcome
     ok 19 - correct server type
     ok 20 - correct setName for server
-    ok 21 - a:27017 exists in outcome
+    ok 21 - c:27017 exists in outcome
     ok 22 - correct server type
     ok 23 - correct setName for server
     ok 24 - correct setName for topology
     ok 25 - correct topology type
     ok 26 - correct ls timeout
     1..26
-ok 40 - rs/normalize_case_me
-# Subtest: rs/discover_primary
+ok 50 - rs/normalize_case_me
+# Subtest: rs/ghost_discovered
     ok 1 - correct amount of servers
-    ok 2 - a:27017 exists in outcome
+    ok 2 - b:27017 exists in outcome
     ok 3 - correct server type
     ok 4 - correct setName for server
-    ok 5 - b:27017 exists in outcome
+    ok 5 - a:27017 exists in outcome
     ok 6 - correct server type
     ok 7 - correct setName for server
     ok 8 - correct setName for topology
     ok 9 - correct topology type
     ok 10 - correct ls timeout
     1..10
-ok 41 - rs/discover_primary
-# Subtest: rs/discovery
-    ok 1 - correct amount of servers
-    ok 2 - c:27017 exists in outcome
-    ok 3 - correct server type
-    ok 4 - correct setName for server
-    ok 5 - b:27017 exists in outcome
-    ok 6 - correct server type
-    ok 7 - correct setName for server
-    ok 8 - a:27017 exists in outcome
-    ok 9 - correct server type
-    ok 10 - correct setName for server
-    ok 11 - correct setName for topology
-    ok 12 - correct topology type
-    ok 13 - correct ls timeout
-    ok 14 - correct amount of servers
-    ok 15 - b:27017 exists in outcome
-    ok 16 - correct server type
-    ok 17 - correct setName for server
-    ok 18 - c:27017 exists in outcome
-    ok 19 - correct server type
-    ok 20 - correct setName for server
-    ok 21 - d:27017 exists in outcome
-    ok 22 - correct server type
-    ok 23 - correct setName for server
-    ok 24 - a:27017 exists in outcome
-    ok 25 - correct server type
-    ok 26 - correct setName for server
-    ok 27 - correct setName for topology
-    ok 28 - correct topology type
-    ok 29 - correct ls timeout
-    ok 30 - correct amount of servers
-    ok 31 - d:27017 exists in outcome
-    ok 32 - correct server type
-    ok 33 - correct setName for server
-    ok 34 - b:27017 exists in outcome
-    ok 35 - correct server type
-    ok 36 - correct setName for server
-    ok 37 - c:27017 exists in outcome
-    ok 38 - correct server type
-    ok 39 - correct setName for server
-    ok 40 - e:27017 exists in outcome
-    ok 41 - correct server type
-    ok 42 - correct setName for server
-    ok 43 - correct setName for topology
-    ok 44 - correct topology type
-    ok 45 - correct ls timeout
-    ok 46 - correct amount of servers
-    ok 47 - e:27017 exists in outcome
-    ok 48 - correct server type
-    ok 49 - correct setName for server
-    ok 50 - c:27017 exists in outcome
-    ok 51 - correct server type
-    ok 52 - correct setName for server
-    ok 53 - b:27017 exists in outcome
-    ok 54 - correct server type
-    ok 55 - correct setName for server
-    ok 56 - d:27017 exists in outcome
-    ok 57 - correct server type
-    ok 58 - correct setName for server
-    ok 59 - correct setName for topology
-    ok 60 - correct topology type
-    ok 61 - correct ls timeout
-    1..61
-ok 42 - rs/discovery
-# Subtest: rs/too_new
+ok 51 - rs/ghost_discovered
+# Subtest: rs/new_primary_wrong_set_name
     ok 1 - correct amount of servers
-    ok 2 - a:27017 exists in outcome
+    ok 2 - b:27017 exists in outcome
     ok 3 - correct server type
     ok 4 - correct setName for server
-    ok 5 - b:27017 exists in outcome
+    ok 5 - a:27017 exists in outcome
     ok 6 - correct server type
     ok 7 - correct setName for server
     ok 8 - correct setName for topology
     ok 9 - correct topology type
     ok 10 - correct ls timeout
-    ok 11 - compatibility correct
-    1..11
-ok 43 - rs/too_new
-# Subtest: rs/response_from_removed
-    ok 1 - correct amount of servers
-    ok 2 - a:27017 exists in outcome
-    ok 3 - correct server type
-    ok 4 - correct setName for server
-    ok 5 - correct setName for topology
-    ok 6 - correct topology type
-    ok 7 - correct ls timeout
-    ok 8 - correct amount of servers
-    ok 9 - a:27017 exists in outcome
-    ok 10 - correct server type
-    ok 11 - correct setName for server
-    ok 12 - correct setName for topology
-    ok 13 - correct topology type
-    ok 14 - correct ls timeout
-    1..14
-ok 44 - rs/response_from_removed
-# Subtest: rs/too_old
+    ok 11 - correct amount of servers
+    ok 12 - a:27017 exists in outcome
+    ok 13 - correct server type
+    ok 14 - correct setName for server
+    ok 15 - correct setName for topology
+    ok 16 - correct topology type
+    ok 17 - correct ls timeout
+    1..17
+ok 52 - rs/new_primary_wrong_set_name
+# Subtest: rs/compatible
     ok 1 - correct amount of servers
     ok 2 - a:27017 exists in outcome
     ok 3 - correct server type
@@ -2919,46 +3120,8 @@
     ok 10 - correct ls timeout
     ok 11 - compatibility correct
     1..11
-ok 45 - rs/too_old
-# Subtest: rs/unexpected_mongos
-    ok 1 - correct amount of servers
-    ok 2 - correct setName for topology
-    ok 3 - correct topology type
-    ok 4 - correct ls timeout
-    1..4
-ok 46 - rs/unexpected_mongos
-# Subtest: rs/primary_changes_set_name
-    ok 1 - correct amount of servers
-    ok 2 - a:27017 exists in outcome
-    ok 3 - correct server type
-    ok 4 - correct setName for server
-    ok 5 - correct setName for topology
-    ok 6 - correct topology type
-    ok 7 - correct ls timeout
-    ok 8 - correct amount of servers
-    ok 9 - correct setName for topology
-    ok 10 - correct topology type
-    ok 11 - correct ls timeout
-    1..11
-ok 47 - rs/primary_changes_set_name
-# Subtest: rs/member_standalone
-    ok 1 - correct amount of servers
-    ok 2 - a:27017 exists in outcome
-    ok 3 - correct server type
-    ok 4 - correct setName for server
-    ok 5 - correct setName for topology
-    ok 6 - correct topology type
-    ok 7 - correct ls timeout
-    ok 8 - correct amount of servers
-    ok 9 - a:27017 exists in outcome
-    ok 10 - correct server type
-    ok 11 - correct setName for server
-    ok 12 - correct setName for topology
-    ok 13 - correct topology type
-    ok 14 - correct ls timeout
-    1..14
-ok 48 - rs/member_standalone
-# Subtest: rs/secondary_wrong_set_name_with_primary
+ok 53 - rs/compatible
+# Subtest: rs/discover_primary
     ok 1 - correct amount of servers
     ok 2 - a:27017 exists in outcome
     ok 3 - correct server type
@@ -2969,16 +3132,9 @@
     ok 8 - correct setName for topology
     ok 9 - correct topology type
     ok 10 - correct ls timeout
-    ok 11 - correct amount of servers
-    ok 12 - a:27017 exists in outcome
-    ok 13 - correct server type
-    ok 14 - correct setName for server
-    ok 15 - correct setName for topology
-    ok 16 - correct topology type
-    ok 17 - correct ls timeout
-    1..17
-ok 49 - rs/secondary_wrong_set_name_with_primary
-# Subtest: rs/wrong_set_name
+    1..10
+ok 54 - rs/discover_primary
+# Subtest: rs/non_rs_member
     ok 1 - correct amount of servers
     ok 2 - a:27017 exists in outcome
     ok 3 - correct server type
@@ -2987,51 +3143,8 @@
     ok 6 - correct topology type
     ok 7 - correct ls timeout
     1..7
-ok 50 - rs/wrong_set_name
-# Subtest: rs/normalize_case
-    ok 1 - correct amount of servers
-    ok 2 - c:27017 exists in outcome
-    ok 3 - correct server type
-    ok 4 - correct setName for server
-    ok 5 - b:27017 exists in outcome
-    ok 6 - correct server type
-    ok 7 - correct setName for server
-    ok 8 - a:27017 exists in outcome
-    ok 9 - correct server type
-    ok 10 - correct setName for server
-    ok 11 - correct setName for topology
-    ok 12 - correct topology type
-    ok 13 - correct ls timeout
-    1..13
-ok 51 - rs/normalize_case
-# Subtest: rs/hosts_differ_from_seeds
-    ok 1 - correct amount of servers
-    ok 2 - b:27017 exists in outcome
-    ok 3 - correct server type
-    ok 4 - correct setName for server
-    ok 5 - correct setName for topology
-    ok 6 - correct topology type
-    ok 7 - correct ls timeout
-    1..7
-ok 52 - rs/hosts_differ_from_seeds
-# Subtest: rs/primary_becomes_ghost
-    ok 1 - correct amount of servers
-    ok 2 - a:27017 exists in outcome
-    ok 3 - correct server type
-    ok 4 - correct setName for server
-    ok 5 - correct setName for topology
-    ok 6 - correct topology type
-    ok 7 - correct ls timeout
-    ok 8 - correct amount of servers
-    ok 9 - a:27017 exists in outcome
-    ok 10 - correct server type
-    ok 11 - correct setName for server
-    ok 12 - correct setName for topology
-    ok 13 - correct topology type
-    ok 14 - correct ls timeout
-    1..14
-ok 53 - rs/primary_becomes_ghost
-# Subtest: rs/setversion_without_electionid
+ok 55 - rs/non_rs_member
+# Subtest: rs/discover_arbiters
     ok 1 - correct amount of servers
     ok 2 - b:27017 exists in outcome
     ok 3 - correct server type
@@ -3042,24 +3155,14 @@
     ok 8 - correct setName for topology
     ok 9 - correct topology type
     ok 10 - correct ls timeout
-    ok 11 - correct amount of servers
-    ok 12 - a:27017 exists in outcome
-    ok 13 - correct server type
-    ok 14 - correct setName for server
-    ok 15 - b:27017 exists in outcome
-    ok 16 - correct server type
-    ok 17 - correct setName for server
-    ok 18 - correct setName for topology
-    ok 19 - correct topology type
-    ok 20 - correct ls timeout
-    1..20
-ok 54 - rs/setversion_without_electionid
-# Subtest: rs/secondary_ignore_ok_0
+    1..10
+ok 56 - rs/discover_arbiters
+# Subtest: rs/primary_disconnect_setversion
     ok 1 - correct amount of servers
-    ok 2 - a:27017 exists in outcome
+    ok 2 - b:27017 exists in outcome
     ok 3 - correct server type
     ok 4 - correct setName for server
-    ok 5 - b:27017 exists in outcome
+    ok 5 - a:27017 exists in outcome
     ok 6 - correct server type
     ok 7 - correct setName for server
     ok 8 - correct setName for topology
@@ -3075,9 +3178,39 @@
     ok 18 - correct setName for topology
     ok 19 - correct topology type
     ok 20 - correct ls timeout
-    1..20
-ok 55 - rs/secondary_ignore_ok_0
-# Subtest: rs/non_rs_member
+    ok 21 - correct amount of servers
+    ok 22 - a:27017 exists in outcome
+    ok 23 - correct server type
+    ok 24 - correct setName for server
+    ok 25 - b:27017 exists in outcome
+    ok 26 - correct server type
+    ok 27 - correct setName for server
+    ok 28 - correct setName for topology
+    ok 29 - correct topology type
+    ok 30 - correct ls timeout
+    ok 31 - correct amount of servers
+    ok 32 - a:27017 exists in outcome
+    ok 33 - correct server type
+    ok 34 - correct setName for server
+    ok 35 - b:27017 exists in outcome
+    ok 36 - correct server type
+    ok 37 - correct setName for server
+    ok 38 - correct setName for topology
+    ok 39 - correct topology type
+    ok 40 - correct ls timeout
+    ok 41 - correct amount of servers
+    ok 42 - a:27017 exists in outcome
+    ok 43 - correct server type
+    ok 44 - correct setName for server
+    ok 45 - b:27017 exists in outcome
+    ok 46 - correct server type
+    ok 47 - correct setName for server
+    ok 48 - correct setName for topology
+    ok 49 - correct topology type
+    ok 50 - correct ls timeout
+    1..50
+ok 57 - rs/primary_disconnect_setversion
+# Subtest: rs/wrong_set_name
     ok 1 - correct amount of servers
     ok 2 - a:27017 exists in outcome
     ok 3 - correct server type
@@ -3086,22 +3219,8 @@
     ok 6 - correct topology type
     ok 7 - correct ls timeout
     1..7
-ok 56 - rs/non_rs_member
-# Subtest: rs/primary_becomes_mongos
-    ok 1 - correct amount of servers
-    ok 2 - a:27017 exists in outcome
-    ok 3 - correct server type
-    ok 4 - correct setName for server
-    ok 5 - correct setName for topology
-    ok 6 - correct topology type
-    ok 7 - correct ls timeout
-    ok 8 - correct amount of servers
-    ok 9 - correct setName for topology
-    ok 10 - correct topology type
-    ok 11 - correct ls timeout
-    1..11
-ok 57 - rs/primary_becomes_mongos
-# Subtest: rs/primary_to_no_primary_mismatched_me
+ok 58 - rs/wrong_set_name
+# Subtest: rs/new_primary
     ok 1 - correct amount of servers
     ok 2 - a:27017 exists in outcome
     ok 3 - correct server type
@@ -3113,228 +3232,70 @@
     ok 9 - correct topology type
     ok 10 - correct ls timeout
     ok 11 - correct amount of servers
-    ok 12 - d:27017 exists in outcome
+    ok 12 - b:27017 exists in outcome
     ok 13 - correct server type
     ok 14 - correct setName for server
-    ok 15 - c:27017 exists in outcome
+    ok 15 - a:27017 exists in outcome
     ok 16 - correct server type
     ok 17 - correct setName for server
     ok 18 - correct setName for topology
     ok 19 - correct topology type
     ok 20 - correct ls timeout
     1..20
-ok 58 - rs/primary_to_no_primary_mismatched_me
-# Subtest: rs/compatible
+ok 59 - rs/new_primary
+# Subtest: rs/equal_electionids
     ok 1 - correct amount of servers
-    ok 2 - a:27017 exists in outcome
+    ok 2 - b:27017 exists in outcome
     ok 3 - correct server type
     ok 4 - correct setName for server
-    ok 5 - b:27017 exists in outcome
+    ok 5 - a:27017 exists in outcome
     ok 6 - correct server type
     ok 7 - correct setName for server
     ok 8 - correct setName for topology
     ok 9 - correct topology type
     ok 10 - correct ls timeout
-    ok 11 - compatibility correct
+    1..10
+ok 60 - rs/equal_electionids
+# Subtest: rs/stepdown_change_set_name
+    ok 1 - correct amount of servers
+    ok 2 - a:27017 exists in outcome
+    ok 3 - correct server type
+    ok 4 - correct setName for server
+    ok 5 - correct setName for topology
+    ok 6 - correct topology type
+    ok 7 - correct ls timeout
+    ok 8 - correct amount of servers
+    ok 9 - correct setName for topology
+    ok 10 - correct topology type
+    ok 11 - correct ls timeout
     1..11
-ok 59 - rs/compatible
-# Subtest: monitoring/standalone
-    ok 1 - topology_open has topologyId that matches topology
-    ok 2 - server_opening has topologyId that matches topology
-    ok 3 - server opening matches
-    ok 4 - topology_description_changed has topologyId that matches topology
-    ok 5 - topology_description_changed previousDescription correct amount of servers
-    ok 6 - topology_description_changed newDescription correct amount of servers
-    ok 7 - previous topology description topologyType matches
-    ok 8 - new topology description topologyType matches
-    ok 9 - server matches in single server comparison
-    ok 10 - server matches in single server comparison
-    ok 11 - server_description_changed has topologyId that matches topology
-    ok 12 - server_description_changed server address matches
-    ok 13 - server matches in single server comparison
-    ok 14 - server matches in single server comparison
-    ok 15 - topology_description_changed has topologyId that matches topology
-    ok 16 - topology_description_changed previousDescription correct amount of servers
-    ok 17 - topology_description_changed newDescription correct amount of servers
-    ok 18 - previous topology description topologyType matches
-    ok 19 - new topology description topologyType matches
-    ok 20 - server matches in single server comparison
-    ok 21 - server matches in single server comparison
-    ok 22 - server matches in single server comparison
-    ok 23 - server matches in single server comparison
-    1..23
-ok 60 - monitoring/standalone
-# Subtest: monitoring/replica_set_with_primary
-    ok 1 - topology_open has topologyId that matches topology
-    ok 2 - server_opening has topologyId that matches topology
-    ok 3 - server opening matches
-    ok 4 - server_opening has topologyId that matches topology
-    ok 5 - server opening matches
-    ok 6 - topology_description_changed has topologyId that matches topology
-    ok 7 - topology_description_changed previousDescription correct amount of servers
-    ok 8 - topology_description_changed newDescription correct amount of servers
-    ok 9 - previous topology description topologyType matches
-    ok 10 - new topology description topologyType matches
-    ok 11 - server matches in single server comparison
-    ok 12 - server matches in single server comparison
-    ok 13 - server matches in single server comparison
-    ok 14 - server matches in single server comparison
-    ok 15 - server_description_changed has topologyId that matches topology
-    ok 16 - server_description_changed server address matches
-    ok 17 - server matches in single server comparison
-    ok 18 - server matches in single server comparison
-    ok 19 - topology_description_changed has topologyId that matches topology
-    ok 20 - topology_description_changed previousDescription correct amount of servers
-    ok 21 - topology_description_changed newDescription correct amount of servers
-    ok 22 - previous topology description topologyType matches
-    ok 23 - new topology description topologyType matches
-    ok 24 - setName matches
-    ok 25 - server matches in single server comparison
-    ok 26 - server matches in single server comparison
-    ok 27 - server matches in single server comparison
-    ok 28 - server matches in single server comparison
-    ok 29 - server matches in single server comparison
-    ok 30 - server matches in single server comparison
-    ok 31 - server matches in single server comparison
-    ok 32 - server matches in single server comparison
-    1..32
-ok 61 - monitoring/replica_set_with_primary
-# Subtest: monitoring/replica_set_with_removal
-    ok 1 - topology_open has topologyId that matches topology
-    ok 2 - server_opening has topologyId that matches topology
-    ok 3 - server opening matches
-    ok 4 - server_opening has topologyId that matches topology
-    ok 5 - server opening matches
-    ok 6 - topology_description_changed has topologyId that matches topology
-    ok 7 - topology_description_changed previousDescription correct amount of servers
-    ok 8 - topology_description_changed newDescription correct amount of servers
-    ok 9 - previous topology description topologyType matches
-    ok 10 - new topology description topologyType matches
-    ok 11 - server matches in single server comparison
-    ok 12 - server matches in single server comparison
-    ok 13 - server matches in single server comparison
-    ok 14 - server matches in single server comparison
-    ok 15 - server_description_changed has topologyId that matches topology
-    ok 16 - server_description_changed server address matches
-    ok 17 - server matches in single server comparison
-    ok 18 - server matches in single server comparison
-    ok 19 - has topologyId that matches topology
-    ok 20 - server closing matches
-    ok 21 - topology_description_changed has topologyId that matches topology
-    ok 22 - topology_description_changed previousDescription correct amount of servers
-    ok 23 - topology_description_changed newDescription correct amount of servers
-    ok 24 - previous topology description topologyType matches
-    ok 25 - new topology description topologyType matches
-    ok 26 - setName matches
-    ok 27 - server matches in single server comparison
-    ok 28 - server matches in single server comparison
-    ok 29 - server matches in single server comparison
-    ok 30 - server matches in single server comparison
-    ok 31 - server matches in single server comparison
-    ok 32 - server matches in single server comparison
-    1..32
-ok 62 - monitoring/replica_set_with_removal
-# Subtest: monitoring/required_replica_set
-    ok 1 - topology_open has topologyId that matches topology
-    ok 2 - server_opening has topologyId that matches topology
-    ok 3 - server opening matches
-    ok 4 - server_opening has topologyId that matches topology
-    ok 5 - server opening matches
-    ok 6 - topology_description_changed has topologyId that matches topology
-    ok 7 - topology_description_changed previousDescription correct amount of servers
-    ok 8 - topology_description_changed newDescription correct amount of servers
-    ok 9 - previous topology description topologyType matches
-    ok 10 - new topology description topologyType matches
-    ok 11 - setName matches
-    ok 12 - server matches in single server comparison
-    ok 13 - server matches in single server comparison
-    ok 14 - server matches in single server comparison
-    ok 15 - server matches in single server comparison
-    ok 16 - server_description_changed has topologyId that matches topology
-    ok 17 - server_description_changed server address matches
-    ok 18 - server matches in single server comparison
-    ok 19 - server matches in single server comparison
-    ok 20 - topology_description_changed has topologyId that matches topology
-    ok 21 - topology_description_changed previousDescription correct amount of servers
-    ok 22 - topology_description_changed newDescription correct amount of servers
-    ok 23 - previous topology description topologyType matches
-    ok 24 - new topology description topologyType matches
-    ok 25 - setName matches
-    ok 26 - setName matches
-    ok 27 - server matches in single server comparison
-    ok 28 - server matches in single server comparison
-    ok 29 - server matches in single server comparison
-    ok 30 - server matches in single server comparison
-    ok 31 - server matches in single server comparison
-    ok 32 - server matches in single server comparison
-    ok 33 - server matches in single server comparison
-    ok 34 - server matches in single server comparison
-    1..34
-ok 63 - monitoring/required_replica_set
-# Subtest: monitoring/replica_set_with_no_primary
-    ok 1 - topology_open has topologyId that matches topology
-    ok 2 - server_opening has topologyId that matches topology
-    ok 3 - server opening matches
-    ok 4 - server_opening has topologyId that matches topology
-    ok 5 - server opening matches
-    ok 6 - topology_description_changed has topologyId that matches topology
-    ok 7 - topology_description_changed previousDescription correct amount of servers
-    ok 8 - topology_description_changed newDescription correct amount of servers
-    ok 9 - previous topology description topologyType matches
-    ok 10 - new topology description topologyType matches
-    ok 11 - server matches in single server comparison
-    ok 12 - server matches in single server comparison
-    ok 13 - server matches in single server comparison
-    ok 14 - server matches in single server comparison
-    ok 15 - server_description_changed has topologyId that matches topology
-    ok 16 - server_description_changed server address matches
-    ok 17 - server matches in single server comparison
-    ok 18 - server matches in single server comparison
-    ok 19 - topology_description_changed has topologyId that matches topology
-    ok 20 - topology_description_changed previousDescription correct amount of servers
-    ok 21 - topology_description_changed newDescription correct amount of servers
-    ok 22 - previous topology description topologyType matches
-    ok 23 - new topology description topologyType matches
-    ok 24 - setName matches
-    ok 25 - server matches in single server comparison
-    ok 26 - server matches in single server comparison
-    ok 27 - server matches in single server comparison
-    ok 28 - server matches in single server comparison
-    ok 29 - server matches in single server comparison
-    ok 30 - server matches in single server comparison
-    ok 31 - server matches in single server comparison
-    ok 32 - server matches in single server comparison
-    1..32
-ok 64 - monitoring/replica_set_with_no_primary
-# Subtest: sharded/ls_timeout_mongos
+ok 61 - rs/stepdown_change_set_name
+# Subtest: rs/secondary_wrong_set_name_with_primary
     ok 1 - correct amount of servers
-    ok 2 - b:27017 exists in outcome
+    ok 2 - a:27017 exists in outcome
     ok 3 - correct server type
     ok 4 - correct setName for server
-    ok 5 - a:27017 exists in outcome
+    ok 5 - b:27017 exists in outcome
     ok 6 - correct server type
     ok 7 - correct setName for server
     ok 8 - correct setName for topology
     ok 9 - correct topology type
     ok 10 - correct ls timeout
     ok 11 - correct amount of servers
-    ok 12 - b:27017 exists in outcome
+    ok 12 - a:27017 exists in outcome
     ok 13 - correct server type
     ok 14 - correct setName for server
-    ok 15 - a:27017 exists in outcome
-    ok 16 - correct server type
-    ok 17 - correct setName for server
-    ok 18 - correct setName for topology
-    ok 19 - correct topology type
-    ok 20 - correct ls timeout
-    1..20
-ok 65 - sharded/ls_timeout_mongos
-# Subtest: sharded/mongos_disconnect
+    ok 15 - correct setName for topology
+    ok 16 - correct topology type
+    ok 17 - correct ls timeout
+    1..17
+ok 62 - rs/secondary_wrong_set_name_with_primary
+# Subtest: rs/new_primary_new_electionid
     ok 1 - correct amount of servers
-    ok 2 - a:27017 exists in outcome
+    ok 2 - b:27017 exists in outcome
     ok 3 - correct server type
     ok 4 - correct setName for server
-    ok 5 - b:27017 exists in outcome
+    ok 5 - a:27017 exists in outcome
     ok 6 - correct server type
     ok 7 - correct setName for server
     ok 8 - correct setName for topology
@@ -3351,31 +3312,62 @@
     ok 19 - correct topology type
     ok 20 - correct ls timeout
     ok 21 - correct amount of servers
-    ok 22 - a:27017 exists in outcome
+    ok 22 - b:27017 exists in outcome
     ok 23 - correct server type
     ok 24 - correct setName for server
-    ok 25 - b:27017 exists in outcome
+    ok 25 - a:27017 exists in outcome
     ok 26 - correct server type
     ok 27 - correct setName for server
     ok 28 - correct setName for topology
     ok 29 - correct topology type
     ok 30 - correct ls timeout
     1..30
-ok 66 - sharded/mongos_disconnect
-# Subtest: sharded/too_new
+ok 63 - rs/new_primary_new_electionid
+# Subtest: rs/rsother_discovered
     ok 1 - correct amount of servers
-    ok 2 - a:27017 exists in outcome
+    ok 2 - c:27017 exists in outcome
     ok 3 - correct server type
     ok 4 - correct setName for server
-    ok 5 - b:27017 exists in outcome
+    ok 5 - d:27017 exists in outcome
+    ok 6 - correct server type
+    ok 7 - correct setName for server
+    ok 8 - b:27017 exists in outcome
+    ok 9 - correct server type
+    ok 10 - correct setName for server
+    ok 11 - a:27017 exists in outcome
+    ok 12 - correct server type
+    ok 13 - correct setName for server
+    ok 14 - correct setName for topology
+    ok 15 - correct topology type
+    ok 16 - correct ls timeout
+    1..16
+ok 64 - rs/rsother_discovered
+# Subtest: sharded/normalize_uri_case
+    ok 1 - correct amount of servers
+    ok 2 - b:27017 exists in outcome
+    ok 3 - correct server type
+    ok 4 - correct setName for server
+    ok 5 - a:27017 exists in outcome
     ok 6 - correct server type
     ok 7 - correct setName for server
     ok 8 - correct setName for topology
     ok 9 - correct topology type
     ok 10 - correct ls timeout
-    ok 11 - compatibility correct
-    1..11
-ok 67 - sharded/too_new
+    1..10
+ok 65 - sharded/normalize_uri_case
+# Subtest: sharded/multiple_mongoses
+    ok 1 - correct amount of servers
+    ok 2 - b:27017 exists in outcome
+    ok 3 - correct server type
+    ok 4 - correct setName for server
+    ok 5 - a:27017 exists in outcome
+    ok 6 - correct server type
+    ok 7 - correct setName for server
+    ok 8 - correct setName for topology
+    ok 9 - correct topology type
+    ok 10 - correct ls timeout
+    1..10
+ok 66 - sharded/multiple_mongoses
 # Subtest: sharded/too_old
     ok 1 - correct amount of servers
     ok 2 - b:27017 exists in outcome
@@ -3389,18 +3381,22 @@
     ok 10 - correct ls timeout
     ok 11 - compatibility correct
     1..11
-ok 68 - sharded/too_old
-# Subtest: sharded/non_mongos_removed
+ok 67 - sharded/too_old
+# Subtest: sharded/too_new
     ok 1 - correct amount of servers
-    ok 2 - a:27017 exists in outcome
+    ok 2 - b:27017 exists in outcome
     ok 3 - correct server type
     ok 4 - correct setName for server
-    ok 5 - correct setName for topology
-    ok 6 - correct topology type
-    ok 7 - correct ls timeout
-    1..7
-ok 69 - sharded/non_mongos_removed
-# Subtest: sharded/multiple_mongoses
+    ok 5 - a:27017 exists in outcome
+    ok 6 - correct server type
+    ok 7 - correct setName for server
+    ok 8 - correct setName for topology
+    ok 9 - correct topology type
+    ok 10 - correct ls timeout
+    ok 11 - compatibility correct
+    1..11
+ok 68 - sharded/too_new
+# Subtest: sharded/compatible
     ok 1 - correct amount of servers
     ok 2 - a:27017 exists in outcome
     ok 3 - correct server type
@@ -3411,35 +3407,75 @@
     ok 8 - correct setName for topology
     ok 9 - correct topology type
     ok 10 - correct ls timeout
-    1..10
-ok 70 - sharded/multiple_mongoses
-# Subtest: sharded/normalize_uri_case
+    ok 11 - compatibility correct
+    1..11
+ok 69 - sharded/compatible
+# Subtest: sharded/ls_timeout_mongos
     ok 1 - correct amount of servers
-    ok 2 - a:27017 exists in outcome
+    ok 2 - b:27017 exists in outcome
     ok 3 - correct server type
     ok 4 - correct setName for server
-    ok 5 - b:27017 exists in outcome
+    ok 5 - a:27017 exists in outcome
     ok 6 - correct server type
     ok 7 - correct setName for server
     ok 8 - correct setName for topology
     ok 9 - correct topology type
     ok 10 - correct ls timeout
-    1..10
-ok 71 - sharded/normalize_uri_case
-# Subtest: sharded/compatible
+    ok 11 - correct amount of servers
+    ok 12 - a:27017 exists in outcome
+    ok 13 - correct server type
+    ok 14 - correct setName for server
+    ok 15 - b:27017 exists in outcome
+    ok 16 - correct server type
+    ok 17 - correct setName for server
+    ok 18 - correct setName for topology
+    ok 19 - correct topology type
+    ok 20 - correct ls timeout
+    1..20
+ok 70 - sharded/ls_timeout_mongos
+# Subtest: sharded/non_mongos_removed
     ok 1 - correct amount of servers
     ok 2 - a:27017 exists in outcome
     ok 3 - correct server type
     ok 4 - correct setName for server
-    ok 5 - b:27017 exists in outcome
+    ok 5 - correct setName for topology
+    ok 6 - correct topology type
+    ok 7 - correct ls timeout
+    1..7
+ok 71 - sharded/non_mongos_removed
+# Subtest: sharded/mongos_disconnect
+    ok 1 - correct amount of servers
+    ok 2 - b:27017 exists in outcome
+    ok 3 - correct server type
+    ok 4 - correct setName for server
+    ok 5 - a:27017 exists in outcome
     ok 6 - correct server type
     ok 7 - correct setName for server
     ok 8 - correct setName for topology
     ok 9 - correct topology type
     ok 10 - correct ls timeout
-    ok 11 - compatibility correct
-    1..11
-ok 72 - sharded/compatible
+    ok 11 - correct amount of servers
+    ok 12 - b:27017 exists in outcome
+    ok 13 - correct server type
+    ok 14 - correct setName for server
+    ok 15 - a:27017 exists in outcome
+    ok 16 - correct server type
+    ok 17 - correct setName for server
+    ok 18 - correct setName for topology
+    ok 19 - correct topology type
+    ok 20 - correct ls timeout
+    ok 21 - correct amount of servers
+    ok 22 - a:27017 exists in outcome
+    ok 23 - correct server type
+    ok 24 - correct setName for server
+    ok 25 - b:27017 exists in outcome
+    ok 26 - correct server type
+    ok 27 - correct setName for server
+    ok 28 - correct setName for topology
+    ok 29 - correct topology type
+    ok 30 - correct ls timeout
+    1..30
+ok 72 - sharded/mongos_disconnect
 1..72
 ok
 t/sessions-cursors.t ....................... skipped: no mongod on 127.0.0.1:12345
@@ -3892,131 +3928,63 @@
     ok 7 - Invalid journal causes a warning
     1..7
 ok 2 - concern-options.json
-# Subtest: auth-options.json
-    # Subtest: Valid auth options are parsed correctly
-        ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
-        ok 2 - should not throw exception
-        ok 3 - URI has no warnings
-        1..3
-    ok 1 - Valid auth options are parsed correctly
-    1..1
-ok 3 - auth-options.json
-# Subtest: general.json
-    # Subtest: no options
-        ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
-        ok 2 - should not throw exception
-        ok 3 - URI has no warnings
-        1..3
-    ok 1 - no options
-    # Subtest: no options with trailing question mark
-        ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
-        ok 2 - should not throw exception
-        ok 3 - URI has no warnings
-        1..3
-    ok 2 - no options with trailing question mark
-    # Subtest: no options with trailing question mark and ampersand
-        ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
-        ok 2 - should not throw exception
-        ok 3 - URI has no warnings
-        1..3
-    ok 3 - no options with trailing question mark and ampersand
-    # Subtest: single option
-        ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
-        ok 2 - should not throw exception
-        ok 3 - URI has no warnings
-        1..3
-    ok 4 - single option
-    # Subtest: multiple options
-        ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
-        ok 2 - should not throw exception
-        ok 3 - URI has no warnings
-        1..3
-    ok 5 - multiple options
-    # Subtest: multiple options with mixed case
-        ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
-        ok 2 - should not throw exception
-        ok 3 - URI has no warnings
-        1..3
-    ok 6 - multiple options with mixed case
-    # Subtest: percent encoded option
+# Subtest: compression-options.json
+    # Subtest: Valid compression options are parsed correctly
         ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
         ok 2 - should not throw exception
         ok 3 - URI has no warnings
         1..3
-    ok 7 - percent encoded option
-    # Subtest: options with empty option value
+    ok 1 - Valid compression options are parsed correctly
+    # Subtest: Multiple compressors are parsed correctly
         ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
         ok 2 - should not throw exception
         ok 3 - URI has no warnings
         1..3
-    ok 8 - options with empty option value
-    # Subtest: no equals sign in option
-        ok 1 - should throw exception
-        1..1
-    ok 9 - no equals sign in option
-    # Subtest: extra equals signs at start of option value
-        ok 1 - should throw exception
-        1..1
-    ok 10 - extra equals signs at start of option value
-    # Subtest: extra equals signs at end of option value
-        ok 1 - should throw exception
-        1..1
-    ok 11 - extra equals signs at end of option value
-    # Subtest: equals signs at beginning and end of option value
-        ok 1 - should throw exception
-        1..1
-    ok 12 - equals signs at beginning and end of option value
-    # Subtest: option value of equals sign
-        ok 1 - should throw exception
-        1..1
-    ok 13 - option value of equals sign
-    # Subtest: warning for unknown1 option
+    ok 2 - Multiple compressors are parsed correctly
+    # Subtest: Non-numeric zlibCompressionLevel causes a warning
         ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
         ok 2 - should not throw exception
         ok 3 - URI has warnings
         1..3
-    ok 14 - warning for unknown1 option
-    # Subtest: options with warnings
+    ok 3 - Non-numeric zlibCompressionLevel causes a warning
+    # Subtest: Too low zlibCompressionLevel causes a warning
         ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
         ok 2 - should not throw exception
         ok 3 - URI has warnings
         1..3
-    ok 15 - options with warnings
-    # Subtest: no warning for duplicate option of list type
+    ok 4 - Too low zlibCompressionLevel causes a warning
+    # Subtest: Too high zlibCompressionLevel causes a warning
         ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
         ok 2 - should not throw exception
-        ok 3 - URI has no warnings
+        ok 3 - URI has warnings
         1..3
-    ok 16 - no warning for duplicate option of list type
-    1..16
-ok 4 - general.json
-# Subtest: read-preference-options.json
-    # Subtest: Valid read preference options are parsed correctly
+    ok 5 - Too high zlibCompressionLevel causes a warning
+    1..5
+ok 3 - compression-options.json
+# Subtest: single-threaded-options.json
+    # Subtest: Valid options specific to single-threaded drivers are parsed correctly
         ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
         ok 2 - should not throw exception
         ok 3 - URI has no warnings
         1..3
-    ok 1 - Valid read preference options are parsed correctly
-    # Subtest: Invalid readPreferenceTags causes a warning
-        ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
-        ok 2 - should not throw exception
-        ok 3 - URI has warnings
-        1..3
-    ok 2 - Invalid readPreferenceTags causes a warning
-    # Subtest: Non-numeric maxStalenessSeconds causes a warning
+    ok 1 - Valid options specific to single-threaded drivers are parsed correctly
+    # Subtest: Invalid serverSelectionTryOnce causes a warning
         ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
         ok 2 - should not throw exception
         ok 3 - URI has warnings
         1..3
-    ok 3 - Non-numeric maxStalenessSeconds causes a warning
-    # Subtest: Too low maxStalenessSeconds causes a warning
+    ok 2 - Invalid serverSelectionTryOnce causes a warning
+    1..2
+ok 4 - single-threaded-options.json
+# Subtest: auth-options.json
+    # Subtest: Valid auth options are parsed correctly
         ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
         ok 2 - should not throw exception
-        ok 3 - URI has warnings
+        ok 3 - URI has no warnings
         1..3
-    ok 4 - Too low maxStalenessSeconds causes a warning
-    1..4
-ok 5 - read-preference-options.json
+    ok 1 - Valid auth options are parsed correctly
+    1..1
+ok 5 - auth-options.json
 # Subtest: tls-options.json
     # Subtest: Valid required tls options are parsed correctly
         ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
@@ -4140,54 +4108,33 @@
     ok 24 - ssl=true and tls=false raises error
     1..24
 ok 6 - tls-options.json
-# Subtest: compression-options.json
-    # Subtest: Valid compression options are parsed correctly
-        ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
-        ok 2 - should not throw exception
-        ok 3 - URI has no warnings
-        1..3
-    ok 1 - Valid compression options are parsed correctly
-    # Subtest: Multiple compressors are parsed correctly
+# Subtest: read-preference-options.json
+    # Subtest: Valid read preference options are parsed correctly
         ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
         ok 2 - should not throw exception
         ok 3 - URI has no warnings
         1..3
-    ok 2 - Multiple compressors are parsed correctly
-    # Subtest: Non-numeric zlibCompressionLevel causes a warning
-        ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
-        ok 2 - should not throw exception
-        ok 3 - URI has warnings
-        1..3
-    ok 3 - Non-numeric zlibCompressionLevel causes a warning
-    # Subtest: Too low zlibCompressionLevel causes a warning
+    ok 1 - Valid read preference options are parsed correctly
+    # Subtest: Invalid readPreferenceTags causes a warning
         ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
         ok 2 - should not throw exception
         ok 3 - URI has warnings
         1..3
-    ok 4 - Too low zlibCompressionLevel causes a warning
-    # Subtest: Too high zlibCompressionLevel causes a warning
+    ok 2 - Invalid readPreferenceTags causes a warning
+    # Subtest: Non-numeric maxStalenessSeconds causes a warning
         ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
         ok 2 - should not throw exception
         ok 3 - URI has warnings
         1..3
-    ok 5 - Too high zlibCompressionLevel causes a warning
-    1..5
-ok 7 - compression-options.json
-# Subtest: single-threaded-options.json
-    # Subtest: Valid options specific to single-threaded drivers are parsed correctly
-        ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
-        ok 2 - should not throw exception
-        ok 3 - URI has no warnings
-        1..3
-    ok 1 - Valid options specific to single-threaded drivers are parsed correctly
-    # Subtest: Invalid serverSelectionTryOnce causes a warning
+    ok 3 - Non-numeric maxStalenessSeconds causes a warning
+    # Subtest: Too low maxStalenessSeconds causes a warning
         ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
         ok 2 - should not throw exception
         ok 3 - URI has warnings
         1..3
-    ok 2 - Invalid serverSelectionTryOnce causes a warning
-    1..2
-ok 8 - single-threaded-options.json
+    ok 4 - Too low maxStalenessSeconds causes a warning
+    1..4
+ok 7 - read-preference-options.json
 # Subtest: connection-options.json
     # Subtest: Valid connection and timeout options are parsed correctly
         ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
@@ -4262,7 +4209,96 @@
         1..3
     ok 12 - Too low socketTimeoutMS causes a warning
     1..12
-ok 9 - connection-options.json
+ok 8 - connection-options.json
+# Subtest: general.json
+    # Subtest: no options
+        ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
+        ok 2 - should not throw exception
+        ok 3 - URI has no warnings
+        1..3
+    ok 1 - no options
+    # Subtest: no options with trailing question mark
+        ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
+        ok 2 - should not throw exception
+        ok 3 - URI has no warnings
+        1..3
+    ok 2 - no options with trailing question mark
+    # Subtest: no options with trailing question mark and ampersand
+        ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
+        ok 2 - should not throw exception
+        ok 3 - URI has no warnings
+        1..3
+    ok 3 - no options with trailing question mark and ampersand
+    # Subtest: single option
+        ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
+        ok 2 - should not throw exception
+        ok 3 - URI has no warnings
+        1..3
+    ok 4 - single option
+    # Subtest: multiple options
+        ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
+        ok 2 - should not throw exception
+        ok 3 - URI has no warnings
+        1..3
+    ok 5 - multiple options
+    # Subtest: multiple options with mixed case
+        ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
+        ok 2 - should not throw exception
+        ok 3 - URI has no warnings
+        1..3
+    ok 6 - multiple options with mixed case
+    # Subtest: percent encoded option
+        ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
+        ok 2 - should not throw exception
+        ok 3 - URI has no warnings
+        1..3
+    ok 7 - percent encoded option
+    # Subtest: options with empty option value
+        ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
+        ok 2 - should not throw exception
+        ok 3 - URI has no warnings
+        1..3
+    ok 8 - options with empty option value
+    # Subtest: no equals sign in option
+        ok 1 - should throw exception
+        1..1
+    ok 9 - no equals sign in option
+    # Subtest: extra equals signs at start of option value
+        ok 1 - should throw exception
+        1..1
+    ok 10 - extra equals signs at start of option value
+    # Subtest: extra equals signs at end of option value
+        ok 1 - should throw exception
+        1..1
+    ok 11 - extra equals signs at end of option value
+    # Subtest: equals signs at beginning and end of option value
+        ok 1 - should throw exception
+        1..1
+    ok 12 - equals signs at beginning and end of option value
+    # Subtest: option value of equals sign
+        ok 1 - should throw exception
+        1..1
+    ok 13 - option value of equals sign
+    # Subtest: warning for unknown1 option
+        ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
+        ok 2 - should not throw exception
+        ok 3 - URI has warnings
+        1..3
+    ok 14 - warning for unknown1 option
+    # Subtest: options with warnings
+        ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
+        ok 2 - should not throw exception
+        ok 3 - URI has warnings
+        1..3
+    ok 15 - options with warnings
+    # Subtest: no warning for duplicate option of list type
+        ok 1 - An object of class 'MongoDB::_URI' isa 'MongoDB::_URI'
+        ok 2 - should not throw exception
+        ok 3 - URI has no warnings
+        1..3
+    ok 16 - no warning for duplicate option of list type
+    1..16
+ok 9 - general.json
 1..9
 ok
 t/unit/uri_srv.t ........................... 
@@ -4296,7 +4332,7 @@
 1..3
 ok
 All tests successful.
-Files=71, Tests=199, 569 wallclock secs ( 0.42 usr  0.14 sys + 52.06 cusr  3.40 csys = 56.02 CPU)
+Files=71, Tests=199, 640 wallclock secs ( 0.50 usr  0.12 sys + 99.56 cusr  9.92 csys = 110.10 CPU)
 Result: PASS
 make[2]: Leaving directory '/build/reproducible-path/libmongodb-perl-2.2.2'
 # The server process might not have actually started
@@ -4305,144 +4341,144 @@
    create-stamp debian/debhelper-build-stamp
    dh_prep
    dh_auto_install --destdir=debian/libmongodb-perl/
-	make -j22 install DESTDIR=/build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl AM_UPDATE_INFO_DIR=no PREFIX=/usr
+	make -j10 install DESTDIR=/build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl AM_UPDATE_INFO_DIR=no PREFIX=/usr
 make[1]: Entering directory '/build/reproducible-path/libmongodb-perl-2.2.2'
 Manifying 35 pod documents
 Manifying 3 pod documents
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Database.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/DBRef.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/_Constants.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Timestamp.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/_Topology.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/BulkWriteResult.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/IndexView.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/_Platform.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Error.pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/WriteConcern.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/DBRef.pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/UpdateResult.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/IndexView.pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/BulkWriteView.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Upgrading.pod
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/_ServerSession.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Collection.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/_URI.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/_Server.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/ReadPreference.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/InsertManyResult.pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/UnacknowledgedResult.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/_SessionPool.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/_Platform.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/BulkWriteResult.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/_Protocol.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/_Dispatcher.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Tutorial.pod
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/OID.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Database.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/_TransactionOptions.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/CommandResult.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/ClientSession.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Monitoring.pod
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/QueryResult.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/_Dispatcher.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Code.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/InsertOneResult.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/BulkWrite.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Upgrading.pod
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/ReadConcern.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/DeleteResult.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/DataTypes.pod
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/_Types.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/ClientSession.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/_URI.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/_TransactionOptions.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/_SessionPool.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/OID.pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Examples.pod
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/ReadConcern.pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/_Credential.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Collection.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/_Constants.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Cursor.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/_Server.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/BulkWrite.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/_ServerSession.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/_Topology.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Monitoring.pod
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/MongoClient.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/_Link.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Error.pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/ChangeStream.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Timestamp.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Code.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/DataTypes.pod
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/_Link.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/MongoClient.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/_Protocol.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Tutorial.pod
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/GridFSBucket.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/InsertOneResult.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/InsertManyResult.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/ReadPreference.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/CommandResult.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/DeleteResult.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Cursor.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_TopologyMonitoring.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_OpReplyParser.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_WriteResult.pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_WriteOp.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_PrivateConstructor.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_CommandCursorOp.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_SingleBatchDocWrite.pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_InsertPreEncoder.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_ReadPrefModifier.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_CollectionOp.pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_UpdatePreEncoder.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_SingleBatchDocWrite.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_OpReplyParser.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_CursorAPI.pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_CommandMonitoring.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_SessionSupport.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_DatabaseErrorThrower.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_DatabaseOp.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_DeprecationWarner.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_TopologyMonitoring.pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_BypassValidation.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_WriteResult.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_CommandCursorOp.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_CollectionOp.pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_ReadOp.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_ReadPrefModifier.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_CursorAPI.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Upgrading/v1.pod
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_Count.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_Query.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_DatabaseErrorThrower.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_PrivateConstructor.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_DeprecationWarner.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_SessionSupport.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Role/_DatabaseOp.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/BSON/Regexp.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/BSON/Binary.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_InsertOne.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_Distinct.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_DropIndexes.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_ParallelScan.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_ChangeStream.pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_EndTxn.pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_Update.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_RenameCollection.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_ListIndexes.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_GetMore.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_FSyncUnlock.pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_Explain.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_DropIndexes.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_KillCursors.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_ListCollections.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_Delete.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_InsertOne.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_DropDatabase.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_ChangeStream.pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_Aggregate.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_RenameCollection.pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_FindAndUpdate.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_FindAndDelete.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_ParallelScan.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_GetMore.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_CreateIndexes.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_Delete.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_KillCursors.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_Count.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_Query.pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_Command.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_Distinct.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_FSyncUnlock.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_DropCollection.pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_BatchInsert.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_DropDatabase.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_DropCollection.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_ListIndexes.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_FindAndDelete.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_ListCollections.pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_BulkWrite.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Op/_CreateIndexes.pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/Upgrading/v1.pod
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/GridFSBucket/UploadStream.pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/GridFSBucket/DownloadStream.pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/QueryResult/Filtered.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/BSON/Binary.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/perl5/MongoDB/BSON/Regexp.pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::Database.3pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::DeleteResult.3pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::Code.3pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::QueryResult::Filtered.3pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::BulkWrite.3pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::UpdateResult.3pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::QueryResult.3pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::ReadConcern.3pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::GridFSBucket::DownloadStream.3pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::Tutorial.3pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::BulkWriteView.3pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::Timestamp.3pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::ChangeStream.3pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::BSON::Regexp.3pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB.3pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::Upgrading::v1.3pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::GridFSBucket::UploadStream.3pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::Examples.3pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::BulkWriteResult.3pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::ReadPreference.3pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::UnacknowledgedResult.3pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::Cursor.3pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::Error.3pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::BSON::Binary.3pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::MongoClient.3pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::Upgrading.3pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::DBRef.3pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB.3pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::GridFSBucket.3pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::Collection.3pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::QueryResult::Filtered.3pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::ReadPreference.3pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::GridFSBucket::DownloadStream.3pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::Timestamp.3pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::Upgrading::v1.3pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::InsertManyResult.3pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::Monitoring.3pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::Cursor.3pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::ChangeStream.3pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::BulkWriteView.3pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::Database.3pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::ClientSession.3pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::WriteConcern.3pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::InsertOneResult.3pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::Collection.3pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::MongoClient.3pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::DeleteResult.3pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::OID.3pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::ReadConcern.3pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::BulkWriteResult.3pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::Upgrading.3pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::DataTypes.3pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::Error.3pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::GridFSBucket::UploadStream.3pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::BSON::Regexp.3pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::UpdateResult.3pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::IndexView.3pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::Monitoring.3pm
 Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::CommandResult.3pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::DBRef.3pm
-Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::OID.3pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::Code.3pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::UnacknowledgedResult.3pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::QueryResult.3pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::Tutorial.3pm
+Installing /build/reproducible-path/libmongodb-perl-2.2.2/debian/libmongodb-perl/usr/share/man/man3/MongoDB::InsertOneResult.3pm
 make[1]: Leaving directory '/build/reproducible-path/libmongodb-perl-2.2.2'
    dh_installdocs
    dh_installchangelogs
@@ -4465,12 +4501,14 @@
 dpkg-buildpackage: info: binary-only upload (no source included)
 dpkg-genchanges: info: not including original source code in upload
 I: copying local configuration
+I: user script /srv/workspace/pbuilder/40918/tmp/hooks/B01_cleanup starting
+I: user script /srv/workspace/pbuilder/40918/tmp/hooks/B01_cleanup finished
 I: unmounting dev/ptmx filesystem
 I: unmounting dev/pts filesystem
 I: unmounting dev/shm filesystem
 I: unmounting proc filesystem
 I: unmounting sys filesystem
 I: cleaning the build env 
-I: removing directory /srv/workspace/pbuilder/29545 and its subdirectories
-I: Current time: Wed Jan 28 06:54:17 -12 2026
-I: pbuilder-time-stamp: 1769626457
+I: removing directory /srv/workspace/pbuilder/40918 and its subdirectories
+I: Current time: Fri Dec 27 02:43:36 +14 2024
+I: pbuilder-time-stamp: 1735217016