Pengujian kompatibilitas mundur apa yang dilakukan pada Bitcoin Core?

Dec 30 2020

Uji unit dan fungsional dari rilis terbaru Bitcoin Core jelas menguji basis kode dari rilis tersebut.

Pengujian kompatibilitas mundur apa yang dilakukan untuk memastikan rilis terbaru melewati versi rilis sebelumnya dari pengujian unit dan fungsional?

Dan sebaliknya, pengujian kompatibilitas mundur apa yang dilakukan untuk memastikan rilis sebelumnya lulus uji unit dan fungsional saat ini?

Jawaban

1 MichaelFolkson Dec 30 2020 at 19:34

Pengujian kompatibilitas mundur apa yang dilakukan untuk memastikan rilis terbaru melewati versi uji fungsional rilis sebelumnya?

Ada uji fungsional feature_backwards_compatibility.py yang memutar node uji fungsional dari setiap rilis sebelumnya untuk melakukan pengujian di antara mereka pada waktu yang sama.

Setelah Anda membangun versi terbaru Bitcoin Core, Anda dapat mengunduh binari rilis sebelumnya menggunakan:

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

Anda kemudian dapat menjalankan feature_backwards_compatibility.pypengujian satu per satu atau melalui runner pengujian.

misalnya test/functional/test_runner.py feature_backwards_compatibility.py

Pengujian ini diperbarui dengan setiap rilis baru untuk menambahkan node pengujian fungsional dari rilis terbaru ke node pengujian fungsional dari rilis sebelumnya.

Pada saat penulisan (Desember 2020) ada permintaan penarikan terbuka dari Sjors Provoost untuk menambahkan v0.20.1 ke uji kompatibilitas mundur.

Dan sebaliknya, pengujian kompatibilitas mundur apa yang dilakukan untuk memastikan rilis sebelumnya lulus uji unit dan fungsional saat ini?

Saya tidak tahu pada tahap ini apakah ini dengan cara apa pun menjadi prioritas (atau dalam hal ini apakah seharusnya). Tentu lebih intensif sumber daya untuk membangun seluruh rilis sebelumnya dan kemudian mengujinya daripada hanya memutar node pengujian fungsional dari rilis sebelumnya. (Saya akan memperbarui jika saya mempelajari lebih lanjut.)