Currently, some exceptions that can happen during the Atlas test environment setup are not marked as a setup failure and instead show up as a test failure. The cause is that the SingleTestRunner constructor performs a bunch of Atlas cluster provisioning work as well as the run() method, but the constructor has no exception handling. To resolve that, move all Atlas "run-one" exception handling and "status" file writing into cli.py, and add exception handling to calling the SingleTestRunner constructor.
Changes:
Catch all exceptions that happen while calling the SingleTestRunner constructor and mark them as "cloud-failure".
Move all Atlas "run-one" exception handling into cli.py instead of atlas_runner.py.
Move all "status" file writing into cli.py instead of atlas_runner.py.
DRIVERS-2363
Currently, some exceptions that can happen during the Atlas test environment setup are not marked as a setup failure and instead show up as a test failure. The cause is that the
SingleTestRunner
constructor performs a bunch of Atlas cluster provisioning work as well as therun()
method, but the constructor has no exception handling. To resolve that, move all Atlas "run-one" exception handling and "status" file writing intocli.py
, and add exception handling to calling theSingleTestRunner
constructor.Changes:
SingleTestRunner
constructor and mark them as "cloud-failure".cli.py
instead ofatlas_runner.py
.cli.py
instead ofatlas_runner.py
.Tested in this patch and seems successful.