Skip to content

Commit b4d6e7a

Browse files
committed
backend/bitbox02bootloader: simplify unit tests
By using the newly added `ParseSignedFirmware()` util function.
1 parent 14284a1 commit b4d6e7a

File tree

1 file changed

+8
-12
lines changed

1 file changed

+8
-12
lines changed

backend/devices/bitbox02bootloader/firmware_test.go

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,36 +22,32 @@ import (
2222
"os"
2323
"testing"
2424

25+
"github.com/BitBoxSwiss/bitbox02-api-go/api/bootloader"
2526
bitbox02common "github.com/BitBoxSwiss/bitbox02-api-go/api/common"
2627
"github.com/stretchr/testify/require"
2728
)
2829

29-
func testHash(t *testing.T, info firmwareInfo, expectedMagic []byte, hashFile string) {
30+
func testHash(t *testing.T, info firmwareInfo, expectedProduct bitbox02common.Product, hashFile string) {
3031
t.Helper()
3132

32-
const sigDataLen = 584
33-
const magicLen = 4
34-
3533
signedBinary, err := info.signedBinary()
3634
require.NoError(t, err)
37-
require.True(t, len(signedBinary) >= 4+sigDataLen)
38-
require.Equal(t, expectedMagic, signedBinary[:magicLen])
39-
hash := sha256.Sum256(signedBinary[magicLen+sigDataLen:])
35+
product, _, binary, err := bootloader.ParseSignedFirmware(signedBinary)
36+
require.NoError(t, err)
37+
require.Equal(t, expectedProduct, product)
38+
hash := sha256.Sum256(binary)
4039
expectedHash, err := os.ReadFile(hashFile)
4140
require.NoError(t, err)
4241
require.Equal(t, string(expectedHash), hex.EncodeToString(hash[:]))
4342
}
4443

4544
func TestBundledFirmware(t *testing.T) {
46-
magicMulti := []byte{0x65, 0x3f, 0x36, 0x2b}
47-
magicBTCOnly := []byte{0x11, 0x23, 0x3b, 0x0b}
48-
4945
for _, fw := range bundledFirmwares[bitbox02common.ProductBitBox02Multi] {
50-
testHash(t, fw, magicMulti, fmt.Sprintf("assets/firmware.v%s.signed.bin.sha256", fw.version))
46+
testHash(t, fw, bitbox02common.ProductBitBox02Multi, fmt.Sprintf("assets/firmware.v%s.signed.bin.sha256", fw.version))
5147
}
5248

5349
for _, fw := range bundledFirmwares[bitbox02common.ProductBitBox02BTCOnly] {
54-
testHash(t, fw, magicBTCOnly, fmt.Sprintf("assets/firmware-btc.v%s.signed.bin.sha256", fw.version))
50+
testHash(t, fw, bitbox02common.ProductBitBox02BTCOnly, fmt.Sprintf("assets/firmware-btc.v%s.signed.bin.sha256", fw.version))
5551
}
5652
}
5753

0 commit comments

Comments
 (0)