tests: Allow more VMs to be started in parallel

Check the number of CPUs to determine how many VMs can be started in
parallel.

Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
Jouni Malinen 2019-12-27 20:31:33 +02:00
parent d07ca835cb
commit a6ba5cca45

View file

@ -10,6 +10,7 @@ from __future__ import print_function
import curses
import fcntl
import logging
import multiprocessing
import os
import selectors
import subprocess
@ -213,21 +214,25 @@ def vm_next_step(_vm, scr, test_queue):
def check_vm_start(scr, sel, test_queue):
running = False
updated = False
for i in range(num_servers):
if not vm[i]['proc']:
# Either not yet started or already stopped VM
if test_queue and vm[i]['cmd'] and num_vm_starting() < 2:
scr.move(i + 1, 10)
scr.clrtoeol()
scr.addstr(i + 1, 10, "starting VM")
updated = True
start_vm(vm[i], sel)
else:
continue
if vm[i]['proc']:
running = True
continue
running = True
return running, updated
# Either not yet started or already stopped VM
max_start = multiprocessing.cpu_count()
if max_start > 4:
max_start /= 2
num_starting = num_vm_starting()
if vm[i]['cmd'] and len(test_queue) > num_starting and \
num_starting < max_start:
scr.move(i + 1, 10)
scr.clrtoeol()
scr.addstr(i + 1, 10, "starting VM")
start_vm(vm[i], sel)
return True, True
return running, False
def vm_terminated(_vm, scr, sel, test_queue):
updated = False