39 lines
960 B
Go
39 lines
960 B
Go
package devicepath_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"git.faercol.me/faercol/devicepath"
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestToString(t *testing.T) {
|
|
t.Run("Only digits", func(t *testing.T) {
|
|
expected := "Pci(0x0,0x1)"
|
|
dev := devicepath.NewPCIDevicePath(0, 1)
|
|
assert.Equal(t, expected, dev.String())
|
|
})
|
|
|
|
t.Run("Letters", func(t *testing.T) {
|
|
expected := "Pci(0x2,0xa)"
|
|
dev := devicepath.NewPCIDevicePath(2, 10)
|
|
assert.Equal(t, expected, dev.String())
|
|
})
|
|
}
|
|
|
|
func TestParsePCIString(t *testing.T) {
|
|
t.Run("OK device < 16", func(t *testing.T) {
|
|
rawStr := "Pci(0x0,0x1)"
|
|
var dev devicepath.PCIDevicePath
|
|
require.NoError(t, dev.ParseString(rawStr))
|
|
assert.Equal(t, rawStr, dev.String())
|
|
})
|
|
|
|
t.Run("OK device > 16", func(t *testing.T) {
|
|
rawStr := "Pci(0x1f,0x2)"
|
|
var dev devicepath.PCIDevicePath
|
|
require.NoError(t, dev.ParseString(rawStr))
|
|
assert.Equal(t, rawStr, dev.String())
|
|
})
|
|
}
|