Scrittura di uno script di installazione di Linux. Come posso testarlo in modo automatico?

6

Al giorno d'oggi con tutti i servizi github disponibili, è diventato piuttosto facile avere test unitari automatizzati per es. Progetti di codifica C ++ o Python.

Insieme ai colleghi ho scritto uno script di installazione di base per Arch Linux in Python che vorrei testare automaticamente invece di creare manualmente una VM, far funzionare il programma di installazione, avviare il sistema installato e capire se tutto funziona. Tuttavia, non ho idea di come dovrei avvicinarmi a questo dato che il test avrebbe fondamentalmente bisogno di lanciare una macchina virtuale e lavorare all'interno di questa macchina virtuale e non vedo come avrei potuto farlo con Travis per esempio.

Domande:

  1. È possibile con gli strumenti attualmente disponibili eseguire almeno alcuni test automatici? (ad es., avvii correttamente)
  2. In che modo gli sviluppatori OS testano i loro programmi di installazione? Squadra test manuale?
posta NOhs 17.05.2017 - 21:06
fonte

1 risposta

2

Questo potrebbe non essere quello che stai cercando, ma hai preso in considerazione l'istantanea poco prima di eseguire l'installazione e il ripristino dello stato di snapshot? La tua risposta ha detto che non vuoi farlo con le macchine virtuali, quindi scusami se questo manca il marchio.

Avrei impostato una VM allo stato preinstallato, incluso il collegamento dello script di installazione a una condivisione / partizione remota esterna alla VM. Fai uno snapshot e poi fai l'installazione. Lascia che l'installazione riavvii l'istanza o faccia qualsiasi cosa. Dopo aver ispezionato l'installazione, ripristina lo stato precedente, correggi il mio script e ripeti, tranne che non eseguire uno snapshot la seconda volta.

Se desideri automatizzare alcune attività ripetitive grafiche, puoi consultare SikuliX . Puoi copiarlo con condizionali basati su elementi grafici - se vedi il pulsante "OK", fai clic su di esso, ecc.

Spero che questo aiuti. È inelegante, ma a volte devo "tagliare le mie perdite" e andare con il sistema più efficiente.

    
risposta data 18.07.2017 - 14:07
fonte

Leggi altre domande sui tag