Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2023-24 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2023-24 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

Errore test HW8Obb

s
scutigliani.luca (860 points)
10 10 15
in HW8 obbligatorio by (860 points)
recategorized by

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?

1.4k views

2 Answers

E
Edward (25950 points)
3 4 172
by (26.0k points)
edited by

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.

s
scutigliani.luca (860 points)
10 10 15
by (860 points)
non scrivo nulla a terminale, uso esclusivamente funzioni bult-in
E
Edward (25950 points)
3 4 172
by (26.0k points)
Senza leggere il codice non saprei aiutarti.

Se non lo hai già fatto, consegnalo su q2a così il Prof. può vederlo e dirti cosa usi che non va bene (o eventualmente aggiungere quella libreria alle librerie consentite)
andrea.sterbini (207920 points)
749 1267 2373
by (208k points)
Come dice giustamente @Edward, consegna che ci do un'occhiata
s
scutigliani.luca (860 points)
10 10 15
by (860 points)
appena caricato, premetto che non è completo.
andrea.sterbini (207920 points)
749 1267 2373
by (208k points)

Mi sembra che l'errore sia di sintassi, non esiste il goto in python

s
scutigliani.luca (860 points)
10 10 15
by (860 points)
Ops! Ho caricato il file sbagliato. Quello era sbagliato.
andrea.sterbini (207920 points)
749 1267 2373
by (208k points)
Quando consegnerai quello giusto potrò dargli un'occhiata
s
scutigliani.luca (860 points)
10 10 15
by (860 points)
Consegnato! Grazie prof
andrea.sterbini (207920 points)
749 1267 2373
by (208k points)
Da quello che vedo nel log dei test (tab correttezza) ritorni valori sbagliati oppure vai in timeout
s
scutigliani.luca (860 points)
10 10 15
by (860 points)

Si lo so, come ho già detto non è completo, ad ogni modo sul mio pc da anche l’errore della libreria su quasi tutti i test. 

E
Edward (25950 points)
3 4 172
by (26.0k 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)
10 10 15
by (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)
3 4 172
by (26.0k 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)
10 10 15
by (860 points)
Non utilizzo quell’argomento, ad ogni modo ho provato tutte le combinazioni possibili.
andrea.sterbini (207920 points)
749 1267 2373
by (208k 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
by (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 (207920 points)
749 1267 2373
by (208k points)
Nel tuo caso vedo solo errori di timeout