Ho una grande base di codice di codice C piuttosto vecchio su un sistema embedded e sfortunatamente non ci sono casi/suite di test automatici. Ciò rende il codice di ristrutturazione e di refactoring un compito pericoloso.C chiamata di funzione e tracciamento dei parametri - test case e generazione fittizia
La scrittura manuale dei casi di test richiede molto tempo, quindi ho pensato che dovrebbe essere possibile automatizzare almeno parte di questo processo, ad esempio tracciando tutte le chiamate di funzione e la registrazione dei valori di input e output. Potrei quindi utilizzare questi valori nei casi di test (questo non funzionerebbe per tutti ma almeno per alcune funzioni). Probabilmente sarebbe anche possibile creare funzioni di simulazione basate sui dati raccolti.
Avere tali casi di test renderebbe il refactoring un'attività meno pericolosa.
Ci sono soluzioni che possono già farlo? Quale sarebbe il modo più semplice per farlo funzionare se dovessi codificarlo da solo?
Ho pensato di utilizzare ctags
per trovare le definizioni di funzione e avvolgerle in una funzione che registra i valori dei parametri. Un'altra possibilità sarebbe probabilmente un plugin per compilatore gcc.
Non pensi che questa domanda appartengono a superuser.com ... ?? –
@ Mr.32: Questa è una domanda altamente correlata alla programmazione, quindi appartiene sicuramente a questo. –