<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 22:04:51 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[CXX-2087] Implement All Relevant Spec Tests</title>
                <link>https://jira.mongodb.org/browse/CXX-2087</link>
                <project id="11980" key="CXX">C++ Driver</project>
                    <description>&lt;p&gt;&lt;b&gt;Motivation&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;The C++ driver has historically chosen not to implement all spec tests, and instead rely on the C driver&apos;s existing testing. However, there is value in implementing all spec tests, even if there is a bit of redundancy.&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;It&apos;s not always clear which tests are implemented and why. In general the C++ driver relies on the C driver for much of the behavior, but there are exceptions (e.g. GridFS). By implementing all test runners, there&apos;d be no question about which specification tests to run.&lt;/li&gt;
	&lt;li&gt;Swift has caught bugs / unexpected behavior in libmongoc when implementing spec tests (e.g. &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-3130&quot; title=&quot;Allow specification of minHeartbeatFrequencyMS for wrapping drivers&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-3130&quot;&gt;CDRIVER-3130&lt;/a&gt;,&#160;&lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-3147&quot; title=&quot;CodeNames for command errors not reported in reply of write operations&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-3147&quot;&gt;CDRIVER-3147&lt;/a&gt;)&lt;/li&gt;
	&lt;li&gt;If the C++ driver does in the future remove the dependency of libbson/libmongoc, the testing will already be in place to enable such a transition.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;b&gt;Scope&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Implement test runners for the following spec tests (specifications directory/file in parenthesis):&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Auth tests (source/auth/tests)&lt;/li&gt;
	&lt;li&gt;BSON corpus tests (source/bson-corpus/tests)&lt;/li&gt;
	&lt;li&gt;Causal consistency prose tests (causal-consistency/causal-consistency.rst)&lt;/li&gt;
	&lt;li&gt;Connection string (source/connection-string)&lt;/li&gt;
	&lt;li&gt;Connections survive step down (source/connections-survive-step-down/tests)&lt;/li&gt;
	&lt;li&gt;Initial DNS seedlist discovery (source/initial-dns-seedlist-discovery/tests)&lt;/li&gt;
	&lt;li&gt;Max staleness (source/max-staleness/tests)&lt;/li&gt;
	&lt;li&gt;OCSP (source/ocsp-support/tests)&lt;/li&gt;
	&lt;li&gt;Retryable writes (source/retryable-writes/tests)&lt;/li&gt;
	&lt;li&gt;Server discovery and monitoring (source/server-discovery-and-monitoring/tests)&lt;/li&gt;
	&lt;li&gt;Server selection (source/server-selection/tests)&lt;/li&gt;
	&lt;li&gt;Sessions (source/sessions/tests)&lt;/li&gt;
	&lt;li&gt;URI options (source/uri-options/tests)&lt;br/&gt;
&#160;&lt;br/&gt;
It may be best to wait until the Unified Test Format project is complete, as that may simplify many of the existing test formats. &lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
        <key id="1433868">CXX-2087</key>
            <summary>Implement All Relevant Spec Tests</summary>
                <type id="11" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14707&amp;avatarType=issuetype">Epic</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="10038" iconUrl="https://jira.mongodb.org/images/icons/subtask.gif" description="">Backlog</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="alexander.golin@mongodb.com">Alexander Golin</reporter>
                        <labels>
                    </labels>
                <created>Thu, 6 Aug 2020 17:19:01 +0000</created>
                <updated>Wed, 31 Jan 2024 16:14:02 +0000</updated>
                                                                                                <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="5765687" author="kevin.albertson" created="Mon, 9 Oct 2023 20:37:01 +0000"  >&lt;p&gt;When starting this project, consider implementing only the tests where the C++ driver includes code separate from the C driver to fully implement the feature. Adding the test runners may add significant maintenance work to update tests and ensure tests pass in CI.&lt;/p&gt;

&lt;p&gt;Testing features entirely handled in the C driver (example: OCSP) may not provide much value. Features have C++ driver API (example: Sessions) or integration code may provide value to test.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="1465977">CXX-2108</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2114424">CXX-2566</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1821011">CXX-2309</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="1845774">CXX-2343</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1612315">CXX-2174</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10860" key="com.pyxis.greenhopper.jira:gh-epic-color">
                        <customfieldname>Epic Colour</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>ghx-label-9</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10858" key="com.pyxis.greenhopper.jira:gh-epic-label">
                        <customfieldname>Epic Name</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Implement All Spec Tests</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10859" key="com.pyxis.greenhopper.jira:gh-epic-status">
                        <customfieldname>Epic Status</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10640"><![CDATA[To Do]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_21553" key="com.atlassian.jira.plugin.system.customfieldtypes:labels">
                        <customfieldname>Quarter</customfieldname>
                        <customfieldvalues>
                                        <label>FY25Q2</label>
    
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hxlqj3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    </customfields>
    </item>
</channel>
</rss>