Jakie testy zgodności wstecznej przeprowadza się na Bitcoin Core?

Dec 30 2020

Testy jednostkowe i funkcjonalne najnowszej wersji Bitcoin Core oczywiście testują podstawę kodu tego wydania.

Jakie testy zgodności wstecznej przeprowadza się, aby upewnić się, że najnowsza wersja przeszła pomyślnie testy jednostkowe i testy funkcjonalne poprzednich wersji?

I odwrotnie, jakie testy zgodności wstecznej są wykonywane, aby upewnić się, że poprzednie wersje przeszły pomyślnie testy jednostkowe i funkcjonalne?

Odpowiedzi

1 MichaelFolkson Dec 30 2020 at 19:34

Jakie testy zgodności wstecznej przeprowadza się, aby upewnić się, że najnowsza wersja przejdzie testy funkcjonalne z poprzednimi wydaniami?

Istnieje test funkcjonalny feature_backwards_compatibility.py, który oddziela węzły testów funkcjonalnych z każdej z poprzednich wersji, aby wykonywać testy między nimi w tym samym czasie.

Po zbudowaniu najnowszej wersji Bitcoin Core możesz pobrać pliki binarne poprzedniej wersji za pomocą:

test/get_previous_releases.py -b v0.19.1 v0.18.1 v0.17.2 v0.16.3 v0.15.2

Następnie możesz przeprowadzić feature_backwards_compatibility.pytest indywidualnie lub za pośrednictwem narzędzia do uruchamiania testów.

na przykład test/functional/test_runner.py feature_backwards_compatibility.py

Ten test jest aktualizowany z każdą nową wersją w celu dodania węzła testów funkcjonalnych z najnowszej wersji do węzłów testów funkcjonalnych z poprzednich wersji.

W chwili pisania tego tekstu (grudzień 2020 r.) Sjors Provoost zawiera otwarte żądanie ściągnięcia dotyczące dodania wersji0.20.1 do testu zgodności wstecznej.

I odwrotnie, jakie testy zgodności wstecznej są wykonywane, aby upewnić się, że poprzednie wersje przeszły pomyślnie testy jednostkowe i funkcjonalne?

Nie wiem na tym etapie, czy jest to w jakikolwiek sposób priorytet (czy w ogóle, czy powinien). Z pewnością budowanie całych poprzednich wersji, a następnie testowanie ich wymaga więcej zasobów niż tylko uruchamianie funkcjonalnych węzłów testowych z poprzednich wydań. (Zaktualizuję, jeśli dowiem się więcej.)