ebpf_exporter

Форк
0
/
majorminor_test.go 
45 строк · 990.0 Байт
1
package decoder
2

3
import (
4
	"bytes"
5
	"testing"
6

7
	"github.com/cloudflare/ebpf_exporter/v2/config"
8
)
9

10
func TestMajorMinorDecoder(t *testing.T) {
11
	cases := []struct {
12
		in    []byte
13
		cache map[uint64][]byte
14
		out   []byte
15
	}{
16
		{
17
			in:    []byte{0x0, 0x8, 0x0, 0x0},
18
			cache: map[uint64][]byte{uint64(2048): []byte("sda"), uint64(2064): []byte("sdb")},
19
			out:   []byte("sda"),
20
		},
21
		{
22
			in:    []byte{0x10, 0x8, 0x0, 0x0},
23
			cache: map[uint64][]byte{uint64(2048): []byte("sda"), uint64(2064): []byte("sdb")},
24
			out:   []byte("sdb"),
25
		},
26
		{
27
			in:    []byte{0x10, 0x88, 0x0, 0x0},
28
			cache: map[uint64][]byte{uint64(2048): []byte("sda")},
29
			out:   []byte("unknown:136:16"),
30
		},
31
	}
32

33
	for _, c := range cases {
34
		d := &MajorMinor{cache: c.cache}
35

36
		out, err := d.Decode(c.in, config.Decoder{})
37
		if err != nil {
38
			t.Errorf("Error decoding %#v with cache set to %#v: %s", c.in, c.cache, err)
39
		}
40

41
		if !bytes.Equal(out, c.out) {
42
			t.Errorf("Expected %s, got %s", c.out, out)
43
		}
44
	}
45
}
46

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.