talos
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
5package quirks_test6
7import (8"testing"9
10"github.com/stretchr/testify/assert"11
12"github.com/siderolabs/talos/pkg/machinery/imager/quirks"13)
14
15func TestSupportsResetOption(t *testing.T) {16for _, test := range []struct {17version string18
19expected bool20}{21{22version: "1.5.0",23expected: true,24},25{26expected: true,27},28{29version: "1.3.7",30expected: false,31},32} {33t.Run(test.version, func(t *testing.T) {34assert.Equal(t, test.expected, quirks.New(test.version).SupportsResetGRUBOption())35})36}37}
38
39func TestSupportsCompressedEncodedMETA(t *testing.T) {40for _, test := range []struct {41version string42
43expected bool44}{45{46version: "1.6.3",47expected: true,48},49{50version: "1.7.0",51expected: true,52},53{54expected: true,55},56{57version: "1.6.2",58expected: false,59},60} {61t.Run(test.version, func(t *testing.T) {62assert.Equal(t, test.expected, quirks.New(test.version).SupportsCompressedEncodedMETA())63})64}65}
66
67func TestSupportsOverlay(t *testing.T) {68for _, test := range []struct {69version string70
71expected bool72}{73{74version: "1.6.3",75expected: false,76},77{78version: "1.7.0",79expected: true,80},81{82expected: true,83},84{85version: "1.6.2",86expected: false,87},88{89version: "1.7.0-alpha.0",90expected: true,91},92{93version: "v1.7.0-alpha.0-75-gff08e2821",94expected: true,95},96} {97t.Run(test.version, func(t *testing.T) {98assert.Equal(t, test.expected, quirks.New(test.version).SupportsOverlay())99})100}101}
102
103func TestSupportsZstd(t *testing.T) {104for _, test := range []struct {105version string106
107expected bool108}{109{110version: "1.7.3",111expected: false,112},113{114expected: true,115},116{117version: "1.6.2",118expected: false,119},120{121version: "1.8.0-alpha.0",122expected: true,123},124{125version: "v1.8.3",126expected: true,127},128} {129t.Run(test.version, func(t *testing.T) {130assert.Equal(t, test.expected, quirks.New(test.version).UseZSTDCompression())131})132}133}
134