diff options
| author | Pawel Stolowski <stolowski@gmail.com> | 2020-02-18 09:31:53 +0100 |
|---|---|---|
| committer | Pawel Stolowski <stolowski@gmail.com> | 2020-02-18 09:31:53 +0100 |
| commit | f059e00d4b146af22f944a517a4d44ddf6ecf76a (patch) | |
| tree | c17d98d83e8a7f7abc19b60386e8caa6243bd081 | |
| parent | 84f33c3505571ff07f1d4b117384c7eab0b6ed60 (diff) | |
| parent | b04fe8b3fa6ba76298195de3f161168804dbf8ee (diff) | |
Merge branch 'master' into prebaking/preseed-completeprebaking/preseed-complete
| -rw-r--r-- | boot/makebootable_test.go | 20 | ||||
| -rw-r--r-- | image/image_test.go | 32 | ||||
| -rw-r--r-- | seed/seed20_test.go | 2 | ||||
| -rw-r--r-- | seed/seedwriter/writer_test.go | 20 | ||||
| -rw-r--r-- | tests/core/swapfiles/task.yaml | 30 |
5 files changed, 67 insertions, 37 deletions
diff --git a/boot/makebootable_test.go b/boot/makebootable_test.go index b565ada647..de020c8b1d 100644 --- a/boot/makebootable_test.go +++ b/boot/makebootable_test.go @@ -102,14 +102,14 @@ func (s *makeBootableSuite) TestMakeBootable(c *C) { type: base version: 4.0 `, snap.R(3)) - baseInSeed := filepath.Join(seedSnapsDirs, filepath.Base(baseInfo.MountFile())) + baseInSeed := filepath.Join(seedSnapsDirs, baseInfo.Filename()) err = os.Rename(baseFn, baseInSeed) c.Assert(err, IsNil) kernelFn, kernelInfo := s.makeSnap(c, "pc-kernel", `name: pc-kernel type: kernel version: 4.0 `, snap.R(5)) - kernelInSeed := filepath.Join(seedSnapsDirs, filepath.Base(kernelInfo.MountFile())) + kernelInSeed := filepath.Join(seedSnapsDirs, kernelInfo.Filename()) err = os.Rename(kernelFn, kernelInSeed) c.Assert(err, IsNil) @@ -135,14 +135,14 @@ version: 4.0 c.Check(s.bootloader.ExtractKernelAssetsCalls, DeepEquals, []snap.PlaceInfo{kernelInfo}) // check symlinks from snap blob dir - kernelBlob := filepath.Join(dirs.SnapBlobDirUnder(rootdir), filepath.Base(kernelInfo.MountFile())) - dst, err := os.Readlink(filepath.Join(dirs.SnapBlobDirUnder(rootdir), filepath.Base(kernelInfo.MountFile()))) + kernelBlob := filepath.Join(dirs.SnapBlobDirUnder(rootdir), kernelInfo.Filename()) + dst, err := os.Readlink(filepath.Join(dirs.SnapBlobDirUnder(rootdir), kernelInfo.Filename())) c.Assert(err, IsNil) c.Check(dst, Equals, "../seed/snaps/pc-kernel_5.snap") c.Check(kernelBlob, testutil.FilePresent) - baseBlob := filepath.Join(dirs.SnapBlobDirUnder(rootdir), filepath.Base(baseInfo.MountFile())) - dst, err = os.Readlink(filepath.Join(dirs.SnapBlobDirUnder(rootdir), filepath.Base(baseInfo.MountFile()))) + baseBlob := filepath.Join(dirs.SnapBlobDirUnder(rootdir), baseInfo.Filename()) + dst, err = os.Readlink(filepath.Join(dirs.SnapBlobDirUnder(rootdir), baseInfo.Filename())) c.Assert(err, IsNil) c.Check(dst, Equals, "../seed/snaps/core18_3.snap") c.Check(baseBlob, testutil.FilePresent) @@ -202,7 +202,7 @@ func (s *makeBootableSuite) TestMakeBootable20(c *C) { type: base version: 5.0 `, snap.R(3)) - baseInSeed := filepath.Join(seedSnapsDirs, filepath.Base(baseInfo.MountFile())) + baseInSeed := filepath.Join(seedSnapsDirs, baseInfo.Filename()) err = os.Rename(baseFn, baseInSeed) c.Assert(err, IsNil) kernelFn, kernelInfo := s.makeSnapWithFiles(c, "pc-kernel", `name: pc-kernel @@ -211,7 +211,7 @@ version: 5.0 `, snap.R(5), [][]string{ {"kernel.efi", "I'm a kernel.efi"}, }) - kernelInSeed := filepath.Join(seedSnapsDirs, filepath.Base(kernelInfo.MountFile())) + kernelInSeed := filepath.Join(seedSnapsDirs, kernelInfo.Filename()) err = os.Rename(kernelFn, kernelInSeed) c.Assert(err, IsNil) @@ -295,7 +295,7 @@ func (s *makeBootableSuite) TestMakeBootable20RunMode(c *C) { type: base version: 5.0 `, snap.R(3)) - baseInSeed := filepath.Join(seedSnapsDirs, filepath.Base(baseInfo.MountFile())) + baseInSeed := filepath.Join(seedSnapsDirs, baseInfo.Filename()) err = os.Rename(baseFn, baseInSeed) c.Assert(err, IsNil) kernelFn, kernelInfo := s.makeSnapWithFiles(c, "pc-kernel", `name: pc-kernel @@ -306,7 +306,7 @@ version: 5.0 {"kernel.efi", "I'm a kernel.efi"}, }, ) - kernelInSeed := filepath.Join(seedSnapsDirs, filepath.Base(kernelInfo.MountFile())) + kernelInSeed := filepath.Join(seedSnapsDirs, kernelInfo.Filename()) err = os.Rename(kernelFn, kernelInSeed) c.Assert(err, IsNil) diff --git a/image/image_test.go b/image/image_test.go index cb5820604e..64111b44f6 100644 --- a/image/image_test.go +++ b/image/image_test.go @@ -578,7 +578,7 @@ func (s *imageSuite) TestSetupSeed(c *C) { // check the files are in place for i, name := range []string{"core", "pc-kernel", "pc"} { info := s.AssertedSnapInfo(name) - fn := filepath.Base(info.MountFile()) + fn := info.Filename() p := filepath.Join(seedsnapsdir, fn) c.Check(p, testutil.FilePresent) c.Check(essSnaps[i], DeepEquals, &seed.Snap{ @@ -597,7 +597,7 @@ func (s *imageSuite) TestSetupSeed(c *C) { } } c.Check(runSnaps[0], DeepEquals, &seed.Snap{ - Path: filepath.Join(seedsnapsdir, filepath.Base(s.AssertedSnapInfo("required-snap1").MountFile())), + Path: filepath.Join(seedsnapsdir, s.AssertedSnapInfo("required-snap1").Filename()), SideInfo: &s.AssertedSnapInfo("required-snap1").SideInfo, @@ -637,13 +637,13 @@ func (s *imageSuite) TestSetupSeed(c *C) { // check symlinks from snap blob dir kernelInfo := s.AssertedSnapInfo("pc-kernel") coreInfo := s.AssertedSnapInfo("core") - kernelBlob := filepath.Join(blobdir, filepath.Base(kernelInfo.MountFile())) + kernelBlob := filepath.Join(blobdir, kernelInfo.Filename()) dst, err := os.Readlink(kernelBlob) c.Assert(err, IsNil) c.Check(dst, Equals, "../seed/snaps/pc-kernel_2.snap") c.Check(kernelBlob, testutil.FilePresent) - coreBlob := filepath.Join(blobdir, filepath.Base(coreInfo.MountFile())) + coreBlob := filepath.Join(blobdir, coreInfo.Filename()) dst, err = os.Readlink(coreBlob) c.Assert(err, IsNil) c.Check(dst, Equals, "../seed/snaps/core_3.snap") @@ -720,7 +720,7 @@ func (s *imageSuite) TestSetupSeedLocalCoreBrandKernel(c *C) { sideInfo = &info.SideInfo } - fn := filepath.Base(pinfo.MountFile()) + fn := pinfo.Filename() p := filepath.Join(seedsnapsdir, fn) c.Check(p, testutil.FilePresent) c.Check(essSnaps[i], DeepEquals, &seed.Snap{ @@ -792,7 +792,7 @@ func (s *imageSuite) TestSetupSeedDevmodeSnap(c *C) { for i, name := range []string{"core", "pc-kernel", "pc"} { info := s.AssertedSnapInfo(name) c.Check(essSnaps[i], DeepEquals, &seed.Snap{ - Path: filepath.Join(seedsnapsdir, filepath.Base(info.MountFile())), + Path: filepath.Join(seedsnapsdir, info.Filename()), SideInfo: &info.SideInfo, Essential: true, Required: true, @@ -895,7 +895,7 @@ func (s *imageSuite) TestSetupSeedWithBase(c *C) { } } - fn := filepath.Base(info.MountFile()) + fn := info.Filename() p := filepath.Join(seedsnapsdir, fn) c.Check(p, testutil.FilePresent) c.Check(essSnaps[i], DeepEquals, &seed.Snap{ @@ -928,13 +928,13 @@ func (s *imageSuite) TestSetupSeedWithBase(c *C) { // check symlinks from snap blob dir kernelInfo := s.AssertedSnapInfo("pc-kernel") baseInfo := s.AssertedSnapInfo("core18") - kernelBlob := filepath.Join(blobdir, filepath.Base(kernelInfo.MountFile())) + kernelBlob := filepath.Join(blobdir, kernelInfo.Filename()) dst, err := os.Readlink(kernelBlob) c.Assert(err, IsNil) c.Check(dst, Equals, "../seed/snaps/pc-kernel_2.snap") c.Check(kernelBlob, testutil.FilePresent) - baseBlob := filepath.Join(blobdir, filepath.Base(baseInfo.MountFile())) + baseBlob := filepath.Join(blobdir, baseInfo.Filename()) dst, err = os.Readlink(baseBlob) c.Assert(err, IsNil) c.Check(dst, Equals, "../seed/snaps/core18_18.snap") @@ -1054,7 +1054,7 @@ func (s *imageSuite) TestSetupSeedWithBaseLegacySnap(c *C) { } } - fn := filepath.Base(info.MountFile()) + fn := info.Filename() p := filepath.Join(seedsnapsdir, fn) c.Check(p, testutil.FilePresent) c.Check(essSnaps[i], DeepEquals, &seed.Snap{ @@ -1066,14 +1066,14 @@ func (s *imageSuite) TestSetupSeedWithBaseLegacySnap(c *C) { }) } c.Check(runSnaps[0], DeepEquals, &seed.Snap{ - Path: filepath.Join(seedsnapsdir, filepath.Base(s.AssertedSnapInfo("core").MountFile())), + Path: filepath.Join(seedsnapsdir, s.AssertedSnapInfo("core").Filename()), SideInfo: &s.AssertedSnapInfo("core").SideInfo, Required: false, // strange but expected Channel: stableChannel, }) c.Check(runSnaps[0].Path, testutil.FilePresent) c.Check(runSnaps[1], DeepEquals, &seed.Snap{ - Path: filepath.Join(seedsnapsdir, filepath.Base(s.AssertedSnapInfo("required-snap1").MountFile())), + Path: filepath.Join(seedsnapsdir, s.AssertedSnapInfo("required-snap1").Filename()), SideInfo: &s.AssertedSnapInfo("required-snap1").SideInfo, Required: true, Channel: stableChannel, @@ -1219,7 +1219,7 @@ func (s *imageSuite) TestSetupSeedLocalSnapsWithStoreAsserts(c *C) { } } - fn := filepath.Base(info.MountFile()) + fn := info.Filename() p := filepath.Join(seedsnapsdir, fn) c.Check(p, testutil.FilePresent) c.Check(essSnaps[i], DeepEquals, &seed.Snap{ @@ -1314,7 +1314,7 @@ func (s *imageSuite) TestSetupSeedLocalSnapsWithChannels(c *C) { } } - fn := filepath.Base(info.MountFile()) + fn := info.Filename() p := filepath.Join(seedsnapsdir, fn) c.Check(p, testutil.FilePresent) c.Check(essSnaps[i], DeepEquals, &seed.Snap{ @@ -2162,7 +2162,7 @@ func (s *imageSuite) TestSetupSeedClassicSnapdOnly(c *C) { for i, name := range []string{"snapd", "classic-gadget18", "core18"} { info := s.AssertedSnapInfo(name) - fn := filepath.Base(info.MountFile()) + fn := info.Filename() p := filepath.Join(seedsnapsdir, fn) c.Check(p, testutil.FilePresent) c.Check(essSnaps[i], DeepEquals, &seed.Snap{ @@ -2386,7 +2386,7 @@ func (s *imageSuite) TestSetupSeedCore20(c *C) { channel = "20" } - fn := filepath.Base(info.MountFile()) + fn := info.Filename() p := filepath.Join(seedsnapsdir, fn) c.Check(p, testutil.FilePresent) c.Check(essSnaps[i], DeepEquals, &seed.Snap{ diff --git a/seed/seed20_test.go b/seed/seed20_test.go index 3d143230e8..77e5de84de 100644 --- a/seed/seed20_test.go +++ b/seed/seed20_test.go @@ -92,7 +92,7 @@ func (s *seed20Suite) makeSnap(c *C, yamlKey, publisher string) { } func (s *seed20Suite) expectedPath(snapName string) string { - return filepath.Join(s.SeedDir, "snaps", filepath.Base(s.AssertedSnapInfo(snapName).MountFile())) + return filepath.Join(s.SeedDir, "snaps", s.AssertedSnapInfo(snapName).Filename()) } func (s *seed20Suite) TestLoadMetaCore20Minimal(c *C) { diff --git a/seed/seedwriter/writer_test.go b/seed/seedwriter/writer_test.go index 9484d518e9..f3574c4af2 100644 --- a/seed/seedwriter/writer_test.go +++ b/seed/seedwriter/writer_test.go @@ -195,7 +195,7 @@ func (s *writerSuite) doFillMetaDownloadedSnap(c *C, w *seedwriter.Writer, sn *s func (s *writerSuite) fillDownloadedSnap(c *C, w *seedwriter.Writer, sn *seedwriter.SeedSnap) { info := s.doFillMetaDownloadedSnap(c, w, sn) - c.Assert(sn.Path, Equals, filepath.Join(s.opts.SeedDir, "snaps", filepath.Base(info.MountFile()))) + c.Assert(sn.Path, Equals, filepath.Join(s.opts.SeedDir, "snaps", info.Filename())) err := os.Rename(s.AssertedSnap(sn.SnapName()), sn.Path) c.Assert(err, IsNil) } @@ -809,7 +809,7 @@ func (s *writerSuite) TestSeedSnapsWriteMetaCore18(c *C) { for i, name := range []string{"snapd", "pc-kernel", "core18", "pc", "cont-consumer", "cont-producer"} { info := s.AssertedSnapInfo(name) - fn := filepath.Base(info.MountFile()) + fn := info.Filename() p := filepath.Join(s.opts.SeedDir, "snaps", fn) c.Check(p, testutil.FilePresent) @@ -1044,7 +1044,7 @@ func (s *writerSuite) TestLocalSnapsCore18FullUse(c *C) { assertedNum++ } - fn := filepath.Base(info.MountFile()) + fn := info.Filename() p := filepath.Join(s.opts.SeedDir, "snaps", fn) c.Check(p, testutil.FilePresent) @@ -1258,7 +1258,7 @@ func (s *writerSuite) TestSeedSnapsWriteMetaClassicWithCore(c *C) { for i, name := range []string{"core", "classic-gadget", "required"} { info := s.AssertedSnapInfo(name) - fn := filepath.Base(info.MountFile()) + fn := info.Filename() p := filepath.Join(s.opts.SeedDir, "snaps", fn) c.Check(p, testutil.FilePresent) @@ -1314,7 +1314,7 @@ func (s *writerSuite) TestSeedSnapsWriteMetaClassicSnapdOnly(c *C) { for i, name := range []string{"snapd", "core18", "classic-gadget18", "required18"} { info := s.AssertedSnapInfo(name) - fn := filepath.Base(info.MountFile()) + fn := info.Filename() p := filepath.Join(s.opts.SeedDir, "snaps", fn) c.Check(p, testutil.FilePresent) @@ -1423,7 +1423,7 @@ func (s *writerSuite) TestSeedSnapsWriteMetaExtraSnaps(c *C) { for i, name := range []string{"snapd", "core", "pc-kernel", "core18", "pc", "cont-consumer", "cont-producer", "required"} { info := s.AssertedSnapInfo(name) - fn := filepath.Base(info.MountFile()) + fn := info.Filename() p := filepath.Join(s.opts.SeedDir, "snaps", fn) c.Check(osutil.FileExists(p), Equals, true) @@ -1575,7 +1575,7 @@ func (s *writerSuite) TestSeedSnapsWriteMetaLocalExtraSnaps(c *C) { unasserted = true } - fn := filepath.Base(info.MountFile()) + fn := info.Filename() p := filepath.Join(s.opts.SeedDir, "snaps", fn) c.Check(osutil.FileExists(p), Equals, true) @@ -1709,7 +1709,7 @@ func (s *writerSuite) TestSeedSnapsWriteMetaCore20(c *C) { for _, name := range []string{"snapd", "pc-kernel", "core20", "pc", "core18", "cont-consumer", "cont-producer"} { info := s.AssertedSnapInfo(name) - fn := filepath.Base(info.MountFile()) + fn := info.Filename() p := filepath.Join(s.opts.SeedDir, "snaps", fn) c.Check(p, testutil.FilePresent) } @@ -2376,7 +2376,7 @@ func (s *writerSuite) TestSeedSnapsWriteMetaCore20ModelOverrideSnapd(c *C) { for _, name := range []string{"snapd", "pc-kernel", "core20", "pc"} { info := s.AssertedSnapInfo(name) - fn := filepath.Base(info.MountFile()) + fn := info.Filename() p := filepath.Join(s.opts.SeedDir, "snaps", fn) c.Check(p, testutil.FilePresent) } @@ -2544,7 +2544,7 @@ func (s *writerSuite) TestSeedSnapsWriteMetaCore20ExtraSnaps(c *C) { info := s.doFillMetaDownloadedSnap(c, w, sn) - c.Assert(sn.Path, Equals, filepath.Join(s.opts.SeedDir, "systems", s.opts.Label, "snaps", filepath.Base(info.MountFile()))) + c.Assert(sn.Path, Equals, filepath.Join(s.opts.SeedDir, "systems", s.opts.Label, "snaps", info.Filename())) err := os.Rename(s.AssertedSnap(sn.SnapName()), sn.Path) c.Assert(err, IsNil) } diff --git a/tests/core/swapfiles/task.yaml b/tests/core/swapfiles/task.yaml new file mode 100644 index 0000000000..ee54fa5c9b --- /dev/null +++ b/tests/core/swapfiles/task.yaml @@ -0,0 +1,30 @@ +summary: Ensure that we can create swapfiles + +prepare: | + cp /etc/default/swapfile swapfile.bk + +restore: | + if [ -f swapfile.bk ]; then + cp swapfile.bk /etc/default/swapfile + + # enabling the service now again will set swap to 0 because SIZE=0 means + # don't create a swap file + systemctl enable --now swapfile.service || true + fi + +execute: | + echo "Set swapfile to 200" + # don't use sed -i because /etc/default is not writable and this will fail + sed -e "s/SIZE=0/SIZE=200/" /etc/default/swapfile > /tmp/swapfile + cat /tmp/swapfile > /etc/default/swapfile + + echo "Turn on the swap service" + systemctl enable --now swapfile.service + + # source the file so that we can grep for the location of the swap file as + # configured + # shellcheck disable=SC1091 + . /etc/default/swapfile + + echo "Check that the swap file exists" + retry-tool -n 60 --wait 1 bash -c "cat /proc/swaps | MATCH '$FILE\s+file\s+204796'" |
