Sviluppatori di sistemi operativi Linux: fanno testare il loro codice? [chiuso]

5

Gli sviluppatori di sistemi operativi Linux: fanno testare il loro codice?

Se sì:

  • poiché questo sistema operativo è codificato in C, come fanno a scrivere efficacemente i test unitari in questa lingua?
  • quali sono le "zone" in OS in cui è più facile scrivere il test delle unità? dove è più difficile? dove è prezioso?
posta mathieu 25.08.2012 - 11:47
fonte

1 risposta

7

In generale, direi che il codice del kernel non è testato sull'unità (sono sicuro che ci sono alcune eccezioni). Ci sono alcune cose che rendono il codice del kernel difficile da testare unitamente

  1. Il codice del kernel generalmente si interfaccia con l'hardware.
  2. Il codice del kernel non si collega alla libreria c standard, utilizza intestazioni specifiche del kernel ecc.

Potresti disaccoppiare tutte le tue funzioni che non si interfacciano con l'API o l'hardware del kernel, ma non è stata la mia esperienza su ciò che accade realmente.

Penso che la maggior parte del codice del kernel venga testata usando "test di integrazione" in cui le app della riga di comando vengono scritte per esercitare l'interfaccia userspace al codice del kernel.

Infine, il codice C stesso può essere testato unitamente. Scrivo codice C quasi ogni giorno e viene sottoposto a test dell'unità.

    
risposta data 25.08.2012 - 18:02
fonte

Leggi altre domande sui tag