Project

General

Profile

Feature #9650

Support for running on a server or in a docker container

Added by Tomasz Domin over 1 year ago. Updated over 1 year ago.

Status:
New
Priority:
Normal
Assignee:
-
Start date:
Due date:
% Done:

0%

billable:
No
vendor_id:
GCD
case_num:
version_reported:
version_resolved:
reviewer:
production:
No
env_name:
topics:

History

#1 Updated by Tomasz Domin over 1 year ago

  • Subject changed from Support for running on a server or in docker container to Support for running on a server or in a docker container

One of the features Harness supports is the ability to specify a time after which a test is considered to as failed for each test step. In order to make that feature work correctly it is assumed that Harness is running tests or controlling tests running on a server which has sufficient CPU power to complete selected tests before timeout is triggered.
That is not fully a case when running tests on a shared server or in Docker container. In such cases CPU resources are shared or limited by environment leading tests not being executed on time as a result reporting false test failures.
Currently Harness support a feature called "Timeout multiplier" which allows specifying a fixed multiplier which is used to scale all timeouts in tests. That allows for giving cpu/disk extensive tests more time to complete on time. The challenge is to make it a proper value for a given system. In case its too low false negatives can still be reported, in case its too high test suite execution time may grow as more time is given to report failing tests in case it really fails.
Proposed solution is to use auto scaled "Timeout multiplier". There will be expected execution time provided for the selected tests. Harness engine base on actual time the tests were execute will scale "Timeout multiplier" up and down.

Also available in: Atom PDF