summaryrefslogtreecommitdiffstats
path: root/t/recipes/checks/udev/udev-rules
diff options
context:
space:
mode:
Diffstat (limited to 't/recipes/checks/udev/udev-rules')
-rw-r--r--t/recipes/checks/udev/udev-rules/build-spec/debian/rules13
-rw-r--r--t/recipes/checks/udev/udev-rules/build-spec/debian/udev-rules.dirs2
-rw-r--r--t/recipes/checks/udev/udev-rules/build-spec/debian/udev-rules.metadata.xml22
-rw-r--r--t/recipes/checks/udev/udev-rules/build-spec/debian/udev-rules.udev25
-rw-r--r--t/recipes/checks/udev/udev-rules/build-spec/fill-values3
-rw-r--r--t/recipes/checks/udev/udev-rules/eval/desc2
-rw-r--r--t/recipes/checks/udev/udev-rules/eval/hints5
7 files changed, 72 insertions, 0 deletions
diff --git a/t/recipes/checks/udev/udev-rules/build-spec/debian/rules b/t/recipes/checks/udev/udev-rules/build-spec/debian/rules
new file mode 100644
index 0000000..0b8c364
--- /dev/null
+++ b/t/recipes/checks/udev/udev-rules/build-spec/debian/rules
@@ -0,0 +1,13 @@
+#!/usr/bin/make -f
+
+DESTDIR = debian/$(shell dh_listpackages)
+APPSYNC_DIR=$(DESTDIR)/usr/share/metainfo/
+UDEV_DIR=$(DESTDIR)/usr/lib/udev/rules.d/
+
+%:
+ dh $@
+
+override_dh_install:
+ dh_install
+ install -m 0644 debian/udev-rules.metadata.xml $(APPSYNC_DIR)
+ ln -s dangling $(UDEV_DIR)/60-dangling-symlink.rules
diff --git a/t/recipes/checks/udev/udev-rules/build-spec/debian/udev-rules.dirs b/t/recipes/checks/udev/udev-rules/build-spec/debian/udev-rules.dirs
new file mode 100644
index 0000000..9268383
--- /dev/null
+++ b/t/recipes/checks/udev/udev-rules/build-spec/debian/udev-rules.dirs
@@ -0,0 +1,2 @@
+usr/lib/udev/rules.d
+usr/share/metainfo
diff --git a/t/recipes/checks/udev/udev-rules/build-spec/debian/udev-rules.metadata.xml b/t/recipes/checks/udev/udev-rules/build-spec/debian/udev-rules.metadata.xml
new file mode 100644
index 0000000..2564e98
--- /dev/null
+++ b/t/recipes/checks/udev/udev-rules/build-spec/debian/udev-rules.metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<component>
+ <id>udev-rules</id>
+ <metadata_license>MIT</metadata_license>
+ <name>lintian udev-rules test</name>
+ <summary>Test udev related checks in lintian</summary>
+ <description>
+ <p>
+ This is a test package designed to exercise some feature or tag
+ of Lintian. It is part of the Lintian test suite and may do
+ very odd things. It should not be installed like a regular
+ package. It may be an empty package.
+ </p>
+ </description>
+ <provides>
+ <modalias>usb:v0000p0001d*</modalias>
+ <modalias>usb:v0000p0002d*</modalias>
+ <modalias>usb:v0000p0003d*</modalias>
+ <modalias>usb:v0000p0004d*</modalias>
+ <modalias>usb:v0000p000Ad*</modalias>
+ </provides>
+</component>
diff --git a/t/recipes/checks/udev/udev-rules/build-spec/debian/udev-rules.udev b/t/recipes/checks/udev/udev-rules/build-spec/debian/udev-rules.udev
new file mode 100644
index 0000000..e35482d
--- /dev/null
+++ b/t/recipes/checks/udev/udev-rules/build-spec/debian/udev-rules.udev
@@ -0,0 +1,25 @@
+SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="0000", ATTR{idProduct}=="0001", \
+ MODE="0666"
+
+SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="0000", ATTR{idProduct}=="0002", \
+ MODE="0660", GROUP="plugdev"
+
+SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="0000", ATTR{idProduct}=="0003", \
+ TAG+="uaccess"
+
+SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="0000", ATTR{idProduct}=="0004", \
+ MODE="0660", GROUP="plugdev", TAG+="uaccess"
+
+ACTION=="add", ATTR{idVendor}=="0000", ATTR{idProduct}=="0005", \
+ MODE="0660", GROUP="plugdev", TAG+="uaccess"
+
+SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="0000", ATTR{idProduct}=="000a", \
+ ID_TEST_DEVICE="1"
+
+SUBSYSTEM!="usb", GOTO="target"
+ENV{DEVTYPE}!="usb_device", GOTO="target"
+ATTR{idVendor}=="0000", ATTR{idProduct}=="0000", RUN+="missing-subsystem-false-positive"
+LABEL="target"
+
+# Ensure we trigger this one after a GOTO
+ATTR{idVendor}=="0000", ATTR{idProduct}=="0000", RUN+="missing-subsystem"
diff --git a/t/recipes/checks/udev/udev-rules/build-spec/fill-values b/t/recipes/checks/udev/udev-rules/build-spec/fill-values
new file mode 100644
index 0000000..6463c54
--- /dev/null
+++ b/t/recipes/checks/udev/udev-rules/build-spec/fill-values
@@ -0,0 +1,3 @@
+Skeleton: upload-native
+Testname: udev-rules
+Description: Check udev rules for mistakes
diff --git a/t/recipes/checks/udev/udev-rules/eval/desc b/t/recipes/checks/udev/udev-rules/eval/desc
new file mode 100644
index 0000000..7330125
--- /dev/null
+++ b/t/recipes/checks/udev/udev-rules/eval/desc
@@ -0,0 +1,2 @@
+Testname: udev-rules
+Check: udev
diff --git a/t/recipes/checks/udev/udev-rules/eval/hints b/t/recipes/checks/udev/udev-rules/eval/hints
new file mode 100644
index 0000000..e83c0b2
--- /dev/null
+++ b/t/recipes/checks/udev/udev-rules/eval/hints
@@ -0,0 +1,5 @@
+udev-rules (binary): udev-rule-unreadable [usr/lib/udev/rules.d/60-dangling-symlink.rules]
+udev-rules (binary): udev-rule-missing-uaccess user accessible device missing TAG+="uaccess" [usr/lib/udev/rules.d/60-udev-rules.rules:5]
+udev-rules (binary): udev-rule-missing-uaccess user accessible device missing TAG+="uaccess" [usr/lib/udev/rules.d/60-udev-rules.rules:2]
+udev-rules (binary): udev-rule-missing-subsystem vendor/product matching missing SUBSYSTEM specifier [usr/lib/udev/rules.d/60-udev-rules.rules:25]
+udev-rules (binary): udev-rule-missing-subsystem vendor/product matching missing SUBSYSTEM specifier [usr/lib/udev/rules.d/60-udev-rules.rules:14]