| package binary | |
| import ( | |
| "testing" | |
| "cos.googlesource.com/cos/tools.git/src/cmd/cos_image_analyzer/internal/input" | |
| ) | |
| // test GetBinaryInf function | |
| func TestGetBinaryInfo(t *testing.T) { | |
| kclImage1 := `linux /syslinux/vmlinuz.A init=/usr/lib/systemd/systemd boot=local rootwait ro noresume noswap loglevel=7 noinitrd console=ttyS0 security=apparmor virtio_net.napi_tx=1 systemd.unified_cgroup_hierarchy=false systemd.legacy_systemd_cgroup_controller=false csm.disabled=1 dm_verity.error_behavior=3 dm_verity.max_bios=-1 dm_verity.dev_wait=1 i915.modeset=1 cros_efi root=/dev/dm-0` | |
| for _, tc := range []struct { | |
| image *input.ImageInfo | |
| flagInfo *input.FlagInfo | |
| want *input.ImageInfo | |
| }{ // Version and BuildID | |
| {image: &input.ImageInfo{TempDir: "../testdata/image1/", RootfsPartition3: "../testdata/image1/rootfs/"}, | |
| flagInfo: &input.FlagInfo{LocalPtr: true}, | |
| want: &input.ImageInfo{RootfsPartition3: "../testdata/image1", Version: "81", BuildID: "12871.119.0"}}, | |
| {image: &input.ImageInfo{}, | |
| flagInfo: &input.FlagInfo{LocalPtr: true}, | |
| want: &input.ImageInfo{}}, | |
| {image: &input.ImageInfo{TempDir: "../testdata/image2/", RootfsPartition3: "../testdata/image2/rootfs/"}, | |
| flagInfo: &input.FlagInfo{LocalPtr: true}, | |
| want: &input.ImageInfo{RootfsPartition3: "../testdata/image2/rootfs", Version: "77", BuildID: "12371.273.0"}}, | |
| // Kernel Command Line | |
| {image: &input.ImageInfo{TempDir: "../testdata/image1", EFIPartition12: "../testdata/image1/efi/"}, | |
| flagInfo: &input.FlagInfo{BinaryTypesSelected: []string{"Kernel-command-line"}}, | |
| want: &input.ImageInfo{TempDir: "../testdata/image1", EFIPartition12: "../testdata/image1/efi/", KernelCommandLine: kclImage1}}, | |
| } { | |
| GetBinaryInfo(tc.image, tc.flagInfo) | |
| if tc.want.Version != tc.image.Version { | |
| t.Fatalf("GetBinaryInfo expected: %v, got: %v", tc.want.Version, tc.image.Version) | |
| } | |
| if tc.want.BuildID != tc.image.BuildID { | |
| t.Fatalf("GetBinaryInfo expected: %v, got: %v", tc.want.BuildID, tc.image.BuildID) | |
| } | |
| if tc.image.KernelCommandLine != tc.want.KernelCommandLine { | |
| t.Fatalf("Diff kernel command line expected:$%v$, got:$%v$", tc.want.KernelCommandLine, tc.image.KernelCommandLine) | |
| } | |
| } | |
| } |