ntendendo as ramificações nos arquivos gc
Estou tentando entender a saída da ferramenta gcov. Executá-lo sem opções faz sentido, mas quero tentar entender as opções de cobertura da filial. Infelizmente, é difícil entender o que os galhos fazem e por que não são tirados. Abaixo está a saída de um método (compile usando a versão mais recente do LLVM / Clang
function -[TestCoverageAppDelegate loopThroughArray:] called 5 returned 100% blocks executed 88%
5: 30:- (NSInteger)loopThroughArray:(NSArray *)array {
5: 31: NSInteger i = 0;
22: 32: for (NSString *string in array) {
branch 0 taken 0
branch 1 taken 7
-: 33:
22: 34: }
branch 0 taken 4
branch 1 taken 3
branch 2 taken 0
branch 3 taken 3
5: 35: return i;
-: 36:}
Eu executei 5 testes através disso, passando nulo, um array vazio, um array com 1 objeto e um array com 2 objetos e um array com 4 objetos. Posso supor que, no primeiro caso, o ramo 1 signifique "entrar no loop", mas não faço ideia do que é o ramo 0. No segundo caso, a ramificação 0 parece ser repetida novamente, a ramificação 1 parece terminar o loop e a ramificação 3 é continuar / sair do loop, mas não tenho idéia do que seja a ramificação 2 ou por que / quando seria executad
Se alguém souber decifrar as informações da filial ou alguma documentação detalhada sobre o que tudo isso significa, agradeceria a ajud