summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2005-04-26[PATCH] udev - drop all methods :)kay.sievers@vrfy.org
> Hi, > as promised yesterday, here is a patch that drops the explicit methods > given in the udev config and implement only one type of rule. > > A rule now consists only of a number of keys to match. All known keys > are valid in any combination. The former configs should work with a few > changes: > > o the "<METHOD>, " at the beginning of the line should be removed > > o the result of the externel program is matched with RESULT= instead if ID= > the PROGRAM= key is only valid if the program exits with zero > (just exit with nozero in a script if the rule should not match) > > o rules are processed in order they appear in the file, no priority > > o if NAME="" is given, udev is instructed to ignore this device, > no node will be created > > > EXAMPLE: > > # combined BUS, SYSFS and KERNEL > BUS="usb", KERNEL="video*", SYSFS_model="Creative Labs WebCam*", NAME="test/webcam%n" > > # exec script only for the first ide drive (hda), all other will be skipped > BUS="ide", KERNEL="hda*", PROGRAM="/home/kay/src/udev.kay/extras/ide-devfs.sh %k %b %n", RESULT="hd*", NAME="%1c", SYMLINK="%2c %3c" > > > The udev-test.pl and test.block works fine here. > Please adapt your config and give it a try. > Here is a slightly better version of the patch. After a conversation with Patrick, we are now able to execute the PROGRAM and also match in all following rules with the RESULT value from this exec. EXAMPLE: We have 7 rules with RESULT and 2 with PROGRAM. Only the 5th rule matches with the callout result from the exec in the 4th rule. RULES: PROGRAM="/bin/echo abc", RESULT="no_match", NAME="web-no-2" KERNEL="video*", RESULT="123", NAME="web-no-3" KERNEL="video*", RESULT="123", NAME="web-no-4" PROGRAM="/bin/echo 123", RESULT="no_match", NAME="web-no-5" KERNEL="video*", RESULT="123", NAME="web-yes" RESULT: Jan 11 23:36:52 pim udev[26050]: namedev_name_device: process rule Jan 11 23:36:52 pim udev[26050]: namedev_name_device: check PROGRAM Jan 11 23:36:52 pim udev[26050]: execute_program: executing '/bin/echo abc' Jan 11 23:36:52 pim udev[26050]: execute_program: result is 'abc' Jan 11 23:36:52 pim udev[26050]: namedev_name_device: PROGRAM returned successful Jan 11 23:36:52 pim udev[26050]: namedev_name_device: check for RESULT dev->result='no_match', udev->program_result='abc' Jan 11 23:36:52 pim udev[26050]: namedev_name_device: RESULT is not matching Jan 11 23:36:52 pim udev[26050]: namedev_name_device: process rule Jan 11 23:36:52 pim udev[26050]: namedev_name_device: check for KERNEL dev->kernel='video*' class_dev->name='video0' Jan 11 23:36:52 pim udev[26050]: namedev_name_device: KERNEL matches Jan 11 23:36:52 pim udev[26050]: namedev_name_device: check for RESULT dev->result='123', udev->program_result='abc' Jan 11 23:36:52 pim udev[26050]: namedev_name_device: RESULT is not matching Jan 11 23:36:52 pim udev[26050]: namedev_name_device: process rule Jan 11 23:36:52 pim udev[26050]: namedev_name_device: check for KERNEL dev->kernel='video*' class_dev->name='video0' Jan 11 23:36:52 pim udev[26050]: namedev_name_device: KERNEL matches Jan 11 23:36:52 pim udev[26050]: namedev_name_device: check for RESULT dev->result='123', udev->program_result='abc' Jan 11 23:36:52 pim udev[26050]: namedev_name_device: RESULT is not matching Jan 11 23:36:52 pim udev[26050]: namedev_name_device: process rule Jan 11 23:36:52 pim udev[26050]: namedev_name_device: check PROGRAM Jan 11 23:36:52 pim udev[26050]: execute_program: executing '/bin/echo 123' Jan 11 23:36:52 pim udev[26050]: execute_program: result is '123' Jan 11 23:36:52 pim udev[26050]: namedev_name_device: PROGRAM returned successful Jan 11 23:36:52 pim udev[26050]: namedev_name_device: check for RESULT dev->result='no_match', udev->program_result='123' Jan 11 23:36:52 pim udev[26050]: namedev_name_device: RESULT is not matching Jan 11 23:36:52 pim udev[26050]: namedev_name_device: process rule Jan 11 23:36:52 pim udev[26050]: namedev_name_device: check for KERNEL dev->kernel='video*' class_dev->name='video0' Jan 11 23:36:52 pim udev[26050]: namedev_name_device: KERNEL matches Jan 11 23:36:52 pim udev[26050]: namedev_name_device: check for RESULT dev->result='123', udev->program_result='123' Jan 11 23:36:52 pim udev[26050]: namedev_name_device: RESULT matches Jan 11 23:36:52 pim udev[26050]: namedev_name_device: found matching rule, 'video*' becomes '' Jan 11 23:36:52 pim udev[26050]: namedev_name_device: name, 'web-yes' is going to have owner='', group='', mode = 0600
2005-04-26[PATCH] add a script that tests the IGNORE rulegreg@kroah.com
Can't figure out how to test for "nothing" in the udev-test.pl script framework.
2005-04-26[PATCH] add tests for LABEL rule with a device that has no bus.greg@kroah.com
2005-04-26[PATCH] If a CALLOUT rule has a BUS id, then we must check to see if the ↵greg@kroah.com
device is on a bus. Thanks to Martin Schlemmer <azarah@nosferatu.za.org> for pointing this out.
2005-04-26[PATCH] add test for callout rule with a device that has no bus.greg@kroah.com
2005-04-26[PATCH] fix udev-test.plkay.sievers@vrfy.org
Here is a small fix for udev-test.pl, to print the METHOD also for the "whitespace config" tests. TEST: Handle comment lines in config file (and replace kernel name) method '' for 'class/tty/ttyUSB0' expecting node 'visor' add: ok remove: ok
2005-04-26[PATCH] add tests for multi-file LABEL rules.greg@kroah.com
2005-04-26[PATCH] clean up the stand-alone tests to work properly on other people's ↵greg@kroah.com
machines.
2005-04-26[PATCH] add tests to catch whitespace and comment config file parsing errors.greg@kroah.com
2005-04-26[PATCH] don't rely on field order in namedev_parsekay.sievers@vrfy.org
o change the parsing to get a key from the rule and sort it into our list of known keys instead of expecting a special order o the key to match a sysfs file must be prependend by 'SYSFS_' now to match with the new parsing. (The config must be changed, but it's a bit more descriptive too.) o put names of fields in define's, like the name of the methods o update all tests and the man page
2005-04-26[PATCH] get part of callout return stringkay.sievers@vrfy.org
Try this patch if you like, to get special parts of the callout output. This beast works now: CALLOUT, BUS="scsi", PROGRAM="/bin/echo -n node link1 link2", ID="node *", NAME="%1c", SYMLINK="%2c %3c" The callout returned string is separated by spaces and is addressed by the "len" value of the 'c' format char. Since we support symlinks, this my be useful for other uses of callout too. introduce 'len number' for format chars the first use is 'c'-the callout return to select a part of the output string like: CALLOUT, BUS="scsi", PROGRAM="/bin/echo -n node link1 link2", ID="node *", NAME="%1c", SYMLINK="%2c %3c" (note: first part is requested by len=1, len=0 will return the whole string) add a test to udev-test.pl
2005-04-26[PATCH] change devfs disk name rule from 'disk' to 'disc'greg@kroah.com
2005-04-26[PATCH] allow multiple symlinkskay.sievers@vrfy.org
Here is a patch to allow the creation of multiple symlinks. The names must be separated by a space character. REPLACE, KERNEL="ttyUSB0", NAME="visor", SYMLINK="first-%n second-%n third-%n" results in: Dec 9 05:28:51 pim udev[12019]: create_node: mknod(udev-root/visor, 020666, 188, 0) Dec 9 05:28:51 pim udev[12019]: create_node: symlink 'udev-root/first-0' to node 'visor' requested Dec 9 05:28:51 pim udev[12019]: create_node: symlink(./visor, udev-root/first-0) Dec 9 05:28:51 pim udev[12019]: create_node: symlink 'udev-root/second-0' to node 'visor' requested Dec 9 05:28:51 pim udev[12019]: create_node: symlink(./visor, udev-root/second-0) Dec 9 05:28:51 pim udev[12019]: create_node: symlink 'udev-root/third-0' to node 'visor' requested Dec 9 05:28:51 pim udev[12019]: create_node: symlink(./visor, udev-root/third-0)
2005-04-26[PATCH] experimental (very simple) SYMLINK creationkay.sievers@vrfy.org
> > here is a experimental symlink creation patch - for discussion, > > in which direction we should go. > > It is possible now to define SYMLINK= after the NAME= in udev.rules. > > The link is relative to the node, but the path is not optimized now > > if the node and the link are in the same nested directory. > > Only one link is supported, cause i need to sleep now :) > > > > 06-simple-symlink-creation.diff > > simple symlink creation > > reorganized udev-remove to have access to the symlink field > > subdir creation/removal are functions now > > udev-test.pl tests for link creation/removal Here is a new version with relative link target path optimization an better tests in udev-test.pl: LABEL, BUS="scsi", vendor="IBM-ESXS", NAME="1/2/a/b/node", SYMLINK="1/2/c/d/symlink" Dec 7 06:48:34 pim udev[13789]: create_node: symlink 'udev-root/1/2/c/d/symlink' to node '1/2/a/b/node' requested Dec 7 06:48:34 pim udev[13789]: create_path: created 'udev-root/1/2/c' Dec 7 06:48:34 pim udev[13789]: create_path: created 'udev-root/1/2/c/d' Dec 7 06:48:34 pim udev[13789]: create_node: symlink(../../a/b/node, udev-root/1/2/c/d/symlink)
2005-04-26[PATCH] pattern match for label methodkay.sievers@vrfy.org
switch LABEL search to pattern match add a test for pattern match in LABEL remove useless rule from udev.rules
2005-04-26[PATCH] fix permission handling logicgreg@kroah.com
Now we can handle wildcards properly within the permission file.
2005-04-26[PATCH] show permissions and groups in the label_testgreg@kroah.com
2005-04-26[PATCH] fix up the tests to work without all of the environ variables.greg@kroah.com
2005-04-26[PATCH] get rid of the majority of the debug environment variables.greg@kroah.com
Now there are only 3 valid environment test variables. The rest can be specified with the config file.
2005-04-26[PATCH] pattern matching for namedevkay.sievers@vrfy.org
As promised yesterday, here is a patch to implement a more advanced pattern matching instead of the simple '*'. We can remove the "tty"="tty" line from udev.rules now and replace "tty*" by "tty[0-9]*" to catch only the vc's. implement pattern matching in namedev '*' - to match zero or more chars '?' - to match exactly one char '[]' - character classes with ranges '[0-9]'and negation [!A]
2005-04-26[PATCH] fix up the tests to support the rules file name changegreg@kroah.com
2005-04-26[PATCH] add support for a main udev config file, udev.conf.greg@kroah.com
the older udev.config file is now called udev.rules. This allows us to better control configuration values, and move away from the environment variables.
2005-04-26[PATCH] catch replace device by wildcardkay.sievers@vrfy.org
catch device name by wildcard to support a whole class of devices by just one config line like: REPLACE, KERNEL="tty*", NAME="vc/%n"
2005-04-26[PATCH] add test for checking the BUS value.greg@kroah.com
2005-04-26[PATCH] add test and documentation for new %D devfs format modifiergreg@kroah.com
2005-04-26[PATCH] udev-test.pl add subdir testkay.sievers@vrfy.org
03-udev-test.pl-add-subdir-test.diff o duplicate existing test and change it to explicitely test the subdir handling
2005-04-26[PATCH] fix the test.block and test.tty scripts due to their moveing. Also ↵greg@kroah.com
add a test.all script.
2005-04-26[PATCH] udev-test.pl - tweakskay.sievers@vrfy.org
I found two missing characters and optimized $PWD.
2005-04-26[PATCH] added ability to put format specifiers in the CALLOUT program string.greg@kroah.com
2005-04-26[PATCH] tweak udev-test.pl to report '0' errors if that's what happened.greg@kroah.com
2005-04-26[PATCH] add udev-test perl script from Kay Sievers <kay.sievers@vrfy.org> ↵greg@kroah.com
which blows away my puny shell scripts.
2005-04-26[PATCH] tweak replace_testgreg@kroah.com
2005-04-26[PATCH] add real udev.permissions file to test directory.greg@kroah.com
2005-04-26[PATCH] add dumb test for all of the different modifiers.greg@kroah.com
2005-04-26[PATCH] faster test scriptschris_friesen@sympatico.ca
I've attached a patch against 005 for both the block and tty scripts. I didn't bother running udev backgrounded, since as you say, the new code runs a lot faster.
2005-04-26[PATCH] move the test.block and test.tty scripts to the test/ directorygreg@kroah.com
2005-04-26[PATCH] add remove actions to the test scriptsgreg@kroah.com
2005-04-26[PATCH] add printf option to label test to verify it works.greg@kroah.com
2005-04-26[PATCH] add TOPO regression test.greg@kroah.com
2005-04-26[PATCH] updated label test script (tests for partitions now.)greg@kroah.com
2005-04-26[PATCH] add replace testgreg@kroah.com
2005-04-26[PATCH] add more sysfs test tree files.greg@kroah.com
2005-04-26[PATCH] change UDEV_SYSFS_PATH environment variable due to libsysfs change.greg@kroah.com
2005-04-26[PATCH] regression tests starting to be added.greg@kroah.com
2005-04-26[PATCH] split the tests up into different files.greg@kroah.com
2005-04-26[PATCH] update the tests to handle block devices too.greg@kroah.com
2005-04-26[PATCH] fix up the test to actually work...greg@kroah.com
2005-04-26[PATCH] remove now works!greg@kroah.com
2005-04-26[PATCH] added stupid test script for debugging.greg@kroah.com