talm
48 строк · 1009.0 Байт
1// This Source Code Form is subject to the terms of the Mozilla Public
2// License, v. 2.0. If a copy of the MPL was not distributed with this
3// file, You can obtain one at http://mozilla.org/MPL/2.0/.
4
5// Package tpm2 provides TPM2.0 related functionality helpers.
6package tpm2_test7
8import (9"testing"10
11"github.com/stretchr/testify/require"12
13tpm2internal "github.com/aenix-io/talm/internal/pkg/secureboot/tpm2"14)
15
16func TestGetSelection(t *testing.T) {17t.Parallel()18
19for _, tt := range []struct {20name string21pcrs []int22expected []byte23}{24{25name: "empty",26expected: []byte{0, 0, 0},27},28{29name: "1, 3, 5",30pcrs: []int{1, 3, 5},31expected: []byte{42, 0, 0},32},33{34name: "21, 22, 23",35pcrs: []int{21, 22, 23},36expected: []byte{0, 0, 0xe0},37},38} {39t.Run(tt.name, func(t *testing.T) {40t.Parallel()41
42actual, err := tpm2internal.CreateSelector(tt.pcrs)43require.NoError(t, err)44
45require.Equal(t, tt.expected, actual)46})47}48}
49