Dati i seguenti:test Naso Python da generatore non in esecuzione contemporaneamente
from time import sleep
def runTest(a):
sleep(1)
assert a >= 0
def test_all():
for i in range(5):
yield (runTest, i)
mi aspetterei che il cinque prove per ottenere eseguiti in esecuzione in parallelo con nosetests --processes=8
e quindi eseguiti in circa un secondo - Tuttavia, ci vuole poco più di cinque secondi per eseguire: sembrano essere in esecuzione in sequenza e non contemporaneamente.
Secondo la documentazione del naso, il plug-in multiprocesso ha supportato i generatori di test (come li chiama la documentazione del naso) da 1.1: sto usando il nose 1.3.0 quindi dovrebbe essere supportato. L'aggiunta di _multiprocess_can_split_ = True
non fa alcuna differenza, come ci si aspetterebbe, in quanto i proiettori non vengono utilizzati.
Come si eseguono questi cinque test contemporaneamente?
Preferisco piuttosto capire perché il plug-in multiprocesso di nose non riesca a eseguire i test esistenti contemporaneamente anziché parallelizzarli esternamente. – gsnedders
Non so quali impostazioni state usando ma questa soluzione non funziona affatto. Tutti i test vengono eseguiti sullo stesso processo e vengono eseguiti in sequenza. Questo è stato fatto su nose 1.3 usando varie combinazioni di variabili multiprocesso e comandi nosetest. I problemi sembrano originarsi dal rendimento. – magixx