interfaces: fix udev tagging for hooks #4144

Merged
merged 21 commits into from Nov 10, 2017
Commits
Jump to file or symbol
Failed to load files and symbols.
+242 −134
Split
@@ -87,7 +87,8 @@ func (s *AlsaInterfaceSuite) TestUDevpec(c *C) {
spec := &udev.Specification{}
c.Assert(spec.AddConnectedPlug(s.iface, s.plug, nil, s.slot, nil), IsNil)
c.Assert(spec.Snippets(), HasLen, 7)
- c.Assert(spec.Snippets(), testutil.Contains, `KERNEL=="pcmC[0-9]*D[0-9]*[cp]", TAG+="snap_consumer_app"`)
+ c.Assert(spec.Snippets(), testutil.Contains, `# alsa
+KERNEL=="pcmC[0-9]*D[0-9]*[cp]", TAG+="snap_consumer_app"`)
}
func (s *AlsaInterfaceSuite) TestStaticInfo(c *C) {
@@ -105,7 +105,8 @@ func (s *BluetoothControlInterfaceSuite) TestUDevSpec(c *C) {
spec := &udev.Specification{}
c.Assert(spec.AddConnectedPlug(s.iface, s.plug, nil, s.slot, nil), IsNil)
c.Assert(spec.Snippets(), HasLen, 1)
- c.Assert(spec.Snippets()[0], testutil.Contains, `SUBSYSTEM=="bluetooth", TAG+="snap_other_app2"`)
+ c.Assert(spec.Snippets(), testutil.Contains, `# bluetooth-control
+SUBSYSTEM=="bluetooth", TAG+="snap_other_app2"`)
}
func (s *BluetoothControlInterfaceSuite) TestInterfaces(c *C) {
@@ -229,7 +229,8 @@ func (s *BluezInterfaceSuite) TestUDevSpec(c *C) {
spec := &udev.Specification{}
c.Assert(spec.AddConnectedPlug(s.iface, s.plug, nil, s.appSlot, nil), IsNil)
c.Assert(spec.Snippets(), HasLen, 1)
- c.Assert(spec.Snippets()[0], testutil.Contains, `KERNEL=="rfkill", TAG+="snap_consumer_app"`)
+ c.Assert(spec.Snippets(), testutil.Contains, `# bluez
+KERNEL=="rfkill", TAG+="snap_consumer_app"`)
// on a classic system with bluez slot coming from the core snap.
restore = release.MockOnClassic(true)
@@ -90,7 +90,8 @@ func (s *BroadcomAsicControlSuite) TestUDevSpec(c *C) {
spec := &udev.Specification{}
c.Assert(spec.AddConnectedPlug(s.iface, s.plug, nil, s.slot, nil), IsNil)
c.Assert(spec.Snippets(), HasLen, 2)
- c.Assert(spec.Snippets(), testutil.Contains, `SUBSYSTEM=="net", KERNEL=="bcm[0-9]*", TAG+="snap_consumer_app"`)
+ c.Assert(spec.Snippets(), testutil.Contains, `# broadcom-asic-control
+SUBSYSTEM=="net", KERNEL=="bcm[0-9]*", TAG+="snap_consumer_app"`)
}
func (s *BroadcomAsicControlSuite) TestKModSpec(c *C) {
@@ -87,7 +87,8 @@ func (s *CameraInterfaceSuite) TestUDevSpec(c *C) {
spec := &udev.Specification{}
c.Assert(spec.AddConnectedPlug(s.iface, s.plug, nil, s.slot, nil), IsNil)
c.Assert(spec.Snippets(), HasLen, 1)
- c.Assert(spec.Snippets()[0], testutil.Contains, `KERNEL=="video[0-9]*", TAG+="snap_consumer_app"`)
+ c.Assert(spec.Snippets(), testutil.Contains, `# camera
+KERNEL=="video[0-9]*", TAG+="snap_consumer_app"`)
}
func (s *CameraInterfaceSuite) TestStaticInfo(c *C) {
@@ -54,9 +54,11 @@ slots:
spec := &udev.Specification{}
c.Assert(spec.AddConnectedPlug(iface, plug, nil, slot, nil), IsNil)
c.Assert(spec.Snippets(), DeepEquals, []string{
- `KERNEL=="foo", TAG+="snap_consumer_app-a"`,
+ `# common
+KERNEL=="foo", TAG+="snap_consumer_app-a"`,
// NOTE: app-b is unaffected as it doesn't have a plug reference.
- `KERNEL=="foo", TAG+="snap_consumer_app-c"`,
+ `# common
+KERNEL=="foo", TAG+="snap_consumer_app-c"`,
})
// connected plug udev rules are optional
@@ -89,7 +89,8 @@ func (s *FramebufferInterfaceSuite) TestUDevSpec(c *C) {
spec := &udev.Specification{}
c.Assert(spec.AddConnectedPlug(s.iface, s.plug, nil, s.slot, nil), IsNil)
c.Assert(spec.Snippets(), HasLen, 1)
- c.Assert(spec.Snippets()[0], Equals, `KERNEL=="fb[0-9]*", TAG+="snap_consumer_app"`)
+ c.Assert(spec.Snippets()[0], Equals, `# framebuffer
+KERNEL=="fb[0-9]*", TAG+="snap_consumer_app"`)
}
func (s *FramebufferInterfaceSuite) TestStaticInfo(c *C) {
@@ -96,7 +96,8 @@ func (s *FuseSupportInterfaceSuite) TestUDevSpec(c *C) {
spec := &udev.Specification{}
c.Assert(spec.AddConnectedPlug(s.iface, s.plug, nil, s.slot, nil), IsNil)
c.Assert(spec.Snippets(), HasLen, 1)
- c.Assert(spec.Snippets()[0], testutil.Contains, `KERNEL=="fuse", TAG+="snap_consumer_app"`)
+ c.Assert(spec.Snippets(), testutil.Contains, `# fuse-support
+KERNEL=="fuse", TAG+="snap_consumer_app"`)
}
func (s *FuseSupportInterfaceSuite) TestStaticInfo(c *C) {
@@ -87,7 +87,8 @@ func (s *HardwareRandomControlInterfaceSuite) TestUDevSpec(c *C) {
spec := &udev.Specification{}
c.Assert(spec.AddConnectedPlug(s.iface, s.plug, nil, s.slot, nil), IsNil)
c.Assert(spec.Snippets(), HasLen, 1)
- c.Assert(spec.Snippets()[0], Equals, `KERNEL=="hwrng", TAG+="snap_consumer_app"`)
+ c.Assert(spec.Snippets(), testutil.Contains, `# hardware-random-control
+KERNEL=="hwrng", TAG+="snap_consumer_app"`)
}
func (s *HardwareRandomControlInterfaceSuite) TestStaticInfo(c *C) {
@@ -87,7 +87,8 @@ func (s *HardwareRandomObserveInterfaceSuite) TestUDevSpec(c *C) {
spec := &udev.Specification{}
c.Assert(spec.AddConnectedPlug(s.iface, s.plug, nil, s.slot, nil), IsNil)
c.Assert(spec.Snippets(), HasLen, 1)
- c.Assert(spec.Snippets()[0], Equals, `KERNEL=="hwrng", TAG+="snap_consumer_app"`)
+ c.Assert(spec.Snippets(), testutil.Contains, `# hardware-random-observe
+KERNEL=="hwrng", TAG+="snap_consumer_app"`)
}
func (s *HardwareRandomObserveInterfaceSuite) TestStaticInfo(c *C) {
@@ -117,19 +117,22 @@ func (iface *hidrawInterface) SanitizeSlot(slot *interfaces.Slot) error {
}
func (iface *hidrawInterface) UDevPermanentSlot(spec *udev.Specification, slot *interfaces.Slot) error {
- usbVendor, vOk := slot.Attrs["usb-vendor"].(int64)
- if !vOk {
+ usbVendor, ok := slot.Attrs["usb-vendor"].(int64)
+ if !ok {
return nil
}
- usbProduct, pOk := slot.Attrs["usb-product"].(int64)
- if !pOk {
+ usbProduct, ok := slot.Attrs["usb-product"].(int64)
+ if !ok {
return nil
}
path, ok := slot.Attrs["path"].(string)
if !ok || path == "" {
return nil
}
- spec.AddSnippet(udevUsbDeviceSnippet("hidraw", usbVendor, usbProduct, -1, "SYMLINK", strings.TrimPrefix(path, "/dev/")))
+ spec.AddSnippet(fmt.Sprintf(`# hidraw
+IMPORT{builtin}="usb_id"
+SUBSYSTEM=="hidraw", SUBSYSTEMS=="usb", ATTRS{idVendor}=="%04x", ATTRS{idProduct}=="%04x", SYMLINK+="%s"`,
+ usbVendor, usbProduct, strings.TrimPrefix(path, "/dev/")))
return nil
}
@@ -191,14 +191,16 @@ func (s *HidrawInterfaceSuite) TestPermanentSlotUDevSnippets(c *C) {
c.Assert(spec.Snippets(), HasLen, 0)
}
- expectedSnippet1 := `IMPORT{builtin}="usb_id"
+ expectedSnippet1 := `# hidraw
+IMPORT{builtin}="usb_id"
SUBSYSTEM=="hidraw", SUBSYSTEMS=="usb", ATTRS{idVendor}=="0001", ATTRS{idProduct}=="0001", SYMLINK+="hidraw-canbus"`
c.Assert(spec.AddPermanentSlot(s.iface, s.testUDev1), IsNil)
c.Assert(spec.Snippets(), HasLen, 1)
snippet := spec.Snippets()[0]
c.Assert(snippet, Equals, expectedSnippet1)
- expectedSnippet2 := `IMPORT{builtin}="usb_id"
+ expectedSnippet2 := `# hidraw
+IMPORT{builtin}="usb_id"
SUBSYSTEM=="hidraw", SUBSYSTEMS=="usb", ATTRS{idVendor}=="ffff", ATTRS{idProduct}=="ffff", SYMLINK+="hidraw-mydevice"`
spec = &udev.Specification{}
c.Assert(spec.AddPermanentSlot(s.iface, s.testUDev2), IsNil)
@@ -213,15 +215,17 @@ func (s *HidrawInterfaceSuite) TestConnectedPlugUDevSnippets(c *C) {
c.Assert(spec.AddConnectedPlug(s.iface, s.testPlugPort1, nil, s.testSlot1, nil), IsNil)
c.Assert(spec.Snippets(), HasLen, 1)
snippet := spec.Snippets()[0]
- expectedSnippet1 := `SUBSYSTEM=="hidraw", KERNEL=="hidraw0", TAG+="snap_client-snap_app-accessing-2-devices"`
+ expectedSnippet1 := `# hidraw
+SUBSYSTEM=="hidraw", KERNEL=="hidraw0", TAG+="snap_client-snap_app-accessing-2-devices"`
c.Assert(snippet, Equals, expectedSnippet1)
// add the plug for the first slot with vendor and product ids
spec = &udev.Specification{}
c.Assert(spec.AddConnectedPlug(s.iface, s.testPlugPort1, nil, s.testUDev1, nil), IsNil)
c.Assert(spec.Snippets(), HasLen, 1)
snippet = spec.Snippets()[0]
- expectedSnippet2 := `IMPORT{builtin}="usb_id"
+ expectedSnippet2 := `# hidraw
+IMPORT{builtin}="usb_id"
SUBSYSTEM=="hidraw", SUBSYSTEMS=="usb", ATTRS{idVendor}=="0001", ATTRS{idProduct}=="0001", TAG+="snap_client-snap_app-accessing-2-devices"`
c.Assert(snippet, Equals, expectedSnippet2)
@@ -230,7 +234,8 @@ SUBSYSTEM=="hidraw", SUBSYSTEMS=="usb", ATTRS{idVendor}=="0001", ATTRS{idProduct
c.Assert(spec.AddConnectedPlug(s.iface, s.testPlugPort2, nil, s.testUDev2, nil), IsNil)
c.Assert(spec.Snippets(), HasLen, 1)
snippet = spec.Snippets()[0]
- expectedSnippet3 := `IMPORT{builtin}="usb_id"
+ expectedSnippet3 := `# hidraw
+IMPORT{builtin}="usb_id"
SUBSYSTEM=="hidraw", SUBSYSTEMS=="usb", ATTRS{idVendor}=="ffff", ATTRS{idProduct}=="ffff", TAG+="snap_client-snap_app-accessing-2-devices"`
c.Assert(snippet, Equals, expectedSnippet3)
}
@@ -262,31 +267,34 @@ func (s *HidrawInterfaceSuite) TestConnectedPlugAppArmorSnippets(c *C) {
}
func (s *HidrawInterfaceSuite) TestConnectedPlugUDevSnippetsForPath(c *C) {
- expectedSnippet1 := `SUBSYSTEM=="hidraw", KERNEL=="hidraw0", TAG+="snap_client-snap_app-accessing-2-devices"`
+ expectedSnippet1 := `# hidraw
+SUBSYSTEM=="hidraw", KERNEL=="hidraw0", TAG+="snap_client-snap_app-accessing-2-devices"`
udevSpec := &udev.Specification{}
err := udevSpec.AddConnectedPlug(s.iface, s.testPlugPort1, nil, s.testSlot1, nil)
c.Assert(err, IsNil)
c.Assert(udevSpec.Snippets(), HasLen, 1)
snippet := udevSpec.Snippets()[0]
- c.Assert(snippet, DeepEquals, expectedSnippet1, Commentf("\nexpected:\n%s\nfound:\n%s", expectedSnippet1, snippet))
+ c.Assert(snippet, Equals, expectedSnippet1)
- expectedSnippet2 := `IMPORT{builtin}="usb_id"
+ expectedSnippet2 := `# hidraw
+IMPORT{builtin}="usb_id"
SUBSYSTEM=="hidraw", SUBSYSTEMS=="usb", ATTRS{idVendor}=="0001", ATTRS{idProduct}=="0001", TAG+="snap_client-snap_app-accessing-2-devices"`
udevSpec = &udev.Specification{}
err = udevSpec.AddConnectedPlug(s.iface, s.testPlugPort1, nil, s.testUDev1, nil)
c.Assert(err, IsNil)
c.Assert(udevSpec.Snippets(), HasLen, 1)
snippet = udevSpec.Snippets()[0]
- c.Assert(snippet, DeepEquals, expectedSnippet2, Commentf("\nexpected:\n%s\nfound:\n%s", expectedSnippet2, snippet))
+ c.Assert(snippet, Equals, expectedSnippet2)
- expectedSnippet3 := `IMPORT{builtin}="usb_id"
+ expectedSnippet3 := `# hidraw
+IMPORT{builtin}="usb_id"
SUBSYSTEM=="hidraw", SUBSYSTEMS=="usb", ATTRS{idVendor}=="ffff", ATTRS{idProduct}=="ffff", TAG+="snap_client-snap_app-accessing-2-devices"`
udevSpec = &udev.Specification{}
err = udevSpec.AddConnectedPlug(s.iface, s.testPlugPort2, nil, s.testUDev2, nil)
c.Assert(err, IsNil)
c.Assert(udevSpec.Snippets(), HasLen, 1)
snippet = udevSpec.Snippets()[0]
- c.Assert(snippet, DeepEquals, expectedSnippet3, Commentf("\nexpected:\n%s\nfound:\n%s", expectedSnippet3, snippet))
+ c.Assert(snippet, Equals, expectedSnippet3)
}
func (s *HidrawInterfaceSuite) TestInterfaces(c *C) {
@@ -161,7 +161,8 @@ func (s *I2cInterfaceSuite) TestUDevSpec(c *C) {
spec := &udev.Specification{}
c.Assert(spec.AddConnectedPlug(s.iface, s.testPlugPort1, nil, s.testUDev1, nil), IsNil)
c.Assert(spec.Snippets(), HasLen, 1)
- c.Assert(spec.Snippets()[0], testutil.Contains, `KERNEL=="i2c-1", TAG+="snap_client-snap_app-accessing-1-port"`)
+ c.Assert(spec.Snippets(), testutil.Contains, `# i2c
+KERNEL=="i2c-1", TAG+="snap_client-snap_app-accessing-1-port"`)
}
func (s *I2cInterfaceSuite) TestAppArmorSpec(c *C) {
@@ -157,7 +157,8 @@ func (s *IioInterfaceSuite) TestConnectedPlugUDevSnippets(c *C) {
spec := &udev.Specification{}
c.Assert(spec.AddConnectedPlug(s.iface, s.testPlugPort1, nil, s.testUDev1, nil), IsNil)
c.Assert(spec.Snippets(), HasLen, 1)
- c.Assert(spec.Snippets()[0], Equals, `KERNEL=="iio:device1", TAG+="snap_client-snap_app-accessing-1-port"`)
+ c.Assert(spec.Snippets(), testutil.Contains, `# iio
+KERNEL=="iio:device1", TAG+="snap_client-snap_app-accessing-1-port"`)
}
func (s *IioInterfaceSuite) TestConnectedPlugAppArmorSnippets(c *C) {
@@ -175,7 +176,7 @@ func (s *IioInterfaceSuite) TestConnectedPlugAppArmorSnippets(c *C) {
c.Assert(err, IsNil)
c.Assert(apparmorSpec.SecurityTags(), DeepEquals, []string{"snap.client-snap.app-accessing-1-port"})
snippet := apparmorSpec.SnippetForTag("snap.client-snap.app-accessing-1-port")
- c.Assert(snippet, DeepEquals, expectedSnippet1, Commentf("\nexpected:\n%s\nfound:\n%s", expectedSnippet1, snippet))
+ c.Assert(snippet, Equals, expectedSnippet1)
}
func (s *IioInterfaceSuite) TestAutoConnect(c *C) {
@@ -95,7 +95,8 @@ func (s *ioPortsControlInterfaceSuite) TestUDevSpec(c *C) {
udevSpec := &udev.Specification{}
c.Assert(udevSpec.AddConnectedPlug(s.iface, s.plug, nil, s.slot, nil), IsNil)
c.Assert(udevSpec.Snippets(), HasLen, 1)
- c.Assert(udevSpec.Snippets()[0], Equals, `KERNEL=="port", TAG+="snap_consumer_app"`)
+ c.Assert(udevSpec.Snippets(), testutil.Contains, `# io-ports-control
+KERNEL=="port", TAG+="snap_consumer_app"`)
}
func (s *ioPortsControlInterfaceSuite) TestStaticInfo(c *C) {
@@ -87,7 +87,8 @@ func (s *JoystickInterfaceSuite) TestUDevSpec(c *C) {
spec := &udev.Specification{}
c.Assert(spec.AddConnectedPlug(s.iface, s.plug, nil, s.slot, nil), IsNil)
c.Assert(spec.Snippets(), HasLen, 1)
- c.Assert(spec.Snippets()[0], testutil.Contains, `KERNEL=="js[0-9]*", TAG+="snap_consumer_app"`)
+ c.Assert(spec.Snippets(), testutil.Contains, `# joystick
+KERNEL=="js[0-9]*", TAG+="snap_consumer_app"`)
}
func (s *JoystickInterfaceSuite) TestStaticInfo(c *C) {
@@ -95,7 +95,8 @@ func (s *KernelModuleControlInterfaceSuite) TestUDevSpec(c *C) {
spec := &udev.Specification{}
c.Assert(spec.AddConnectedPlug(s.iface, s.plug, nil, s.slot, nil), IsNil)
c.Assert(spec.Snippets(), HasLen, 1)
- c.Assert(spec.Snippets()[0], testutil.Contains, `KERNEL=="mem", TAG+="snap_consumer_app"`)
+ c.Assert(spec.Snippets(), testutil.Contains, `# kernel-module-control
+KERNEL=="mem", TAG+="snap_consumer_app"`)
}
func (s *KernelModuleControlInterfaceSuite) TestStaticInfo(c *C) {
@@ -92,7 +92,8 @@ func (s *kvmInterfaceSuite) TestUDevSpec(c *C) {
spec := &udev.Specification{}
c.Assert(spec.AddConnectedPlug(s.iface, s.plug, nil, s.slot, nil), IsNil)
c.Assert(spec.Snippets(), HasLen, 1)
- c.Assert(spec.Snippets()[0], Equals, `KERNEL=="kvm", TAG+="snap_consumer_app"`)
+ c.Assert(spec.Snippets()[0], Equals, `# kvm
+KERNEL=="kvm", TAG+="snap_consumer_app"`)
}
func (s *kvmInterfaceSuite) TestStaticInfo(c *C) {
@@ -140,7 +140,16 @@ func (s *MirInterfaceSuite) TestUDevSpec(c *C) {
udevSpec := &udev.Specification{}
c.Assert(udevSpec.AddPermanentSlot(s.iface, s.coreSlot), IsNil)
c.Assert(udevSpec.Snippets(), HasLen, 5)
- c.Assert(udevSpec.Snippets(), testutil.Contains, `KERNEL=="event[0-9]*", TAG+="snap_mir-server_mir"`)
+ c.Assert(udevSpec.Snippets(), testutil.Contains, `# mir
+KERNEL=="tty[0-9]*", TAG+="snap_mir-server_mir"`)
+ c.Assert(udevSpec.Snippets(), testutil.Contains, `# mir
+KERNEL=="mice", TAG+="snap_mir-server_mir"`)
+ c.Assert(udevSpec.Snippets(), testutil.Contains, `# mir
+KERNEL=="mouse[0-9]*", TAG+="snap_mir-server_mir"`)
+ c.Assert(udevSpec.Snippets(), testutil.Contains, `# mir
+KERNEL=="event[0-9]*", TAG+="snap_mir-server_mir"`)
+ c.Assert(udevSpec.Snippets(), testutil.Contains, `# mir
+KERNEL=="ts[0-9]*", TAG+="snap_mir-server_mir"`)
}
func (s *MirInterfaceSuite) TestInterfaces(c *C) {
@@ -209,7 +209,8 @@ func (s *ModemManagerInterfaceSuite) TestUsedSecuritySystems(c *C) {
c.Assert(udevSpec.AddPermanentSlot(s.iface, s.slot), IsNil)
c.Assert(udevSpec.Snippets(), HasLen, 2)
c.Assert(udevSpec.Snippets()[0], testutil.Contains, `SUBSYSTEMS=="usb"`)
- c.Assert(udevSpec.Snippets(), testutil.Contains, `KERNEL=="tty[A-Z]*[0-9]*|cdc-wdm[0-9]*", TAG+="snap_modem-manager_mm"`)
+ c.Assert(udevSpec.Snippets(), testutil.Contains, `# modem-manager
+KERNEL=="tty[A-Z]*[0-9]*|cdc-wdm[0-9]*", TAG+="snap_modem-manager_mm"`)
}
func (s *ModemManagerInterfaceSuite) TestPermanentSlotDBus(c *C) {
@@ -95,7 +95,8 @@ func (s *NetworkControlInterfaceSuite) TestUDevSpec(c *C) {
spec := &udev.Specification{}
c.Assert(spec.AddConnectedPlug(s.iface, s.plug, nil, s.slot, nil), IsNil)
c.Assert(spec.Snippets(), HasLen, 2)
- c.Assert(spec.Snippets(), testutil.Contains, `KERNEL=="tun", TAG+="snap_consumer_app"`)
+ c.Assert(spec.Snippets(), testutil.Contains, `# network-control
+KERNEL=="tun", TAG+="snap_consumer_app"`)
}
func (s *NetworkControlInterfaceSuite) TestStaticInfo(c *C) {
@@ -196,7 +196,8 @@ func (s *NetworkManagerInterfaceSuite) TestUDevPermanentSlot(c *C) {
spec := &udev.Specification{}
c.Assert(spec.AddPermanentSlot(s.iface, s.slot), IsNil)
c.Assert(spec.Snippets(), HasLen, 1)
- c.Assert(spec.Snippets()[0], Equals, `KERNEL=="rfkill", TAG+="snap_network-manager_nm"`)
+ c.Assert(spec.Snippets(), testutil.Contains, `# network-manager
+KERNEL=="rfkill", TAG+="snap_network-manager_nm"`)
}
func (s *NetworkManagerInterfaceSuite) TestInterfaces(c *C) {
@@ -336,7 +336,6 @@ func (iface *ofonoInterface) UDevPermanentSlot(spec *udev.Specification, slot *i
*/
spec.TagDevice(`KERNEL=="tty[A-Z]*[0-9]*|cdc-wdm[0-9]*"`)
spec.TagDevice(`KERNEL=="tun"`)
- spec.TagDevice(`KERNEL=="tun[0-9]*"`)
spec.TagDevice(`KERNEL=="dsp"`)
return nil
}
@@ -200,9 +200,14 @@ func (s *OfonoInterfaceSuite) TestPermanentSlotSnippetSecComp(c *C) {
func (s *OfonoInterfaceSuite) TestPermanentSlotSnippetUDev(c *C) {
spec := &udev.Specification{}
c.Assert(spec.AddPermanentSlot(s.iface, s.slot), IsNil)
- c.Assert(spec.Snippets(), HasLen, 5)
+ c.Assert(spec.Snippets(), HasLen, 4)
c.Assert(spec.Snippets()[0], testutil.Contains, `LABEL="ofono_isi_end"`)
- c.Assert(spec.Snippets(), testutil.Contains, `KERNEL=="tty[A-Z]*[0-9]*|cdc-wdm[0-9]*", TAG+="snap_ofono_app"`)
+ c.Assert(spec.Snippets(), testutil.Contains, `# ofono
+KERNEL=="tty[A-Z]*[0-9]*|cdc-wdm[0-9]*", TAG+="snap_ofono_app"`)
+ c.Assert(spec.Snippets(), testutil.Contains, `# ofono
+KERNEL=="tun", TAG+="snap_ofono_app"`)
+ c.Assert(spec.Snippets(), testutil.Contains, `# ofono
+KERNEL=="dsp", TAG+="snap_ofono_app"`)
}
func (s *OfonoInterfaceSuite) TestInterfaces(c *C) {
@@ -87,7 +87,8 @@ func (s *OpenglInterfaceSuite) TestUDevSpec(c *C) {
spec := &udev.Specification{}
c.Assert(spec.AddConnectedPlug(s.iface, s.plug, nil, s.slot, nil), IsNil)
c.Assert(spec.Snippets(), HasLen, 2)
- c.Assert(spec.Snippets(), testutil.Contains, `SUBSYSTEM=="drm", KERNEL=="card[0-9]*", TAG+="snap_consumer_app"`)
+ c.Assert(spec.Snippets(), testutil.Contains, `# opengl
+SUBSYSTEM=="drm", KERNEL=="card[0-9]*", TAG+="snap_consumer_app"`)
}
func (s *OpenglInterfaceSuite) TestStaticInfo(c *C) {
@@ -87,7 +87,8 @@ func (s *OpticalDriveInterfaceSuite) TestUDevSpec(c *C) {
spec := &udev.Specification{}
c.Assert(spec.AddConnectedPlug(s.iface, s.plug, nil, s.slot, nil), IsNil)
c.Assert(spec.Snippets(), HasLen, 2)
- c.Assert(spec.Snippets(), testutil.Contains, `KERNEL=="sr[0-9]*", TAG+="snap_consumer_app"`)
+ c.Assert(spec.Snippets(), testutil.Contains, `# optical-drive
+KERNEL=="sr[0-9]*", TAG+="snap_consumer_app"`)
}
func (s *OpticalDriveInterfaceSuite) TestStaticInfo(c *C) {
@@ -87,7 +87,8 @@ func (s *PhysicalMemoryControlInterfaceSuite) TestUDevSpec(c *C) {
spec := &udev.Specification{}
c.Assert(spec.AddConnectedPlug(s.iface, s.plug, nil, s.slot, nil), IsNil)
c.Assert(spec.Snippets(), HasLen, 1)
- c.Assert(spec.Snippets()[0], DeepEquals, `KERNEL=="mem", TAG+="snap_consumer_app"`)
+ c.Assert(spec.Snippets(), testutil.Contains, `# physical-memory-control
+KERNEL=="mem", TAG+="snap_consumer_app"`)
}
func (s *PhysicalMemoryControlInterfaceSuite) TestStaticInfo(c *C) {
Oops, something went wrong.