mirror of
https://github.com/kairos-io/kairos-agent.git
synced 2025-08-25 03:22:44 +00:00
like we did here: https://github.com/kairos-io/kairos-sdk/pull/28/files because ghw doesn't play well with lvm Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
94 lines
2.3 KiB
Go
94 lines
2.3 KiB
Go
package utils_test
|
|
|
|
import (
|
|
"github.com/kairos-io/kairos/v2/pkg/utils"
|
|
. "github.com/onsi/ginkgo/v2"
|
|
. "github.com/onsi/gomega"
|
|
)
|
|
|
|
var _ = Describe("PartitionsFromLsblk", func() {
|
|
var lsblkOutput string
|
|
|
|
BeforeEach(func() {
|
|
lsblkOutput = `{
|
|
"blockdevices": [
|
|
{
|
|
"name": "mmcblk0",
|
|
"pkname": null,
|
|
"path": "/dev/mmcblk0",
|
|
"fstype": null,
|
|
"mountpoint": null,
|
|
"size": 64088965120,
|
|
"ro": false,
|
|
"label": null
|
|
},{
|
|
"name": "mmcblk0p1",
|
|
"pkname": "mmcblk0",
|
|
"path": "/dev/mmcblk0p1",
|
|
"fstype": "vfat",
|
|
"mountpoint": null,
|
|
"size": 100663296,
|
|
"ro": false,
|
|
"label": "COS_GRUB"
|
|
},{
|
|
"name": "mmcblk0p2",
|
|
"pkname": "mmcblk0",
|
|
"path": "/dev/mmcblk0p2",
|
|
"fstype": "ext4",
|
|
"mountpoint": "/run/initramfs/cos-state",
|
|
"size": 6501171200,
|
|
"ro": false,
|
|
"label": "COS_STATE"
|
|
},{
|
|
"name": "mmcblk0p3",
|
|
"pkname": "mmcblk0",
|
|
"path": "/dev/mmcblk0p3",
|
|
"fstype": "LVM2_member",
|
|
"mountpoint": null,
|
|
"size": 4471128064,
|
|
"ro": false,
|
|
"label": null
|
|
},{
|
|
"name": "mmcblk0p4",
|
|
"pkname": "mmcblk0",
|
|
"path": "/dev/mmcblk0p4",
|
|
"fstype": "ext4",
|
|
"mountpoint": "/usr/local",
|
|
"size": 67108864,
|
|
"ro": false,
|
|
"label": "COS_PERSISTENT"
|
|
},{
|
|
"name": "KairosVG-oem",
|
|
"pkname": "mmcblk0p3",
|
|
"path": "/dev/mapper/KairosVG-oem",
|
|
"fstype": "ext4",
|
|
"mountpoint": "/oem",
|
|
"size": 67108864,
|
|
"ro": false,
|
|
"label": "COS_OEM"
|
|
},{
|
|
"name": "KairosVG-recovery",
|
|
"pkname": "mmcblk0p3",
|
|
"path": "/dev/mapper/KairosVG-recovery",
|
|
"fstype": "ext4",
|
|
"mountpoint": null,
|
|
"size": 4399824896,
|
|
"ro": false,
|
|
"label": "COS_RECOVERY"
|
|
}
|
|
]
|
|
}`
|
|
})
|
|
|
|
It("returns all partitions with `Disk` field populated correctly", func() {
|
|
parts, err := utils.PartitionsFromLsblk(lsblkOutput)
|
|
Expect(err).ToNot(HaveOccurred())
|
|
|
|
for _, p := range parts {
|
|
Expect(p.Disk).To(Equal("/dev/mmcblk0"))
|
|
}
|
|
|
|
Expect(len(parts)).To(Equal(7))
|
|
})
|
|
})
|