Sono molto nuovo nella scrittura degli script e non riesco a capire come iniziare con uno script bash che testerà automaticamente l'output di un programma rispetto all'output previsto.Script Bash per testare automaticamente l'output del programma - C
Voglio scrivere uno script di bash che eseguirà un eseguibile specificato su una serie di input di test, ad esempio in1 in2 ecc., Rispetto ai corrispondenti output previsti, out1, out2, ecc. E verificare che corrispondano. Il file da test legge il suo input da stdin e scrive il suo output su stdout. Quindi l'esecuzione del programma di test su un file di input comporterà il reindirizzamento I/O.
Lo script verrà invocato con un singolo argomento, che sarà il nome del file eseguibile da testare.
Ho problemi ad andare avanti così, quindi qualsiasi aiuto (collegamenti a qualsiasi risorsa che spieghi ulteriormente come potrei farlo) sarebbe molto apprezzato. Ovviamente ho provato a cercare me stesso, ma in questo non ho avuto molto successo.
Grazie!
È possibile utilizzare i comandi 'diff' o' cmp' per confrontare gli output. –
I programmi 'diff',' cmp' e 'comm' (specialmente i primi due) sono usati per confrontare due file. Pertanto, è possibile acquisire l'output previsto in un file, l'output effettivo in un altro e quindi confrontare i file. Questo è il modo più semplice per farlo; non è necessariamente il migliore –
Penso che la tua descrizione sia un po 'sbagliata. Il modo in cui l'ho letto, vuoi che gli ingressi corrispondano alle uscite. Ma penso che vuoi dire che hai ingressi di test, uscite effettive e uscite previste. E tu vuoi diff gli ultimi due. – Mikel