Posiadam dużą bazę kodową o dość starym kodzie C w systemie wbudowanym i niestety nie ma automatycznych przypadków testowych/pakietów. To sprawia, że kod restrukturyzacji i refaktoryzacji jest niebezpiecznym zadaniem.Wywoływanie funkcji i śledzenie parametrów - przypadek testowy i generowanie próbne
Ręczne pisanie przypadków testowych jest bardzo czasochłonne, więc pomyślałem, że powinno być możliwe zautomatyzowanie przynajmniej części tego procesu, na przykład przez śledzenie wszystkich wywołań funkcji i rejestrowanie wartości wejściowych i wyjściowych. Mogłem następnie użyć tych wartości w przypadkach testowych (nie działałoby to dla wszystkich, ale przynajmniej dla niektórych funkcji). Prawdopodobnie możliwe byłoby również tworzenie fałszywych funkcji na podstawie zebranych danych.
Posiadanie takich przypadków testowych sprawiłoby, że refaktoryzacja byłby mniej niebezpiecznym działaniem.
Czy są jakieś rozwiązania, które już mogą to zrobić? Jaki byłby najłatwiejszy sposób, aby to zadziałało, gdybym sam musiał to zakodować?
Pomyślałem o użyciu ctags
, aby znaleźć definicje funkcji i zawinąć je w funkcję rejestrującą wartości parametrów. Inną możliwością jest prawdopodobnie wtyczka kompilatora gcc.
nie myślisz to pytanie należy do superuser.com ... ?? –
@ Mr.32: To jest bardzo związane z programowaniem, więc zdecydowanie należy tutaj. –