ul-fmf / projekt-tomo

Spletna storitev za poučevanje programiranja
https://www.projekt-tomo.si
GNU Affero General Public License v3.0
14 stars 23 forks source link

Prekinitev izvajanja kode po določenem času #287

Closed k3ap closed 1 year ago

k3ap commented 1 year ago

Po določenem času se testni primer ubije (čas je določen z nepotrebnim argumentom v funkciji za preverjanje). To ni podprto v Check.secret zaradi načina klicanja funkcije; ko se bo le-ta prestavil na klicanje s stringom (kot je omenjeno v #35), bo prekinitev preprosto vključiti.

Preverjeno deluje na linux sistemu, za windows in macos ne vem.

Closes #164.

k3ap commented 1 year ago

Check.* funkcije sedaj niso več opremljene s time_limit, temveč mora učitelj vsako merjenje časa dati v

with Check.time_limit(st_sekund):
    # testi

Signali so premaknjeni iz _thread.interrupt_main v signal.raise_signal, ki je dostopen le v pythonu 3.8+; to bi lahko bila težava, če uporabniki nimajo dovolj sodobnih python verzij.