Nowe wydanie c64unit w wersji 0.65 oraz wersja dla CDrukuj stronę

2018-08-24

Potrzeba matką wynalazków. Następnie odkryj, co jest poza.

Wydana została nowa wersja frameworka do testów jednostkowych c64unit. W wersji 0.65 zobaczysz "happy end" gdy wszystkie testy przeszły i są "zielone", z liczbą wykonanych asercji. Od teraz, wszystko w c64unit wyświetlane jest małymi literami co poprawia czytelność. Ostatnia zmiana w warstwie prezentacyjnej to zmiana koloru tła, z niebieskiego na szary. Ale to tylko to co widać na powierzchni!

W momencie gdy piszę te słowa, c64unit wspiera 6 cross-asemblerów. Wszystko zaczęło się od 64tass, jako pomysł na prosty framework za pomocą którego praca nad projektami Commocore byłaby o wiele prostsza. Wtedy to właśnie dostrzeżony został drzemiący potencjał. Pierwsze eksperymenty z cross-asemblerem DASM ewoluowały do zaimplementowania również Kick Assemblera. To potwierdziło tylko, że wszelkie ograniczenia mogą zostać pokonane. Następny w kolejce był ACME i ca65, zaś ostatnio dodany został cross-assembler xa65. A to nie koniec, gdyż w niedalekiej przyszłości planowane jest wsparcie dla Retro Assemblera.

Przyjrzyjmy się ostatnim funkcjonalnym ulepszeniom. Zaczynając od funkcji, wzbogacone zostały garścią zanegowanych asercji dla statusów flag procesora, np. assertCarryFlagNotSet. Co więcej, do narzędzi dodany został bardzo użyteczny tzw. "dataset" handler: getDataSetWordToLoHi. Dzięki niemu, w bardzo prosty sposób można zapisać dane z jakiejkolwiek tablicy pod oddzielne adresy dla młodszego i starszego bajtu, w przeciwieństwie do getDataSetWord, który zachowuje zdanie (eng. word) pod pojedynczym, 16-bitowym adresem.

Wiele funkcji zostało zrewidowanych, i w pełni pokrytych testami w repozytorium z przykładami, które jest notabene dobrym miejscem by nauczyć się jak pracować z frameworkiem c64unit - właśnie przez przykłady. 31 różnych typów asercji, możliwość mockowania i prosta możliwość pracy z większą ilością danych wejściowych i scenariuszy, 6 obsługiwanych cross-asemblerów... c64unit zaczął być naprawdę skutecznym narzędziem, który jest w stanie pomóc w procesie budowania projektów. 

To byłaby wystarczająco duża liczba udoskonaleń, ale to nie koniec! Pod powierzchnią dzieje się więcej. Trwają prace nad kompletnie oddzielną implementacją frameworka c64unit w języku C! Dodanie wsparcia dla asemblera ca65 było tylko zapłonem by zwiększyć zasięg do kompilera cc65, który kompiluje kod napisany w języku C do asemblera. I muszę przyznać, że implementacja w języku C przebiega znacznie szybciej niż w asemblerze. Jednakże, ze względu na naturę języka - w końcu wysokiego poziomu w porównaniu do asemblera - poziom abstrakcji też się różni, stąd inne asercje są potrzebne. Wiele rzeczy dopiero musi zostać odkrytych. Podstawowe asercje zostały już zaimplementowane, więc zachęcam do spróbowania na własnych projektach. Jest to proste, wystarczy podążać za instrukcjami w repozytorium c64unit for C. Dla łatwego startu, warto zapoznać się z przykładami zawartymi w tym repozytorium.

To całkowicie nowa przygoda, i na tym etapie ciężko odgadnąć co powinna zawierać implementacja c64unit w języku C. Proces odkrywania trwa. Opinie i sugestie są bardzo istotne, jeżeli więc jeszcze to czytacie, zachęcam Was do spróbowania frameworka, i wyrażenia swego zdania. Chcemy Was wspierać i prosimy o to samo! Dajcie nam znać czy lubicie ten framework, podzielcie się doświadczeniem i nieście wieść!

Copyright © 2011-2019 Commocore.
All rights reserved.