[SERVER-34116] resmoke.py is silently not running non-passthrough tests on the 3.4 branch Created: 23/Mar/18  Updated: 29/Oct/23  Resolved: 23/Mar/18

Status: Closed
Project: Core Server
Component/s: Testing Infrastructure
Affects Version/s: None
Fix Version/s: 3.4.15

Type: Bug Priority: Blocker - P1
Reporter: Max Hirschhorn Assignee: Max Hirschhorn
Resolution: Fixed Votes: 0
Labels: tig-resmoke
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Problem/Incident
Related
related to SERVER-24924 Exceptions during resmoke.py executio... Closed
is related to SERVER-32691 Create passthrough for w="majority" w... Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Sprint: TIG 2018-04-09
Participants:

 Description   

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.

[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

https://evergreen.mongodb.com/task/mongodb_mongo_v3.4_enterprise_rhel_62_64_bit_sharding_73ad951060eb9557e7ac8768d84ce81a24f16240_18_03_22_21_51_13



 Comments   
Comment by Githook User [ 23/Mar/18 ]

Author:

{'email': 'max.hirschhorn@mongodb.com', 'name': 'Max Hirschhorn', 'username': 'visemet'}

Message: SERVER-34116 Switch to use NoOpFixture for fixture.NOOP_FIXTURE_CLASS.

The Fixture class raises a NotImplementedError exception for its
get_driver_connection_url() method, so it can no longer be used as a
no-op fixture.

These changes were taken from a2f6a2294feb20a9a3a11dcdbfbfed05f4756c1b2.
Branch: v3.4
https://github.com/mongodb/mongo/commit/28602b519c026df57bf9137d1fb795e6043de5ed

Generated at Thu Feb 08 04:35:36 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.