-
Type: Bug
-
Resolution: Fixed
-
Priority: Blocker - P1
-
Affects Version/s: None
-
Component/s: Testing Infrastructure
-
Fully Compatible
-
ALL
-
TIG 2018-04-09
The changes from 7585ab8 as part of backporting SERVER-32691 to the 3.4 branch introduce a bug where test suites using the interface.Fixture class (i.e. test suites which start their own MongoDB deployment) raise a NotImplementedError exception in their get_driver_connection_url() method. This exception is then caught and then signals to the other resmoke.py job threads they should stop running; however, because no test was ever started (i.e. TestReport.startTest() is where the exception was raised), resmoke.py exits with a return code of 0 after all of this is done. In particular, TestReport.wasSuccessful() returns true if no tests have been run.
- https://github.com/mongodb/mongo/blob/7585ab8e5a5fd1b1c2f5926a98cf12387d717fa9/buildscripts/resmokelib/testing/executor.py#L107-L108
- https://github.com/mongodb/mongo/blob/7585ab8e5a5fd1b1c2f5926a98cf12387d717fa9/buildscripts/resmoke.py#L184-L186
[2018/03/22 22:40:33.612] [executor:js_test:job0] 2018-03-22T22:40:33.607+0000 Encountered an error during test execution. [2018/03/22 22:40:33.612] Traceback (most recent call last): [2018/03/22 22:40:33.612] File "/data/mci/9a84463eb6fc41dd975b69aad20bdd86/src/buildscripts/resmokelib/testing/job.py", line 45, in __call__ [2018/03/22 22:40:33.612] self._run(queue, interrupt_flag) [2018/03/22 22:40:33.612] File "/data/mci/9a84463eb6fc41dd975b69aad20bdd86/src/buildscripts/resmokelib/testing/job.py", line 85, in _run [2018/03/22 22:40:33.612] self._execute_test(test) [2018/03/22 22:40:33.612] File "/data/mci/9a84463eb6fc41dd975b69aad20bdd86/src/buildscripts/resmokelib/testing/job.py", line 100, in _execute_test [2018/03/22 22:40:33.612] test(self.report) [2018/03/22 22:40:33.612] File "/opt/mongodbtoolchain/v2/lib/python2.7/unittest/case.py", line 393, in __call__ [2018/03/22 22:40:33.612] return self.run(*args, **kwds) [2018/03/22 22:40:33.612] File "/opt/mongodbtoolchain/v2/lib/python2.7/unittest/case.py", line 304, in run [2018/03/22 22:40:33.612] result.startTest(self) [2018/03/22 22:40:33.612] File "/data/mci/9a84463eb6fc41dd975b69aad20bdd86/src/buildscripts/resmokelib/testing/report.py", line 102, in startTest [2018/03/22 22:40:33.612] command = test.as_command() [2018/03/22 22:40:33.612] File "/data/mci/9a84463eb6fc41dd975b69aad20bdd86/src/buildscripts/resmokelib/testing/testcases.py", line 103, in as_command [2018/03/22 22:40:33.612] return self._make_process().as_command() [2018/03/22 22:40:33.612] File "/data/mci/9a84463eb6fc41dd975b69aad20bdd86/src/buildscripts/resmokelib/testing/testcases.py", line 428, in _make_process [2018/03/22 22:40:33.612] connection_string=self.fixture.get_driver_connection_url(), [2018/03/22 22:40:33.612] File "/data/mci/9a84463eb6fc41dd975b69aad20bdd86/src/buildscripts/resmokelib/testing/fixtures/interface.py", line 97, in get_driver_connection_url [2018/03/22 22:40:33.612] "get_driver_connection_url must be implemented by Fixture subclasses") [2018/03/22 22:40:33.612] NotImplementedError: get_driver_connection_url must be implemented by Fixture subclasses
- is related to
-
SERVER-32691 Create passthrough for w="majority" with 2-node replica set to address lost test coverage
- Closed
- related to
-
SERVER-24924 Exceptions during resmoke.py execution do not cause task failures
- Closed