github.com/hugh712/snapd@v0.0.0-20200910133618-1a99902bd583/boot/boottest/device_test.go (about) 1 // -*- Mode: Go; indent-tabs-mode: t -*- 2 3 /* 4 * Copyright (C) 2019 Canonical Ltd 5 * 6 * This program is free software: you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 3 as 8 * published by the Free Software Foundation. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 * 18 */ 19 20 package boottest_test 21 22 import ( 23 "testing" 24 25 . "gopkg.in/check.v1" 26 27 "github.com/snapcore/snapd/boot/boottest" 28 ) 29 30 func TestBoottest(t *testing.T) { TestingT(t) } 31 32 type boottestSuite struct{} 33 34 var _ = Suite(&boottestSuite{}) 35 36 func (s *boottestSuite) TestMockDeviceClassic(c *C) { 37 dev := boottest.MockDevice("") 38 c.Check(dev.Classic(), Equals, true) 39 c.Check(dev.Kernel(), Equals, "") 40 c.Check(dev.Base(), Equals, "") 41 c.Check(dev.RunMode(), Equals, true) 42 c.Check(dev.HasModeenv(), Equals, false) 43 44 dev = boottest.MockDevice("@run") 45 c.Check(dev.Classic(), Equals, true) 46 c.Check(dev.Kernel(), Equals, "") 47 c.Check(dev.Base(), Equals, "") 48 c.Check(dev.RunMode(), Equals, true) 49 c.Check(dev.HasModeenv(), Equals, false) 50 51 dev = boottest.MockDevice("@recover") 52 c.Check(dev.Classic(), Equals, true) 53 c.Check(dev.Kernel(), Equals, "") 54 c.Check(dev.Base(), Equals, "") 55 c.Check(dev.RunMode(), Equals, false) 56 c.Check(dev.HasModeenv(), Equals, false) 57 } 58 59 func (s *boottestSuite) TestMockDeviceBaseOrKernel(c *C) { 60 dev := boottest.MockDevice("boot-snap") 61 c.Check(dev.Classic(), Equals, false) 62 c.Check(dev.Kernel(), Equals, "boot-snap") 63 c.Check(dev.Base(), Equals, "boot-snap") 64 c.Check(dev.RunMode(), Equals, true) 65 c.Check(dev.HasModeenv(), Equals, false) 66 67 dev = boottest.MockDevice("boot-snap@run") 68 c.Check(dev.Classic(), Equals, false) 69 c.Check(dev.Kernel(), Equals, "boot-snap") 70 c.Check(dev.Base(), Equals, "boot-snap") 71 c.Check(dev.RunMode(), Equals, true) 72 c.Check(dev.HasModeenv(), Equals, false) 73 74 dev = boottest.MockDevice("boot-snap@recover") 75 c.Check(dev.Classic(), Equals, false) 76 c.Check(dev.Kernel(), Equals, "boot-snap") 77 c.Check(dev.Base(), Equals, "boot-snap") 78 c.Check(dev.RunMode(), Equals, false) 79 c.Check(dev.HasModeenv(), Equals, false) 80 } 81 82 func (s *boottestSuite) TestMockUC20Device(c *C) { 83 dev := boottest.MockUC20Device("boot-snap") 84 c.Check(dev.HasModeenv(), Equals, true) 85 86 dev = boottest.MockUC20Device("boot-snap@run") 87 c.Check(dev.HasModeenv(), Equals, true) 88 89 dev = boottest.MockUC20Device("boot-snap@recover") 90 c.Check(dev.HasModeenv(), Equals, true) 91 92 dev = boottest.MockUC20Device("") 93 c.Check(dev.HasModeenv(), Equals, true) 94 95 dev = boottest.MockUC20Device("@run") 96 c.Check(dev.HasModeenv(), Equals, true) 97 98 dev = boottest.MockUC20Device("@recover") 99 c.Check(dev.HasModeenv(), Equals, true) 100 }