From 93cb66c8b0f96ed4366c2e5373b381101d5d0c27 Mon Sep 17 00:00:00 2001 From: Chris Gunn Date: Fri, 6 Jun 2025 13:47:35 -0700 Subject: [PATCH 1/2] Make base image input to functional tests more generic. 1. Change base image info from a set of parameters to a combined struct. This will make it eaiser to pass the info around. It also makes it easier to add additional properties. 2. Change the default base image from a constant to a priority list. This will make it easier to manually run the image independent tests on other images. --- .../artifactsinputoutput_test.go | 2 +- .../customizebootloader_test.go | 17 ++- .../imagecustomizerlib/customizefiles_test.go | 8 +- .../customizehostname_test.go | 2 +- .../customizeoverlays_test.go | 4 +- .../customizepackages_test.go | 31 +++-- .../customizepartitions_test.go | 80 ++++++------- .../customizeselinux_test.go | 28 ++--- .../customizeservices_test.go | 6 +- .../imagecustomizerlib/customizeuki_test.go | 5 +- .../imagecustomizerlib/customizeusers_test.go | 6 +- .../customizeverity_test.go | 112 ++++++++---------- .../extractpartitions_test.go | 4 +- .../imagecustomizer_test.go | 16 +-- .../installedkernelcheck_test.go | 2 +- .../kernelmoduleutils_test.go | 2 +- .../liveosisobuilder_test.go | 34 +++--- .../tools/pkg/imagecustomizerlib/main_test.go | 93 ++++++++++----- .../pkg/imagecustomizerlib/resolvconf_test.go | 8 +- .../pkg/imagecustomizerlib/runscripts_test.go | 2 +- 20 files changed, 230 insertions(+), 232 deletions(-) diff --git a/toolkit/tools/pkg/imagecustomizerlib/artifactsinputoutput_test.go b/toolkit/tools/pkg/imagecustomizerlib/artifactsinputoutput_test.go index 8092658532..0452f3f805 100644 --- a/toolkit/tools/pkg/imagecustomizerlib/artifactsinputoutput_test.go +++ b/toolkit/tools/pkg/imagecustomizerlib/artifactsinputoutput_test.go @@ -12,7 +12,7 @@ import ( ) func TestOutputAndInjectArtifacts(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionAzl3) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) ukifyExists, err := file.CommandExists("ukify") assert.NoError(t, err) diff --git a/toolkit/tools/pkg/imagecustomizerlib/customizebootloader_test.go b/toolkit/tools/pkg/imagecustomizerlib/customizebootloader_test.go index b1dc26d85a..b742744db4 100644 --- a/toolkit/tools/pkg/imagecustomizerlib/customizebootloader_test.go +++ b/toolkit/tools/pkg/imagecustomizerlib/customizebootloader_test.go @@ -13,25 +13,22 @@ import ( ) func TestCustomizeImageMultiKernel(t *testing.T) { - for _, version := range supportedAzureLinuxVersions { - t.Run(string(version), func(t *testing.T) { - testCustomizeImageMultiKernel(t, "TestCustomizeImageMultiKernel"+string(version), - baseImageTypeCoreEfi, version) + for _, baseImageInfo := range baseImageAll { + t.Run(baseImageInfo.Name, func(t *testing.T) { + testCustomizeImageMultiKernel(t, "TestCustomizeImageMultiKernel"+baseImageInfo.Name, baseImageInfo) }) } } -func testCustomizeImageMultiKernel(t *testing.T, testName string, imageType baseImageType, - imageVersion baseImageVersion, -) { - baseImage := checkSkipForCustomizeImage(t, imageType, imageVersion) +func testCustomizeImageMultiKernel(t *testing.T, testName string, baseImageInfo testBaseImageInfo) { + baseImage := checkSkipForCustomizeImage(t, baseImageInfo) testTmpDir := filepath.Join(tmpDir, testName) buildDir := filepath.Join(testTmpDir, "build") outImageFilePath := filepath.Join(testTmpDir, "image.raw") configFile := "" - switch imageVersion { + switch baseImageInfo.Version { case baseImageVersionAzl2: configFile = filepath.Join(testDir, "multikernel-azl2.yaml") @@ -60,7 +57,7 @@ func testCustomizeImageMultiKernel(t *testing.T, testName string, imageType base linuxCommandRegex := regexp.MustCompile(`linux.* console=tty0 console=ttyS0 `) matches := linuxCommandRegex.FindAllString(grubCfgContents, -1) - switch imageVersion { + switch baseImageInfo.Version { case baseImageVersionAzl2: // AZL2's default grub.cfg file doesn't support multiple kernels. assert.GreaterOrEqual(t, len(matches), 1, "grub.cfg:\n%s", grubCfgContents) diff --git a/toolkit/tools/pkg/imagecustomizerlib/customizefiles_test.go b/toolkit/tools/pkg/imagecustomizerlib/customizefiles_test.go index a941af2599..5599c348ff 100644 --- a/toolkit/tools/pkg/imagecustomizerlib/customizefiles_test.go +++ b/toolkit/tools/pkg/imagecustomizerlib/customizefiles_test.go @@ -71,7 +71,7 @@ func TestCopyAdditionalFiles(t *testing.T) { } func TestCustomizeImageAdditionalFiles(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) testTmpDir := filepath.Join(tmpDir, "TestCustomizeImageAdditionalFiles") buildDir := filepath.Join(testTmpDir, "build") @@ -117,7 +117,7 @@ func TestCustomizeImageAdditionalFiles(t *testing.T) { } func TestCustomizeImageAdditionalFilesInfiniteFile(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) testTmpDir := filepath.Join(tmpDir, "TestCustomizeImageAdditionalFilesInfiniteFile") buildDir := filepath.Join(testTmpDir, "build") @@ -193,7 +193,7 @@ func TestCopyAdditionalDirs(t *testing.T) { } func TestCustomizeImageAdditionalDirs(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) testTmpDir := filepath.Join(tmpDir, "TestCustomizeImageAdditionalDirs") buildDir := filepath.Join(testTmpDir, "build") @@ -222,7 +222,7 @@ func TestCustomizeImageAdditionalDirs(t *testing.T) { } func TestCustomizeImageAdditionalDirsInfiniteFile(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) testTmpDir := filepath.Join(tmpDir, "TestCustomizeImageAdditionalDirsInfiniteFile") buildDir := filepath.Join(testTmpDir, "build") diff --git a/toolkit/tools/pkg/imagecustomizerlib/customizehostname_test.go b/toolkit/tools/pkg/imagecustomizerlib/customizehostname_test.go index 920ba97da4..48fbedb5c0 100644 --- a/toolkit/tools/pkg/imagecustomizerlib/customizehostname_test.go +++ b/toolkit/tools/pkg/imagecustomizerlib/customizehostname_test.go @@ -39,7 +39,7 @@ func TestUpdateHostname(t *testing.T) { } func TestCustomizeImageHostname(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) testTmpDir := filepath.Join(tmpDir, "TestCustomizeImageHostname") buildDir := filepath.Join(testTmpDir, "build") diff --git a/toolkit/tools/pkg/imagecustomizerlib/customizeoverlays_test.go b/toolkit/tools/pkg/imagecustomizerlib/customizeoverlays_test.go index 57705f6001..da045c4f94 100644 --- a/toolkit/tools/pkg/imagecustomizerlib/customizeoverlays_test.go +++ b/toolkit/tools/pkg/imagecustomizerlib/customizeoverlays_test.go @@ -15,7 +15,7 @@ import ( ) func TestCustomizeImageOverlays(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) testTempDir := filepath.Join(tmpDir, "TestCustomizeImageOverlays") buildDir := filepath.Join(testTempDir, "build") @@ -79,7 +79,7 @@ func TestCustomizeImageOverlays(t *testing.T) { } func TestCustomizeImageOverlaysSELinux(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) testTempDir := filepath.Join(tmpDir, "TestCustomizeImageOverlaysSELinux") buildDir := filepath.Join(testTempDir, "build") diff --git a/toolkit/tools/pkg/imagecustomizerlib/customizepackages_test.go b/toolkit/tools/pkg/imagecustomizerlib/customizepackages_test.go index 1a873ba132..b15edd1071 100644 --- a/toolkit/tools/pkg/imagecustomizerlib/customizepackages_test.go +++ b/toolkit/tools/pkg/imagecustomizerlib/customizepackages_test.go @@ -21,7 +21,7 @@ import ( func TestCustomizeImagePackagesAddOfflineDir(t *testing.T) { testTmpDir := filepath.Join(tmpDir, "TestCustomizeImagePackagesAddOfflineDir") - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) downloadedRpmsDir := getDownloadedRpmsDir(t, "2.0") buildDir := filepath.Join(testTmpDir, "build") @@ -146,7 +146,7 @@ func TestCustomizeImagePackagesAddOfflineLocalRepoNoGpgKey(t *testing.T) { func testCustomizeImagePackagesAddOfflineLocalRepoHelper(t *testing.T, testName string, withGpgKey bool) { testTmpDir := filepath.Join(tmpDir, testName) - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) downloadedRpmsRepoFile := getDownloadedRpmsRepoFile(t, "2.0", withGpgKey) rpmSources := []string{downloadedRpmsRepoFile} @@ -176,7 +176,7 @@ func testCustomizeImagePackagesAddOfflineLocalRepoHelper(t *testing.T, testName } func TestCustomizeImagePackagesUpdate(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, baseImageInfo := checkSkipForCustomizeDefaultImage(t) testTmpDir := filepath.Join(tmpDir, "TestCustomizeImagePackagesUpdate") buildDir := filepath.Join(testTmpDir, "build") @@ -198,7 +198,7 @@ func TestCustomizeImagePackagesUpdate(t *testing.T) { defer imageConnection.Close() // Ensure tdnf cache was cleaned. - ensureTdnfCacheCleanup(t, imageConnection, "/var/cache/tdnf") + ensureTdnfCacheCleanup(t, imageConnection, "/var/cache/tdnf", baseImageInfo) // Ensure packages were installed. ensureFilesExist(t, imageConnection, @@ -212,7 +212,7 @@ func TestCustomizeImagePackagesUpdate(t *testing.T) { } func TestCustomizeImagePackagesDiskSpace(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) testTmpDir := filepath.Join(tmpDir, "TestCustomizeImagePackagesDiskSpace") buildDir := filepath.Join(testTmpDir, "build") @@ -228,7 +228,8 @@ func TestCustomizeImagePackagesDiskSpace(t *testing.T) { } func TestCustomizeImagePackagesUrlSource(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionAzl3) + baseImageInfo := testBaseImageAzl3CoreEfi + baseImage := checkSkipForCustomizeImage(t, baseImageInfo) testTmpDir := filepath.Join(tmpDir, "TestCustomizeImagePackagesUrlSource") buildDir := filepath.Join(testTmpDir, "build") @@ -258,7 +259,8 @@ func TestCustomizeImagePackagesUrlSource(t *testing.T) { } func TestCustomizeImagePackagesBadRepo(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionAzl3) + baseImageInfo := testBaseImageAzl3CoreEfi + baseImage := checkSkipForCustomizeImage(t, baseImageInfo) testTmpDir := filepath.Join(tmpDir, "TestCustomizeImagePackagesBadRepo") buildDir := filepath.Join(testTmpDir, "build") @@ -274,7 +276,9 @@ func TestCustomizeImagePackagesBadRepo(t *testing.T) { assert.ErrorContains(t, err, "failed to refresh tdnf repo metadata") } -func ensureTdnfCacheCleanup(t *testing.T, imageConnection *ImageConnection, dirPath string) { +func ensureTdnfCacheCleanup(t *testing.T, imageConnection *ImageConnection, dirPath string, + baseImageInfo testBaseImageInfo, +) { // Array to capture all the files of the provided root directory var existingFiles []string @@ -285,7 +289,7 @@ func ensureTdnfCacheCleanup(t *testing.T, imageConnection *ImageConnection, dirP return fmt.Errorf("Failed to access path (%s): %w", path, err) } // Ignore files in the local-repo folder if the base image version is 2.0 - if !(strings.Contains(path, "local-repo") && baseImageVersionDefault == "2.0") { + if !(strings.Contains(path, "local-repo") && baseImageInfo.Version == baseImageVersionAzl2) { fileInfo, err := os.Stat(path) if err != nil { return fmt.Errorf("failed to get file info for %s: %w", path, err) @@ -307,7 +311,8 @@ func ensureTdnfCacheCleanup(t *testing.T, imageConnection *ImageConnection, dirP func TestCustomizeImagePackagesSnapshotTime(t *testing.T) { testTmpDir := filepath.Join(tmpDir, "TestCustomizeImagePackagesSnapshotTime") - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionAzl3) + baseImageInfo := testBaseImageAzl3CoreEfi + baseImage := checkSkipForCustomizeImage(t, baseImageInfo) buildDir := filepath.Join(testTmpDir, "build") outImageFilePath := filepath.Join(testTmpDir, "image.raw") @@ -355,7 +360,8 @@ func TestCustomizeImagePackagesSnapshotTime(t *testing.T) { func TestCustomizeImagePackagesCliSnapshotTimeOverridesConfigFile(t *testing.T) { testTmpDir := filepath.Join(tmpDir, "TestCustomizeImagePackagesSnapshotTime") - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionAzl3) + baseImageInfo := testBaseImageAzl3CoreEfi + baseImage := checkSkipForCustomizeImage(t, baseImageInfo) buildDir := filepath.Join(testTmpDir, "build") outImageFilePath := filepath.Join(testTmpDir, "image.raw") snapshotTimeConfig := "2025-03-19" @@ -403,7 +409,8 @@ func TestCustomizeImagePackagesCliSnapshotTimeOverridesConfigFile(t *testing.T) func TestCustomizeImagePackagesSnapshotTimeWithoutPreviewFlagFails(t *testing.T) { testTmpDir := filepath.Join(tmpDir, "TestCustomizeImagePackagesSnapshotTimeWithoutPreviewFlagFails") - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionAzl3) + baseImageInfo := testBaseImageAzl3CoreEfi + baseImage := checkSkipForCustomizeImage(t, baseImageInfo) buildDir := filepath.Join(testTmpDir, "build") outImageFilePath := filepath.Join(testTmpDir, "image.raw") diff --git a/toolkit/tools/pkg/imagecustomizerlib/customizepartitions_test.go b/toolkit/tools/pkg/imagecustomizerlib/customizepartitions_test.go index a42b902eb9..1b03245f5b 100644 --- a/toolkit/tools/pkg/imagecustomizerlib/customizepartitions_test.go +++ b/toolkit/tools/pkg/imagecustomizerlib/customizepartitions_test.go @@ -19,18 +19,15 @@ import ( ) func TestCustomizeImagePartitions(t *testing.T) { - for _, version := range supportedAzureLinuxVersions { - t.Run(string(version), func(t *testing.T) { - testCustomizeImagePartitionsToEfi(t, "TestCustomizeImagePartitions"+string(version), - baseImageTypeCoreEfi, version) + for _, baseImageInfo := range baseImageAll { + t.Run(baseImageInfo.Name, func(t *testing.T) { + testCustomizeImagePartitionsToEfi(t, "TestCustomizeImagePartitions"+baseImageInfo.Name, baseImageInfo) }) } } -func testCustomizeImagePartitionsToEfi(t *testing.T, testName string, imageType baseImageType, - imageVersion baseImageVersion, -) { - baseImage := checkSkipForCustomizeImage(t, imageType, imageVersion) +func testCustomizeImagePartitionsToEfi(t *testing.T, testName string, baseImageInfo testBaseImageInfo) { + baseImage := checkSkipForCustomizeImage(t, baseImageInfo) testTmpDir := filepath.Join(tmpDir, testName) buildDir := filepath.Join(testTmpDir, "build") @@ -44,10 +41,10 @@ func testCustomizeImagePartitionsToEfi(t *testing.T, testName string, imageType return } - verifyEfiPartitionsImage(t, outImageFilePath, imageVersion, buildDir) + verifyEfiPartitionsImage(t, outImageFilePath, baseImageInfo, buildDir) } -func verifyEfiPartitionsImage(t *testing.T, outImageFilePath string, imageVersion baseImageVersion, buildDir string) { +func verifyEfiPartitionsImage(t *testing.T, outImageFilePath string, baseImageInfo testBaseImageInfo, buildDir string) { // Check output file type. checkFileType(t, outImageFilePath, "raw") @@ -100,7 +97,7 @@ func verifyEfiPartitionsImage(t *testing.T, outImageFilePath string, imageVersio verifyBootloaderConfig(t, imageConnection, "console=tty0 console=ttyS0", partitions[mountPoints[1].PartitionNum], partitions[mountPoints[0].PartitionNum], - imageVersion) + baseImageInfo) // Check the partition types. assert.Equal(t, "c12a7328-f81f-11d2-ba4b-00a0c93ec93b", partitions[1].PartitionTypeUuid) // esp @@ -122,7 +119,7 @@ func verifyEfiPartitionsImage(t *testing.T, outImageFilePath string, imageVersio } func TestCustomizeImagePartitionsSizeOnly(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, baseImageInfo := checkSkipForCustomizeDefaultImage(t) testTmpDir := filepath.Join(tmpDir, "TestCustomizeImagePartitionsSizeOnly") buildDir := filepath.Join(testTmpDir, "build") @@ -178,7 +175,7 @@ func TestCustomizeImagePartitionsSizeOnly(t *testing.T) { verifyBootloaderConfig(t, imageConnection, "", partitions[mountPoints[0].PartitionNum], partitions[mountPoints[0].PartitionNum], - baseImageVersionDefault) + baseImageInfo) // Check the partition types. assert.Equal(t, "c12a7328-f81f-11d2-ba4b-00a0c93ec93b", partitions[1].PartitionTypeUuid) // esp @@ -197,18 +194,15 @@ func TestCustomizeImagePartitionsLegacy(t *testing.T) { t.Skip("Skipping legacy test for arm64") } - for _, version := range supportedAzureLinuxVersions { - t.Run(string(version), func(t *testing.T) { - testCustomizeImagePartitionsLegacy(t, "TestCustomizeImagePartitionsLegacy"+string(version), - baseImageTypeCoreEfi, version) + for _, baseImageInfo := range baseImageAll { + t.Run(baseImageInfo.Name, func(t *testing.T) { + testCustomizeImagePartitionsLegacy(t, "TestCustomizeImagePartitionsLegacy"+baseImageInfo.Name, baseImageInfo) }) } } -func testCustomizeImagePartitionsLegacy(t *testing.T, testName string, imageType baseImageType, - imageVersion baseImageVersion, -) { - baseImage := checkSkipForCustomizeImage(t, imageType, imageVersion) +func testCustomizeImagePartitionsLegacy(t *testing.T, testName string, baseImageInfo testBaseImageInfo) { + baseImage := checkSkipForCustomizeImage(t, baseImageInfo) testTmpDir := filepath.Join(tmpDir, testName) buildDir := filepath.Join(testTmpDir, "build") @@ -223,7 +217,7 @@ func testCustomizeImagePartitionsLegacy(t *testing.T, testName string, imageType return } - verifyLegacyBootImage(t, outImageFilePath, imageVersion, buildDir) + verifyLegacyBootImage(t, outImageFilePath, baseImageInfo, buildDir) // Recustomize legacy image. err = CustomizeImageWithConfigFile(buildDir, legacybootConfigFile, outImageFilePath, nil, outImageFilePath, "raw", @@ -232,7 +226,7 @@ func testCustomizeImagePartitionsLegacy(t *testing.T, testName string, imageType return } - verifyLegacyBootImage(t, outImageFilePath, imageVersion, buildDir) + verifyLegacyBootImage(t, outImageFilePath, baseImageInfo, buildDir) // Convert back to EFI image. err = CustomizeImageWithConfigFile(buildDir, efiConfigFile, outImageFilePath, nil, outImageFilePath, "raw", @@ -241,10 +235,10 @@ func testCustomizeImagePartitionsLegacy(t *testing.T, testName string, imageType return } - verifyEfiPartitionsImage(t, outImageFilePath, imageVersion, buildDir) + verifyEfiPartitionsImage(t, outImageFilePath, baseImageInfo, buildDir) } -func verifyLegacyBootImage(t *testing.T, outImageFilePath string, imageVersion baseImageVersion, buildDir string) { +func verifyLegacyBootImage(t *testing.T, outImageFilePath string, baseImageInfo testBaseImageInfo, buildDir string) { // Check output file type. checkFileType(t, outImageFilePath, "raw") @@ -263,7 +257,7 @@ func verifyLegacyBootImage(t *testing.T, outImageFilePath string, imageVersion b verifyBootGrubCfg(t, imageConnection, "", partitions[coreLegacyMountPoints[0].PartitionNum], partitions[coreLegacyMountPoints[0].PartitionNum], - imageVersion) + baseImageInfo) // Check the partition types. assert.Equal(t, "21686148-6449-6e6f-744e-656564454649", partitions[1].PartitionTypeUuid) // BIOS boot @@ -275,17 +269,18 @@ func verifyLegacyBootImage(t *testing.T, outImageFilePath string, imageVersion b } func TestCustomizeImageKernelCommandLine(t *testing.T) { - for _, version := range supportedAzureLinuxVersions { - t.Run(string(version), func(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, version) - testCustomizeImageKernelCommandLineHelper(t, "TestCustomizeImageKernelCommandLine"+string(version), baseImage) + for _, baseImageInfo := range baseImageAll { + t.Run(baseImageInfo.Name, func(t *testing.T) { + testCustomizeImageKernelCommandLineHelper(t, "TestCustomizeImageKernelCommandLine"+baseImageInfo.Name, baseImageInfo) }) } } -func testCustomizeImageKernelCommandLineHelper(t *testing.T, testName string, baseImage string) { +func testCustomizeImageKernelCommandLineHelper(t *testing.T, testName string, baseImageInfo testBaseImageInfo) { var err error + baseImage := checkSkipForCustomizeImage(t, baseImageInfo) + buildDir := filepath.Join(tmpDir, testName) configFile := filepath.Join(testDir, "extracommandline-config.yaml") outImageFilePath := filepath.Join(buildDir, "image.qcow2") @@ -311,18 +306,15 @@ func testCustomizeImageKernelCommandLineHelper(t *testing.T, testName string, ba } func TestCustomizeImageNewUUIDs(t *testing.T) { - for _, version := range supportedAzureLinuxVersions { - t.Run(string(version), func(t *testing.T) { - testCustomizeImageNewUUIDsHelper(t, "TestCustomizeImageNewUUIDs"+string(version), baseImageTypeCoreEfi, - version) + for _, baseImageInfo := range baseImageAll { + t.Run(baseImageInfo.Name, func(t *testing.T) { + testCustomizeImageNewUUIDsHelper(t, "TestCustomizeImageNewUUIDs"+baseImageInfo.Name, baseImageInfo) }) } } -func testCustomizeImageNewUUIDsHelper(t *testing.T, testName string, imageType baseImageType, - imageVersion baseImageVersion, -) { - baseImage := checkSkipForCustomizeImage(t, imageType, imageVersion) +func testCustomizeImageNewUUIDsHelper(t *testing.T, testName string, baseImageInfo testBaseImageInfo) { + baseImage := checkSkipForCustomizeImage(t, baseImageInfo) testTmpDir := filepath.Join(tmpDir, testName) buildDir := filepath.Join(testTmpDir, "build") @@ -398,7 +390,7 @@ func testCustomizeImageNewUUIDsHelper(t *testing.T, testName string, imageType b verifyBootloaderConfig(t, imageConnection, "", newImagePartitions[coreEfiMountPoints[0].PartitionNum], newImagePartitions[coreEfiMountPoints[0].PartitionNum], - imageVersion) + baseImageInfo) } func getFilteredFstabEntries(t *testing.T, imageConnection *ImageConnection) []diskutils.FstabEntry { @@ -438,10 +430,10 @@ func verifyFstabEntries(t *testing.T, imageConnection *ImageConnection, mountPoi } func verifyBootloaderConfig(t *testing.T, imageConnection *ImageConnection, extraCommandLineArgs string, - bootInfo diskutils.PartitionInfo, rootfsInfo diskutils.PartitionInfo, imageVersion baseImageVersion, + bootInfo diskutils.PartitionInfo, rootfsInfo diskutils.PartitionInfo, baseImageInfo testBaseImageInfo, ) { verifyEspGrubCfg(t, imageConnection, bootInfo.Uuid) - verifyBootGrubCfg(t, imageConnection, extraCommandLineArgs, bootInfo, rootfsInfo, imageVersion) + verifyBootGrubCfg(t, imageConnection, extraCommandLineArgs, bootInfo, rootfsInfo, baseImageInfo) } func verifyEspGrubCfg(t *testing.T, imageConnection *ImageConnection, bootUuid string) { @@ -456,7 +448,7 @@ func verifyEspGrubCfg(t *testing.T, imageConnection *ImageConnection, bootUuid s func verifyBootGrubCfg(t *testing.T, imageConnection *ImageConnection, extraCommandLineArgs string, bootInfo diskutils.PartitionInfo, rootfsInfo diskutils.PartitionInfo, - imageVersion baseImageVersion, + baseImageInfo testBaseImageInfo, ) { grubCfgFilePath := filepath.Join(imageConnection.Chroot().RootDir(), "/boot/grub2/grub.cfg") grubCfgContents, err := file.Read(grubCfgFilePath) @@ -464,7 +456,7 @@ func verifyBootGrubCfg(t *testing.T, imageConnection *ImageConnection, extraComm return } - switch imageVersion { + switch baseImageInfo.Version { case baseImageVersionAzl2: assert.Regexp(t, fmt.Sprintf(`(?m)^search -n -u %s -s$`, regexp.QuoteMeta(bootInfo.Uuid)), grubCfgContents) diff --git a/toolkit/tools/pkg/imagecustomizerlib/customizeselinux_test.go b/toolkit/tools/pkg/imagecustomizerlib/customizeselinux_test.go index 4ca2817613..4ed2b7556b 100644 --- a/toolkit/tools/pkg/imagecustomizerlib/customizeselinux_test.go +++ b/toolkit/tools/pkg/imagecustomizerlib/customizeselinux_test.go @@ -14,18 +14,15 @@ import ( ) func TestCustomizeImageSELinux(t *testing.T) { - for _, version := range supportedAzureLinuxVersions { - t.Run(string(version), func(t *testing.T) { - testCustomizeImageSELinuxHelper(t, "TestCustomizeImageSELinux"+string(version), baseImageTypeCoreEfi, - version) + for _, baseImageInfo := range baseImageAll { + t.Run(baseImageInfo.Name, func(t *testing.T) { + testCustomizeImageSELinuxHelper(t, "TestCustomizeImageSELinux"+baseImageInfo.Name, baseImageInfo) }) } } -func testCustomizeImageSELinuxHelper(t *testing.T, testName string, imageType baseImageType, - imageVersion baseImageVersion, -) { - baseImage := checkSkipForCustomizeImage(t, imageType, imageVersion) +func testCustomizeImageSELinuxHelper(t *testing.T, testName string, baseImageInfo testBaseImageInfo) { + baseImage := checkSkipForCustomizeImage(t, baseImageInfo) testTmpDir := filepath.Join(tmpDir, testName) buildDir := filepath.Join(testTmpDir, "build") @@ -111,18 +108,15 @@ func testCustomizeImageSELinuxHelper(t *testing.T, testName string, imageType ba } func TestCustomizeImageSELinuxAndPartitions(t *testing.T) { - for _, version := range supportedAzureLinuxVersions { - t.Run(string(version), func(t *testing.T) { - testCustomizeImageSELinuxAndPartitionsHelper(t, "TestCustomizeImageSELinuxAndPartitions"+string(version), - baseImageTypeCoreEfi, version) + for _, baseImageInfo := range baseImageAll { + t.Run(baseImageInfo.Name, func(t *testing.T) { + testCustomizeImageSELinuxAndPartitionsHelper(t, "TestCustomizeImageSELinuxAndPartitions"+baseImageInfo.Name, baseImageInfo) }) } } -func testCustomizeImageSELinuxAndPartitionsHelper(t *testing.T, testName string, imageType baseImageType, - imageVersion baseImageVersion, -) { - baseImage := checkSkipForCustomizeImage(t, imageType, imageVersion) +func testCustomizeImageSELinuxAndPartitionsHelper(t *testing.T, testName string, baseImageInfo testBaseImageInfo) { + baseImage := checkSkipForCustomizeImage(t, baseImageInfo) testTmpDir := filepath.Join(tmpDir, testName) buildDir := filepath.Join(testTmpDir, "build") @@ -172,7 +166,7 @@ func testCustomizeImageSELinuxAndPartitionsHelper(t *testing.T, testName string, } func TestCustomizeImageSELinuxNoPolicy(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) testTmpDir := filepath.Join(tmpDir, "TestCustomizeImageSELinuxNoPolicy") buildDir := filepath.Join(testTmpDir, "build") diff --git a/toolkit/tools/pkg/imagecustomizerlib/customizeservices_test.go b/toolkit/tools/pkg/imagecustomizerlib/customizeservices_test.go index 7cf1e5a379..24472d9c16 100644 --- a/toolkit/tools/pkg/imagecustomizerlib/customizeservices_test.go +++ b/toolkit/tools/pkg/imagecustomizerlib/customizeservices_test.go @@ -13,7 +13,7 @@ import ( ) func TestCustomizeImageServicesEnableDisable(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) testTmpDir := filepath.Join(tmpDir, "TestCustomizeImageServicesEnableDisable") buildDir := filepath.Join(testTmpDir, "build") @@ -45,7 +45,7 @@ func TestCustomizeImageServicesEnableDisable(t *testing.T) { } func TestCustomizeImageServicesEnableUnknown(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) testTmpDir := filepath.Join(tmpDir, "TestCustomizeImageServicesEnableUnknown") buildDir := filepath.Join(testTmpDir, "build") @@ -69,7 +69,7 @@ func TestCustomizeImageServicesEnableUnknown(t *testing.T) { } func TestCustomizeImageServicesDisableUnknown(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) testTmpDir := filepath.Join(tmpDir, "TestCustomizeImageServicesDisableUnknown") buildDir := filepath.Join(testTmpDir, "build") diff --git a/toolkit/tools/pkg/imagecustomizerlib/customizeuki_test.go b/toolkit/tools/pkg/imagecustomizerlib/customizeuki_test.go index e5f18ad598..2daa4e0053 100644 --- a/toolkit/tools/pkg/imagecustomizerlib/customizeuki_test.go +++ b/toolkit/tools/pkg/imagecustomizerlib/customizeuki_test.go @@ -14,9 +14,8 @@ import ( ) func TestCustomizeImageVerityUsrUki(t *testing.T) { - imageType := baseImageTypeCoreEfi - imageVersion := baseImageVersionAzl3 - baseImage := checkSkipForCustomizeImage(t, imageType, imageVersion) + baseImageInfo := testBaseImageAzl3CoreEfi + baseImage := checkSkipForCustomizeImage(t, baseImageInfo) ukifyExists, err := file.CommandExists("ukify") assert.NoError(t, err) diff --git a/toolkit/tools/pkg/imagecustomizerlib/customizeusers_test.go b/toolkit/tools/pkg/imagecustomizerlib/customizeusers_test.go index 3f0d901f03..f1db240210 100644 --- a/toolkit/tools/pkg/imagecustomizerlib/customizeusers_test.go +++ b/toolkit/tools/pkg/imagecustomizerlib/customizeusers_test.go @@ -25,7 +25,7 @@ var ( ) func TestCustomizeImageUsers(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) testTmpDir := filepath.Join(tmpDir, "TestCustomizeImageUsers") buildDir := filepath.Join(testTmpDir, "build") @@ -144,7 +144,7 @@ func TestCustomizeImageUsers(t *testing.T) { } func TestCustomizeImageUsersExitingUserHomeDir(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) testTmpDir := filepath.Join(tmpDir, "TestCustomizeImageUsers") buildDir := filepath.Join(testTmpDir, "build") @@ -168,7 +168,7 @@ func TestCustomizeImageUsersExitingUserHomeDir(t *testing.T) { } func TestCustomizeImageUsersExitingUserUid(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) testTmpDir := filepath.Join(tmpDir, "TestCustomizeImageUsers") buildDir := filepath.Join(testTmpDir, "build") diff --git a/toolkit/tools/pkg/imagecustomizerlib/customizeverity_test.go b/toolkit/tools/pkg/imagecustomizerlib/customizeverity_test.go index 1f4d111e06..6463ce58ab 100644 --- a/toolkit/tools/pkg/imagecustomizerlib/customizeverity_test.go +++ b/toolkit/tools/pkg/imagecustomizerlib/customizeverity_test.go @@ -22,18 +22,15 @@ import ( ) func TestCustomizeImageVerity(t *testing.T) { - for _, version := range supportedAzureLinuxVersions { - t.Run(string(version), func(t *testing.T) { - testCustomizeImageVerityHelper(t, "TestCustomizeImageVerity"+string(version), baseImageTypeCoreEfi, - version) + for _, baseImageInfo := range baseImageAll { + t.Run(baseImageInfo.Name, func(t *testing.T) { + testCustomizeImageVerityHelper(t, "TestCustomizeImageVerity"+baseImageInfo.Name, baseImageInfo) }) } } -func testCustomizeImageVerityHelper(t *testing.T, testName string, imageType baseImageType, - imageVersion baseImageVersion, -) { - baseImage := checkSkipForCustomizeImage(t, imageType, imageVersion) +func testCustomizeImageVerityHelper(t *testing.T, testName string, baseImageInfo testBaseImageInfo) { + baseImage := checkSkipForCustomizeImage(t, baseImageInfo) testTempDir := filepath.Join(tmpDir, testName) buildDir := filepath.Join(testTempDir, "build") @@ -47,7 +44,7 @@ func testCustomizeImageVerityHelper(t *testing.T, testName string, imageType bas return } - verifyRootVerity(t, imageType, imageVersion, buildDir, outImageFilePath) + verifyRootVerity(t, baseImageInfo, buildDir, outImageFilePath) // Recustomize the image. err = CustomizeImageWithConfigFile(buildDir, configFile, outImageFilePath, nil, outImageFilePath, "raw", @@ -56,10 +53,10 @@ func testCustomizeImageVerityHelper(t *testing.T, testName string, imageType bas return } - verifyRootVerity(t, imageType, imageVersion, buildDir, outImageFilePath) + verifyRootVerity(t, baseImageInfo, buildDir, outImageFilePath) } -func verifyRootVerity(t *testing.T, imageType baseImageType, imageVersion baseImageVersion, buildDir string, +func verifyRootVerity(t *testing.T, baseImageInfo testBaseImageInfo, buildDir string, outImageFilePath string, ) { // Connect to customized image. @@ -102,7 +99,7 @@ func verifyRootVerity(t *testing.T, imageType baseImageType, imageVersion baseIm rootDevice := partitionDevPath(imageConnection, 3) hashDevice := partitionDevPath(imageConnection, 4) verifyVerityGrub(t, bootPath, rootDevice, hashDevice, "PARTUUID="+partitions[3].PartUuid, - "PARTUUID="+partitions[4].PartUuid, "root", "rd.info", imageVersion, "panic-on-corruption") + "PARTUUID="+partitions[4].PartUuid, "root", "rd.info", baseImageInfo, "panic-on-corruption") err = imageConnection.CleanClose() if !assert.NoError(t, err) { @@ -111,18 +108,15 @@ func verifyRootVerity(t *testing.T, imageType baseImageType, imageVersion baseIm } func TestCustomizeImageVerityCosiShrinkExtract(t *testing.T) { - for _, version := range supportedAzureLinuxVersions { - t.Run(string(version), func(t *testing.T) { - testCustomizeImageVerityCosiExtractHelper(t, "TestCustomizeImageVerityShrinkExtract"+string(version), - baseImageTypeCoreEfi, version) + for _, baseImageInfo := range baseImageAll { + t.Run(baseImageInfo.Name, func(t *testing.T) { + testCustomizeImageVerityCosiExtractHelper(t, "TestCustomizeImageVerityShrinkExtract"+baseImageInfo.Name, baseImageInfo) }) } } -func testCustomizeImageVerityCosiExtractHelper(t *testing.T, testName string, imageType baseImageType, - imageVersion baseImageVersion, -) { - baseImage := checkSkipForCustomizeImage(t, imageType, imageVersion) +func testCustomizeImageVerityCosiExtractHelper(t *testing.T, testName string, baseImageInfo testBaseImageInfo) { + baseImage := checkSkipForCustomizeImage(t, baseImageInfo) testTempDir := filepath.Join(tmpDir, testName) buildDir := filepath.Join(testTempDir, "build") @@ -214,11 +208,11 @@ func testCustomizeImageVerityCosiExtractHelper(t *testing.T, testName string, im // Verify that verity is configured correctly. verifyVerityGrub(t, bootMountPath, rootDevice.DevicePath(), hashDevice.DevicePath(), "PARTLABEL=root", - "PARTLABEL=roothash", "root", "rd.info", imageVersion, "panic-on-corruption") + "PARTLABEL=roothash", "root", "rd.info", baseImageInfo, "panic-on-corruption") } func verifyVerityGrub(t *testing.T, bootPath string, dataDevice string, hashDevice string, dataId string, hashId string, - verityType string, extraCommandLine string, imageVersion baseImageVersion, corruptionOption string, + verityType string, extraCommandLine string, baseImageInfo testBaseImageInfo, corruptionOption string, ) { // Extract kernel command line args. grubCfgPath := filepath.Join(bootPath, "/grub2/grub.cfg") @@ -240,7 +234,7 @@ func verifyVerityGrub(t *testing.T, bootPath string, dataDevice string, hashDevi // Verity extra command line args. recoveryCount := 0 - if imageVersion == baseImageVersionAzl3 { + if baseImageInfo.Version == baseImageVersionAzl3 { // Count the number of recovery menu items there are. // These menu items won't contain the extra command line args. recoveryCount = strings.Count(grubCfgContents, "(recovery mode)") @@ -335,18 +329,15 @@ func verifyVerityHelper(t *testing.T, kernelArgsList []string, dataDevice string } func TestCustomizeImageVerityUsr(t *testing.T) { - for _, version := range supportedAzureLinuxVersions { - t.Run(string(version), func(t *testing.T) { - testCustomizeImageVerityUsrHelper(t, "TestCustomizeImageVerityUsr"+string(version), baseImageTypeCoreEfi, - version) + for _, baseImageInfo := range baseImageAll { + t.Run(baseImageInfo.Name, func(t *testing.T) { + testCustomizeImageVerityUsrHelper(t, "TestCustomizeImageVerityUsr"+baseImageInfo.Name, baseImageInfo) }) } } -func testCustomizeImageVerityUsrHelper(t *testing.T, testName string, imageType baseImageType, - imageVersion baseImageVersion, -) { - baseImage := checkSkipForCustomizeImage(t, imageType, imageVersion) +func testCustomizeImageVerityUsrHelper(t *testing.T, testName string, baseImageInfo testBaseImageInfo) { + baseImage := checkSkipForCustomizeImage(t, baseImageInfo) testTempDir := filepath.Join(tmpDir, testName) buildDir := filepath.Join(testTempDir, "build") @@ -360,7 +351,7 @@ func testCustomizeImageVerityUsrHelper(t *testing.T, testName string, imageType return } - verityUsrVerity(t, imageType, imageVersion, buildDir, outImageFilePath, "") + verityUsrVerity(t, baseImageInfo, buildDir, outImageFilePath, "") // Recustomize image. // This helps verify that verity-enabled images can be recustomized. @@ -370,10 +361,10 @@ func testCustomizeImageVerityUsrHelper(t *testing.T, testName string, imageType return } - verityUsrVerity(t, imageType, imageVersion, buildDir, outImageFilePath, "") + verityUsrVerity(t, baseImageInfo, buildDir, outImageFilePath, "") } -func verityUsrVerity(t *testing.T, imageType baseImageType, imageVersion baseImageVersion, buildDir string, +func verityUsrVerity(t *testing.T, baseImageInfo testBaseImageInfo, buildDir string, outImageFilePath string, corruptionOption string, ) { // Connect to usr verity image. @@ -415,22 +406,19 @@ func verityUsrVerity(t *testing.T, imageType baseImageType, imageVersion baseIma usrDevice := partitionDevPath(imageConnection, 3) hashDevice := partitionDevPath(imageConnection, 4) verifyVerityGrub(t, bootPath, usrDevice, hashDevice, "UUID="+partitions[3].Uuid, - "UUID="+partitions[4].Uuid, "usr", "rd.info", imageVersion, corruptionOption) + "UUID="+partitions[4].Uuid, "usr", "rd.info", baseImageInfo, corruptionOption) } func TestCustomizeImageVerityUsr2Stage(t *testing.T) { - for _, version := range supportedAzureLinuxVersions { - t.Run(string(version), func(t *testing.T) { - testCustomizeImageVerityUsr2StageHelper(t, "testCustomizeImageVerityUsr2Stage"+string(version), baseImageTypeCoreEfi, - version) + for _, baseImageInfo := range baseImageAll { + t.Run(baseImageInfo.Name, func(t *testing.T) { + testCustomizeImageVerityUsr2StageHelper(t, "testCustomizeImageVerityUsr2Stage"+baseImageInfo.Name, baseImageInfo) }) } } -func testCustomizeImageVerityUsr2StageHelper(t *testing.T, testName string, imageType baseImageType, - imageVersion baseImageVersion, -) { - baseImage := checkSkipForCustomizeImage(t, imageType, imageVersion) +func testCustomizeImageVerityUsr2StageHelper(t *testing.T, testName string, baseImageInfo testBaseImageInfo) { + baseImage := checkSkipForCustomizeImage(t, baseImageInfo) testTempDir := filepath.Join(tmpDir, testName) buildDir := filepath.Join(testTempDir, "build") @@ -453,22 +441,19 @@ func testCustomizeImageVerityUsr2StageHelper(t *testing.T, testName string, imag return } - verityUsrVerity(t, imageType, imageVersion, buildDir, stage2FilePath, "panic-on-corruption") + verityUsrVerity(t, baseImageInfo, buildDir, stage2FilePath, "panic-on-corruption") } func TestCustomizeImageVerityReinitRoot(t *testing.T) { - for _, version := range supportedAzureLinuxVersions { - t.Run(string(version), func(t *testing.T) { - testCustomizeImageVerityReinitRootHelper(t, "TestCustomizeImageVerityReinitRoot"+string(version), - baseImageTypeCoreEfi, version) + for _, baseImageInfo := range baseImageAll { + t.Run(baseImageInfo.Name, func(t *testing.T) { + testCustomizeImageVerityReinitRootHelper(t, "TestCustomizeImageVerityReinitRoot"+baseImageInfo.Name, baseImageInfo) }) } } -func testCustomizeImageVerityReinitRootHelper(t *testing.T, testName string, imageType baseImageType, - imageVersion baseImageVersion, -) { - baseImage := checkSkipForCustomizeImage(t, imageType, imageVersion) +func testCustomizeImageVerityReinitRootHelper(t *testing.T, testName string, baseImageInfo testBaseImageInfo) { + baseImage := checkSkipForCustomizeImage(t, baseImageInfo) testTempDir := filepath.Join(tmpDir, testName) buildDir := filepath.Join(testTempDir, "build") @@ -485,7 +470,7 @@ func testCustomizeImageVerityReinitRootHelper(t *testing.T, testName string, ima return } - verifyRootVerity(t, imageType, imageVersion, buildDir, stage1FilePath) + verifyRootVerity(t, baseImageInfo, buildDir, stage1FilePath) // Stage 2a: Reinitialize verity. err = CustomizeImageWithConfigFile(buildDir, stage2aConfigFile, stage1FilePath, nil, stage2FilePath, "raw", @@ -494,7 +479,7 @@ func testCustomizeImageVerityReinitRootHelper(t *testing.T, testName string, ima return } - verifyRootVerity(t, imageType, imageVersion, buildDir, stage1FilePath) + verifyRootVerity(t, baseImageInfo, buildDir, stage1FilePath) // Stage 2b: Reinitialize verity + hard-reset bootloader. err = CustomizeImageWithConfigFile(buildDir, stage2bConfigFile, stage1FilePath, nil, stage2FilePath, "raw", @@ -503,22 +488,19 @@ func testCustomizeImageVerityReinitRootHelper(t *testing.T, testName string, ima return } - verifyRootVerity(t, imageType, imageVersion, buildDir, stage2FilePath) + verifyRootVerity(t, baseImageInfo, buildDir, stage2FilePath) } func TestCustomizeImageVerityReinitUsr(t *testing.T) { - for _, version := range supportedAzureLinuxVersions { - t.Run(string(version), func(t *testing.T) { - testCustomizeImageVerityReinitUsrHelper(t, "TestCustomizeImageVerityReinitUsr"+string(version), - baseImageTypeCoreEfi, version) + for _, baseImageInfo := range baseImageAll { + t.Run(baseImageInfo.Name, func(t *testing.T) { + testCustomizeImageVerityReinitUsrHelper(t, "TestCustomizeImageVerityReinitUsr"+baseImageInfo.Name, baseImageInfo) }) } } -func testCustomizeImageVerityReinitUsrHelper(t *testing.T, testName string, imageType baseImageType, - imageVersion baseImageVersion, -) { - baseImage := checkSkipForCustomizeImage(t, imageType, imageVersion) +func testCustomizeImageVerityReinitUsrHelper(t *testing.T, testName string, baseImageInfo testBaseImageInfo) { + baseImage := checkSkipForCustomizeImage(t, baseImageInfo) testTempDir := filepath.Join(tmpDir, testName) buildDir := filepath.Join(testTempDir, "build") @@ -534,7 +516,7 @@ func testCustomizeImageVerityReinitUsrHelper(t *testing.T, testName string, imag return } - verityUsrVerity(t, imageType, imageVersion, buildDir, stage1FilePath, "") + verityUsrVerity(t, baseImageInfo, buildDir, stage1FilePath, "") // Stage 2: Reinitialize verity. err = CustomizeImageWithConfigFile(buildDir, stage2ConfigFile, stage1FilePath, nil, stage2FilePath, "raw", @@ -543,5 +525,5 @@ func testCustomizeImageVerityReinitUsrHelper(t *testing.T, testName string, imag return } - verityUsrVerity(t, imageType, imageVersion, buildDir, stage2FilePath, "") + verityUsrVerity(t, baseImageInfo, buildDir, stage2FilePath, "") } diff --git a/toolkit/tools/pkg/imagecustomizerlib/extractpartitions_test.go b/toolkit/tools/pkg/imagecustomizerlib/extractpartitions_test.go index fad36bd077..748342aa8f 100644 --- a/toolkit/tools/pkg/imagecustomizerlib/extractpartitions_test.go +++ b/toolkit/tools/pkg/imagecustomizerlib/extractpartitions_test.go @@ -251,7 +251,7 @@ func verifySkippableFrameMetadataFromFile(partitionFilepath string, magicNumber func TestCustomizeImageNopShrink(t *testing.T) { var err error - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) configFile := filepath.Join(testDir, "consume-space.yaml") testTempDir := filepath.Join(tmpDir, "TestCustomizeImageNopShrink") @@ -344,7 +344,7 @@ func TestCustomizeImageNopShrink(t *testing.T) { func TestCustomizeImageExtractEmptyPartition(t *testing.T) { var err error - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) testTempDir := filepath.Join(tmpDir, "TestCustomizeImageExtractEmptyPartition") buildDir := filepath.Join(testTempDir, "build") diff --git a/toolkit/tools/pkg/imagecustomizerlib/imagecustomizer_test.go b/toolkit/tools/pkg/imagecustomizerlib/imagecustomizer_test.go index b873642623..eb36a9e21e 100644 --- a/toolkit/tools/pkg/imagecustomizerlib/imagecustomizer_test.go +++ b/toolkit/tools/pkg/imagecustomizerlib/imagecustomizer_test.go @@ -50,7 +50,7 @@ var ( func TestCustomizeImageEmptyConfig(t *testing.T) { var err error - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) buildDir := filepath.Join(tmpDir, "TestCustomizeImageEmptyConfig") outImageFilePath := filepath.Join(buildDir, "image.vhd") @@ -68,7 +68,7 @@ func TestCustomizeImageEmptyConfig(t *testing.T) { } func TestCustomizeImageVhd(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) testTmpDir := filepath.Join(tmpDir, "TestCustomizeImageVhd") buildDir := filepath.Join(testTmpDir, "build") @@ -532,7 +532,7 @@ func TestCustomizeImage_InputImageFileSelection(t *testing.T) { config := &imagecustomizerapi.Config{} inputImageFileFake := filepath.Join(buildDir, "doesnotexist.xxx") - inputImageFileReal := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + inputImageFileReal, _ := checkSkipForCustomizeDefaultImage(t) inputImageFile := inputImageFileReal rpmSources := []string{} @@ -579,7 +579,7 @@ func TestCustomizeImage_InputImageFileAsRelativePath(t *testing.T) { config := &imagecustomizerapi.Config{} inputImageFileAbsoluteFake := filepath.Join(buildDir, "doesnotexist.xxx") - inputImageFileAbsoluteReal := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + inputImageFileAbsoluteReal, _ := checkSkipForCustomizeDefaultImage(t) cwd, err := os.Getwd() assert.NoError(t, err) @@ -642,7 +642,7 @@ func TestCustomizeImage_InputImageFileAsRelativePath(t *testing.T) { func TestCustomizeImageKernelCommandLineAdd(t *testing.T) { var err error - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) buildDir := filepath.Join(tmpDir, "TestCustomizeImageKernelCommandLine") outImageFilePath := filepath.Join(buildDir, "image.vhd") @@ -691,7 +691,7 @@ func TestCustomizeImage_OutputImageFileSelection(t *testing.T) { buildDir := filepath.Join(tmpDir, "TestCustomizeImage_OutputImageFileSelection") baseConfigPath := buildDir config := &imagecustomizerapi.Config{} - inputImageFile := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + inputImageFile, _ := checkSkipForCustomizeDefaultImage(t) rpmSources := []string{} outputImageFileAsArgument := filepath.Join(buildDir, "image-as-arg.vhd") @@ -739,7 +739,7 @@ func TestCustomizeImage_OutputImageFileAsRelativePath(t *testing.T) { buildDir := filepath.Join(tmpDir, "TestCustomizeImage_OutputImageFileAsRelativePathOnCommandLine") baseConfigPath := buildDir config := &imagecustomizerapi.Config{} - inputImageFile := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + inputImageFile, _ := checkSkipForCustomizeDefaultImage(t) rpmSources := []string{} outputImageFileAbsolute := filepath.Join(buildDir, "image.vhdx") @@ -780,7 +780,7 @@ func TestCustomizeImage_OutputImageFileAsRelativePath(t *testing.T) { } func TestCustomizeImage_OutputImageFormatSelection(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) buildDir := filepath.Join(tmpDir, "TestCustomizeImage_OutputImageFormatSelection") outputImageFile := filepath.Join(buildDir, "image.dat") diff --git a/toolkit/tools/pkg/imagecustomizerlib/installedkernelcheck_test.go b/toolkit/tools/pkg/imagecustomizerlib/installedkernelcheck_test.go index 43283d4f6b..1c89612ba7 100644 --- a/toolkit/tools/pkg/imagecustomizerlib/installedkernelcheck_test.go +++ b/toolkit/tools/pkg/imagecustomizerlib/installedkernelcheck_test.go @@ -11,7 +11,7 @@ import ( ) func TestCustomizeImageMissingKernel(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) testTmpDir := filepath.Join(tmpDir, "TestCustomizeImageMissingKernel") buildDir := filepath.Join(testTmpDir, "build") diff --git a/toolkit/tools/pkg/imagecustomizerlib/kernelmoduleutils_test.go b/toolkit/tools/pkg/imagecustomizerlib/kernelmoduleutils_test.go index 5d4c1092c9..6aa57782ee 100644 --- a/toolkit/tools/pkg/imagecustomizerlib/kernelmoduleutils_test.go +++ b/toolkit/tools/pkg/imagecustomizerlib/kernelmoduleutils_test.go @@ -219,7 +219,7 @@ func TestRemoveModuleFromDisableList(t *testing.T) { } func TestCustomizeImageKernelModules(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) testTmpDir := filepath.Join(tmpDir, "TestCustomizeImageKernelModules") buildDir := filepath.Join(testTmpDir, "build") diff --git a/toolkit/tools/pkg/imagecustomizerlib/liveosisobuilder_test.go b/toolkit/tools/pkg/imagecustomizerlib/liveosisobuilder_test.go index ca35d8fe25..5def77de46 100644 --- a/toolkit/tools/pkg/imagecustomizerlib/liveosisobuilder_test.go +++ b/toolkit/tools/pkg/imagecustomizerlib/liveosisobuilder_test.go @@ -300,7 +300,7 @@ func VerifyBootstrapPXEArtifacts(t *testing.T, packageInfo *PackageVersionInform // - ISO {bootstrap} to ISO {bootstrap} , with no OS changes // - ISO {bootstrap} to ISO {full-os} , with selinux disabled func TestCustomizeImageLiveOSInitramfs1(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, baseImageInfo := checkSkipForCustomizeDefaultImage(t) testTempDir := filepath.Join(tmpDir, "TestCustomizeImageLiveOSInitramfs1") buildDir := filepath.Join(testTempDir, "build") @@ -308,7 +308,7 @@ func TestCustomizeImageLiveOSInitramfs1(t *testing.T) { // SELinux in Live OS is only supported with azl3 selinuxMode := imagecustomizerapi.SELinuxModeEnforcing - if baseImageVersionDefault == baseImageVersionAzl2 { + if baseImageInfo.Version == baseImageVersionAzl2 { selinuxMode = imagecustomizerapi.SELinuxModeDisabled } @@ -356,7 +356,7 @@ func TestCustomizeImageLiveOSInitramfs1(t *testing.T) { // - ISO {full-os} to ISO {full-os} , with selinux disabled // - ISO {full-os} to ISO {bootstrap} , with selinux enforcing + bootstrap prereqs func TestCustomizeImageLiveOSInitramfs2(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, baseImageInfo := checkSkipForCustomizeDefaultImage(t) testTempDir := filepath.Join(tmpDir, "TestCustomizeImageLiveOSInitramfs2") buildDir := filepath.Join(testTempDir, "build") @@ -390,7 +390,7 @@ func TestCustomizeImageLiveOSInitramfs2(t *testing.T) { // SELinux in Live OS is only supported with azl3 selinuxMode := imagecustomizerapi.SELinuxModeEnforcing - if baseImageVersionDefault == baseImageVersionAzl2 { + if baseImageInfo.Version == baseImageVersionAzl2 { selinuxMode = imagecustomizerapi.SELinuxModeDisabled } @@ -409,7 +409,7 @@ func TestCustomizeImageLiveOSInitramfs2(t *testing.T) { // Tests: // - vhdx {raw} to ISO {full-os}, with selinux enabled -> error func TestCustomizeImageLiveOSInitramfs3(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) testTempDir := filepath.Join(tmpDir, "TestCustomizeImageLiveOSInitramfs3") buildDir := filepath.Join(testTempDir, "build") @@ -427,10 +427,11 @@ func TestCustomizeImageLiveOSInitramfs3(t *testing.T) { // Tests: // - vhdx {raw} to PXE {bootstrap}, with selinux enforcing func TestCustomizeImageLiveOSPxe1(t *testing.T) { - if baseImageVersionDefault == baseImageVersionAzl2 { + baseImage, baseImageInfo := checkSkipForCustomizeDefaultImage(t) + + if baseImageInfo.Version == baseImageVersionAzl2 { t.Skip("Skipping - PXE bootstrap is not supported for Azure Linux 2") } - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) testTempDir := filepath.Join(tmpDir, "TestCustomizeImageLiveOSPxe1") buildDir := filepath.Join(testTempDir, "build") @@ -452,7 +453,7 @@ func TestCustomizeImageLiveOSPxe1(t *testing.T) { // Tests: // - vhdx {raw} to PXE {full-os}, with selinux disabled func TestCustomizeImageLiveOSPxe2(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) testTempDir := filepath.Join(tmpDir, "TestCustomizeImageLiveOSPxe2") buildDir := filepath.Join(testTempDir, "build") @@ -471,25 +472,22 @@ func TestCustomizeImageLiveOSPxe2(t *testing.T) { } func TestCustomizeImageLiveOSIsoNoShimEfi(t *testing.T) { - for _, version := range supportedAzureLinuxVersions { - - t.Run(string(version), func(t *testing.T) { - testCustomizeImageLiveOSIsoNoShimEfi(t, "TestCustomizeImageLiveCdIsoNoShimEfi"+string(version), - version) + for _, baseImageInfo := range baseImageAll { + t.Run(baseImageInfo.Name, func(t *testing.T) { + testCustomizeImageLiveOSIsoNoShimEfi(t, "TestCustomizeImageLiveCdIsoNoShimEfi"+baseImageInfo.Name, baseImageInfo) }) - } } -func testCustomizeImageLiveOSIsoNoShimEfi(t *testing.T, testName string, version baseImageVersion) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, version) +func testCustomizeImageLiveOSIsoNoShimEfi(t *testing.T, testName string, baseImageInfo testBaseImageInfo) { + baseImage := checkSkipForCustomizeImage(t, baseImageInfo) buildDir := filepath.Join(tmpDir, testName) outImageFilePath := filepath.Join(buildDir, defaultIsoImageName) shimPackage := "shim" // For arm64 and baseImageVersionAzl2, the shim package is shim-unsigned. - if runtime.GOARCH == "arm64" && version == baseImageVersionAzl2 { + if runtime.GOARCH == "arm64" && baseImageInfo.Distro == baseImageDistroAzureLinux && baseImageInfo.Version == baseImageVersionAzl2 { shimPackage = "shim-unsigned" } @@ -511,7 +509,7 @@ func testCustomizeImageLiveOSIsoNoShimEfi(t *testing.T, testName string, version } func TestCustomizeImageLiveOSIsoNoGrubEfi(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) buildDir := filepath.Join(tmpDir, "TestCustomizeImageLiveOSIsoNoGrubEfi") outImageFilePath := filepath.Join(buildDir, defaultIsoImageName) diff --git a/toolkit/tools/pkg/imagecustomizerlib/main_test.go b/toolkit/tools/pkg/imagecustomizerlib/main_test.go index 9b8a0da1d6..477af775d6 100644 --- a/toolkit/tools/pkg/imagecustomizerlib/main_test.go +++ b/toolkit/tools/pkg/imagecustomizerlib/main_test.go @@ -16,37 +16,65 @@ import ( "github.com/stretchr/testify/assert" ) -type baseImageType string - const ( - baseImageTypeCoreEfi baseImageType = "core-efi" + baseImageDistroAzureLinux = "azurelinux" + + // Azure Linux versions + baseImageVersionAzl2 = "2.0" + baseImageVersionAzl3 = "3.0" + + // Azure Linux variants + baseImageVariantCoreEfi = "core-efi" ) -type baseImageVersion string +type testBaseImageInfo struct { + Name string + Distro string + Version string + Variant string + ParamName string + Param *string +} -const ( - baseImageVersionAzl2 baseImageVersion = "2.0" - baseImageVersionAzl3 baseImageVersion = "3.0" +var ( + testBaseImageAzl2CoreEfi = testBaseImageInfo{ + Name: "AzureLinux2CoreEfi", + Distro: baseImageDistroAzureLinux, + Version: baseImageVersionAzl2, + Variant: baseImageVariantCoreEfi, + ParamName: "base-image-core-efi-azl2", + Param: baseImageCoreEfiAzl2, + } + + testBaseImageAzl3CoreEfi = testBaseImageInfo{ + Name: "AzureLinux3CoreEfi", + Distro: baseImageDistroAzureLinux, + Version: baseImageVersionAzl3, + Variant: baseImageVariantCoreEfi, + ParamName: "base-image-core-efi-azl3", + Param: baseImageCoreEfiAzl3, + } - // Most features don't have version Azure Linux version specific behavior. - // So, there is only minimal value in duplicating the tests across versions for such features. - baseImageVersionDefault = baseImageVersionAzl2 + baseImageAll = []testBaseImageInfo{ + testBaseImageAzl2CoreEfi, + testBaseImageAzl3CoreEfi, + } + + defaultBaseImagePriorityList = []testBaseImageInfo{ + testBaseImageAzl2CoreEfi, + testBaseImageAzl3CoreEfi, + } ) var ( - baseImageCoreEfiAzl2 = flag.String("base-image-core-efi-azl2", "", "A core-efi 2.0 image to use as a base image.") - baseImageCoreEfiAzl3 = flag.String("base-image-core-efi-azl3", "", "A core-efi 3.0 image to use as a base image.") + baseImageCoreEfiAzl2 = flag.String("base-image-core-efi-azl2", "", "An Azure Linux 2.0 core-efi image to use as a base image.") + baseImageCoreEfiAzl3 = flag.String("base-image-core-efi-azl3", "", "An Azure Linux 3.0 core-efi image to use as a base image.") ) var ( testDir string tmpDir string workingDir string - - supportedAzureLinuxVersions = []baseImageVersion{ - baseImageVersionAzl2, - baseImageVersionAzl3, - } ) func TestMain(m *testing.M) { @@ -79,8 +107,7 @@ func TestMain(m *testing.M) { os.Exit(retVal) } -// Skip the test if requirements for testing CustomizeImage() are not met. -func checkSkipForCustomizeImage(t *testing.T, baseImageType baseImageType, baseImageVersion baseImageVersion) string { +func checkSkipForCustomizeImageRequirements(t *testing.T) { if !buildpipeline.IsRegularBuild() { t.Skip("loopback block device not available") } @@ -88,28 +115,30 @@ func checkSkipForCustomizeImage(t *testing.T, baseImageType baseImageType, baseI if os.Geteuid() != 0 { t.Skip("Test must be run as root because it uses a chroot") } +} + +// Skip the test if requirements for testing CustomizeImage() are not met. +func checkSkipForCustomizeImage(t *testing.T, baseImage testBaseImageInfo) string { + checkSkipForCustomizeImageRequirements(t) - param, paramName := getImageParamAndName(baseImageType, baseImageVersion) - if param == nil || *param == "" { - t.Skipf("--%s is required for this test", paramName) + if baseImage.Param == nil || *baseImage.Param == "" { + t.Skipf("--%s is required for this test", baseImage.ParamName) } - return *param + return *baseImage.Param } -func getImageParamAndName(baseImageType baseImageType, baseImageVersion baseImageVersion) (*string, string) { - switch baseImageType { - case baseImageTypeCoreEfi: - switch baseImageVersion { - case baseImageVersionAzl2: - return baseImageCoreEfiAzl2, "base-image-core-efi-azl2" +func checkSkipForCustomizeDefaultImage(t *testing.T) (string, testBaseImageInfo) { + checkSkipForCustomizeImageRequirements(t) - case baseImageVersionAzl3: - return baseImageCoreEfiAzl3, "base-image-core-efi-azl3" + for _, imageInfo := range defaultBaseImagePriorityList { + if imageInfo.Param != nil && *imageInfo.Param != "" { + return *imageInfo.Param, imageInfo } } - return nil, "" + t.Skipf("--%s is required for this test", defaultBaseImagePriorityList[0].ParamName) + return "", testBaseImageInfo{} } func getDownloadedRpmsDir(t *testing.T, azureLinuxVersion string) string { diff --git a/toolkit/tools/pkg/imagecustomizerlib/resolvconf_test.go b/toolkit/tools/pkg/imagecustomizerlib/resolvconf_test.go index 842002b457..ed471c0001 100644 --- a/toolkit/tools/pkg/imagecustomizerlib/resolvconf_test.go +++ b/toolkit/tools/pkg/imagecustomizerlib/resolvconf_test.go @@ -14,7 +14,7 @@ import ( ) func TestCustomizeImageResolvConfDelete(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) testTmpDir := filepath.Join(tmpDir, "TestCustomizeImageResolvConfDelete") buildDir := filepath.Join(testTmpDir, "build") @@ -51,7 +51,7 @@ func TestCustomizeImageResolvConfDelete(t *testing.T) { } func TestCustomizeImageResolvConfRestoreFile(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) testTmpDir := filepath.Join(tmpDir, "TestCustomizeImageResolvConfRestoreFile") buildDir := filepath.Join(testTmpDir, "build") @@ -122,7 +122,7 @@ func TestCustomizeImageResolvConfRestoreFile(t *testing.T) { } func TestCustomizeImageResolvConfRestoreSymlink(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) testTmpDir := filepath.Join(tmpDir, "TestCustomizeImageResolvConfRestoreSymlink") buildDir := filepath.Join(testTmpDir, "build") @@ -185,7 +185,7 @@ func TestCustomizeImageResolvConfRestoreSymlink(t *testing.T) { } func TestCustomizeImageResolvConfNewSymlink(t *testing.T) { - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) testTmpDir := filepath.Join(tmpDir, "TestCustomizeImageResolvConfNewSymlink") buildDir := filepath.Join(testTmpDir, "build") diff --git a/toolkit/tools/pkg/imagecustomizerlib/runscripts_test.go b/toolkit/tools/pkg/imagecustomizerlib/runscripts_test.go index 7fc35d55ba..0e7845a724 100644 --- a/toolkit/tools/pkg/imagecustomizerlib/runscripts_test.go +++ b/toolkit/tools/pkg/imagecustomizerlib/runscripts_test.go @@ -14,7 +14,7 @@ import ( func TestCustomizeImageRunScripts(t *testing.T) { var err error - baseImage := checkSkipForCustomizeImage(t, baseImageTypeCoreEfi, baseImageVersionDefault) + baseImage, _ := checkSkipForCustomizeDefaultImage(t) testTmpDir := filepath.Join(tmpDir, "TestCustomizeImageRunScripts") buildDir := filepath.Join(testTmpDir, "build") From 0b040cb25fc0464617c72f3e35bcc9430dbc4099 Mon Sep 17 00:00:00 2001 From: Chris Gunn Date: Thu, 12 Jun 2025 15:13:12 -0700 Subject: [PATCH 2/2] Feedback updates --- .../tools/pkg/imagecustomizerlib/customizepartitions_test.go | 4 +--- toolkit/tools/pkg/imagecustomizerlib/liveosisobuilder_test.go | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/toolkit/tools/pkg/imagecustomizerlib/customizepartitions_test.go b/toolkit/tools/pkg/imagecustomizerlib/customizepartitions_test.go index 1b03245f5b..eb14190d6b 100644 --- a/toolkit/tools/pkg/imagecustomizerlib/customizepartitions_test.go +++ b/toolkit/tools/pkg/imagecustomizerlib/customizepartitions_test.go @@ -277,8 +277,6 @@ func TestCustomizeImageKernelCommandLine(t *testing.T) { } func testCustomizeImageKernelCommandLineHelper(t *testing.T, testName string, baseImageInfo testBaseImageInfo) { - var err error - baseImage := checkSkipForCustomizeImage(t, baseImageInfo) buildDir := filepath.Join(tmpDir, testName) @@ -286,7 +284,7 @@ func testCustomizeImageKernelCommandLineHelper(t *testing.T, testName string, ba outImageFilePath := filepath.Join(buildDir, "image.qcow2") // Customize image. - err = CustomizeImageWithConfigFile(buildDir, configFile, baseImage, nil, outImageFilePath, "raw", + err := CustomizeImageWithConfigFile(buildDir, configFile, baseImage, nil, outImageFilePath, "raw", false /*useBaseImageRpmRepos*/, "" /*packageSnapshotTime*/) if !assert.NoError(t, err) { return diff --git a/toolkit/tools/pkg/imagecustomizerlib/liveosisobuilder_test.go b/toolkit/tools/pkg/imagecustomizerlib/liveosisobuilder_test.go index 5def77de46..d0dcae9c1f 100644 --- a/toolkit/tools/pkg/imagecustomizerlib/liveosisobuilder_test.go +++ b/toolkit/tools/pkg/imagecustomizerlib/liveosisobuilder_test.go @@ -487,7 +487,7 @@ func testCustomizeImageLiveOSIsoNoShimEfi(t *testing.T, testName string, baseIma shimPackage := "shim" // For arm64 and baseImageVersionAzl2, the shim package is shim-unsigned. - if runtime.GOARCH == "arm64" && baseImageInfo.Distro == baseImageDistroAzureLinux && baseImageInfo.Version == baseImageVersionAzl2 { + if runtime.GOARCH == "arm64" && baseImageInfo.Version == baseImageVersionAzl2 { shimPackage = "shim-unsigned" }