Errore test HW8Obb

s
scutigliani.luca (860 points)
6 10 15
asked Dec 10, 2019 in HW8 obbligatorio by scutigliani.luca (860 points)
recategorized Dec 10, 2019 by andrea.sterbini

Eseguendo i test dell'HW8Obb ottengo il seguente errore:

FAILED test_01.py::Test::test_json_00008_grossa_matrice_ripetuta_100x40 - testlib.ForbiddenError: E' proibito importare il modulo py._io.terminalwriter

Ovviamente non ho importato alcuna libreria, e quella che segnala in particolare non c'entra nulla con il funzionamento dell'Homework.

Qualcuno sa dirmi come aggirare il problema?

913 views

2 Answers

E
Edward (25950 points)
2 4 172
answered Dec 10, 2019 by Edward (25,950 points)
edited Dec 10, 2019 by Edward

Per caso scrivi qualcosa su qualche file?

EDIT:
Ho controllato e darebbe un altro errore.
Se come dici tu, non importi nessuna libreria, evidentemente usi qualche comando che importa quella libreria...
In particolare nella documentazione c'è scritto:

Helper functions for writing to terminals and files.

E
Edward (25950 points)
2 4 172
commented Dec 10, 2019 by Edward (25,950 points)

Se sulla VM non dà quell'errore, probabilmente hai un file test_01.py o testlib.py diverso in qualche modo. Prova a riscaricare lo zip (fai attenzione a non sovrascrivere program01.py)

s
scutigliani.luca (860 points)
6 10 15
commented Dec 10, 2019 by scutigliani.luca (860 points)
L’ho già riscaricato, più di una volta, sostituendo tutti i file tranne program01.py. Credo che l’errore provenga proprio dal sistema che cerca eventuali import.
E
Edward (25950 points)
2 4 172
commented Dec 10, 2019 by Edward (25,950 points)
Come testi il file? Se usi il comando --timeout da pytest, non farlo (non serve, il timeout viene già calcolato dal file test_01.py)
s
scutigliani.luca (860 points)
6 10 15
commented Dec 10, 2019 by scutigliani.luca (860 points)
Non utilizzo quell’argomento, ad ogni modo ho provato tutte le combinazioni possibili.
andrea.sterbini (172780 points)
513 935 1789
commented Dec 10, 2019 by andrea.sterbini (172,780 points)

Non capisco come mai ti viene l'errore, il comando eseguito sulla VM (come si vede dalla prima riga del log) è:

  • python -m pytest -v -s  --timeout=3 --durations 0 -rA --json program01.log.json test_01.py --profile

Eseguendolo sul tuo codice ho gli stessi risultati che vedo nel tuo log

E
Enrico-25 (780 points)
2 3 8
answered Dec 10, 2019 by Enrico-25 (780 points)

Pure io ho lo stesso problema, sembra comunque che dia quest'errore solo quando si usa '--timeout' come parametro del comando 'pytest', giusto?

andrea.sterbini (172780 points)
513 935 1789
commented Dec 10, 2019 by andrea.sterbini (172,780 points)
Nel tuo caso vedo solo errori di timeout