This parameter multiplies the timeout values of all the barriers in a step file test. It is useful for slower hosts, under load (e.g. when executing multiple tests in parallel) and for testing QEMU without KVM. In any of these cases, the multiplier should be greater than 1 in order to give the test more time to complete. In addition to modifying tests/steps.py, this patch adds a usage example to control and control.parallel. Signed-off-by: Michael Goldish <mgoldish@xxxxxxxxxx> --- client/tests/kvm/control | 1 + client/tests/kvm/control.parallel | 1 + client/tests/kvm/tests/steps.py | 22 +++++++++++++++------- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/client/tests/kvm/control b/client/tests/kvm/control index 72658f1..491870a 100644 --- a/client/tests/kvm/control +++ b/client/tests/kvm/control @@ -140,6 +140,7 @@ filename = os.path.join(pwd, "kvm_tests.cfg") cfg = kvm_config.config(filename) # If desirable, make changes to the test configuration here. For example: +# cfg.parse_string("install|setup: timeout_multiplier = 2") # cfg.parse_string("only fc8_quick") # cfg.parse_string("display = sdl") diff --git a/client/tests/kvm/control.parallel b/client/tests/kvm/control.parallel index cf268ea..fac0176 100644 --- a/client/tests/kvm/control.parallel +++ b/client/tests/kvm/control.parallel @@ -136,6 +136,7 @@ filename = os.path.join(pwd, "kvm_tests.cfg") cfg = kvm_config.config(filename) # If desirable, make changes to the test configuration here. For example: +# cfg.parse_string("install|setup: timeout_multiplier = 2") # cfg.parse_string("only fc8_quick") # cfg.parse_string("display = sdl") diff --git a/client/tests/kvm/tests/steps.py b/client/tests/kvm/tests/steps.py index 8bc85f2..d0b7dbd 100644 --- a/client/tests/kvm/tests/steps.py +++ b/client/tests/kvm/tests/steps.py @@ -33,6 +33,21 @@ def barrier_2(vm, words, params, debug_dir, data_scrdump_filename, cmd, dx, dy, x1, y1, md5sum, timeout = words[:7] dx, dy, x1, y1, timeout = map(int, [dx, dy, x1, y1, timeout]) + scrdump_filename = os.path.join(debug_dir, "scrdump.ppm") + cropped_scrdump_filename = os.path.join(debug_dir, "cropped_scrdump.ppm") + expected_scrdump_filename = os.path.join(debug_dir, "scrdump_expected.ppm") + expected_cropped_scrdump_filename = os.path.join(debug_dir, + "cropped_scrdump_expected.ppm") + comparison_filename = os.path.join(debug_dir, "comparison.ppm") + + # Multiply timeout by the timeout multiplier + timeout_multiplier = params.get("timeout_multiplier") + if timeout_multiplier: + timeout_multiplier = float(timeout_multiplier) + else: + timeout_multiplier = 1.0 + timeout *= timeout_multiplier + # Timeout/5 is the time it took stepmaker to complete this step. # Divide that number by 10 to poll 10 times, just in case # current machine is stronger then the "stepmaker machine". @@ -41,13 +56,6 @@ def barrier_2(vm, words, params, debug_dir, data_scrdump_filename, if sleep_duration < 1.0: sleep_duration = 1.0 if sleep_duration > 10.0: sleep_duration = 10.0 - scrdump_filename = os.path.join(debug_dir, "scrdump.ppm") - cropped_scrdump_filename = os.path.join(debug_dir, "cropped_scrdump.ppm") - expected_scrdump_filename = os.path.join(debug_dir, "scrdump_expected.ppm") - expected_cropped_scrdump_filename = os.path.join(debug_dir, - "cropped_scrdump_expected.ppm") - comparison_filename = os.path.join(debug_dir, "comparison.ppm") - fail_if_stuck_for = params.get("fail_if_stuck_for") if fail_if_stuck_for: fail_if_stuck_for = float(fail_if_stuck_for) -- 1.5.4.1 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html