2023-04 [seminár] Testovací skript v xv6

Zdroj
ručne priradené
Pridané

Pozrieť na YouTube →

Preber si túto prednášku so svojou AI

Skopíruj pripravený podklad a vlož ho do ChatGPT, Claude alebo inej AI — bude ťa učiť alebo skúšať len z tejto prednášky.

Otvoriť AI: ChatGPT · Claude · Gemini

Zhrnutie prednášky

Seminár sa venuje praktickému fungovaniu testovacieho skriptu v projekte xv6, keďže hlavná téma (výnimky, backtrace a alarm) bola prebratá už v predchádzajúcom seminári z roku 2021. Vysvetľuje sa spúšťanie testov cez script grade-lab s konkrétnym názvom vetvy, nastavenie parametra timeout vo funkcii runCmd a jeho predvolená hodnota 30 sekúnd, ktorá sa pri náročnejších testoch (napríklad usertests) zvyšuje. Zdôrazňuje sa dôležitosť priameho spúšťania testov v prostredí xv6 (napríklad cez qemu), ak zlyhávajú a nie je vidieť konkrétny výstup či chyba jadra. Spomína sa aj spôsob kontroly správnosti backtrace pomocou nástroja addr2line a odporúčanie nastaviť pri ladení v gdb konštantu CPUS na 1 kvôli prehľadnosti pri viacvláknovom behu. Na záver sa objasňuje slovenská terminológia — pojem 'výnimka' sa používa všeobecne pre všetky typy trapov (systémové volania, výnimky, prerušenia).

  • - Testy sa spúšťajú príkazom make grade-lab s názvom konkrétnej vetvy (napr. traps).
  • - Konkrétny test možno spustiť zadaním jeho názvu, pričom platí predvolený timeout 30 sekúnd (upraviteľný vo funkcii runCmd).
  • - Pri zlyhaní testu je vhodné spustiť príslušný program priamo v xv6 (qemu) na zistenie výstupu alebo chyby jadra.
  • - Backtrace test overuje správnosť návratových adries pomocou externého nástroja addr2line.
  • - Pri ladení pomocou gdb v prostredí s viacerými CPU je vhodné nastaviť CPUS=1 pre stabilnejšie sledovanie kódu.
  • - Pojem 'výnimka' sa v slovenskej terminológii používa všeobecne pre všetky typy trapov (systémové volania, exceptions, interrupty).
  • - Úlohy backtrace a alarm sú podrobnejšie vysvetlené v seminári z roku 2021, sekcia assembly bola z tohtoročného zadania odstránená.

Zhrnutie pripravené s pomocou AI z prepisu videa.