[CXX-2301] Support Parallel Test Execution Created: 14/Jul/21  Updated: 08/Feb/23

Status: Backlog
Project: C++ Driver
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Unknown
Reporter: Colby Pike Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Epic Link: CXX Driver Testing (Evergreen)

 Description   

The driver's automated tests often execute against a running server instance, and tests often access external resources (i.e. databases, collections, files) by the same name. When tests are executed in parallel (As with ctest -jN), the tests will contend with each other on accessing these resources and cause each other to fail. Tests should either:

  • Each access separate resources so as not to contend and allow parallel execution, or
  • Declare their intention to use a resource exclusively via CMake's RESOURCE_LOCK and/or RESOURCE_GROUPS test properties.

A simple way to address the former is to have a test mangle the name of the database it uses within a server instance.



 Comments   
Comment by Githook User [ 21/Sep/21 ]

Author:

{'name': 'vector-of-bool', 'email': 'vectorofbool@gmail.com', 'username': 'vector-of-bool'}

Message: Allow CTest as a test driver (#870)

  • Allow fine-grained test control via CTest

Previously, a single test was defined for test-libmongoc.
This change allows CTest to see the individual test cases
contained within test-libmongoc. These can be selected
and executed with the CTest CLI, including with
some parallelism.

Tag CXX-2301 CXX-2302

  • Fix duplicate test registration
  • Use a signal handler to see abnormal termination.
Generated at Wed Feb 07 22:05:29 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.