| #! /bin/sh |
| # Test of generation of 32-bit and 64-bit maps, gzipped modules. |
| |
| [ -n "$CONFIG_HAVE_ZLIB" ] || exit 0 |
| |
| for ENDIAN in $TEST_ENDIAN; do |
| for BITNESS in $TEST_BITS; do |
| |
| rm -rf tests/tmp/* |
| |
| mkdir tests/tmp/data |
| for f in tests/data/$BITNESS$ENDIAN/map/*.ko; do |
| gzip < $f > tests/tmp/data/`basename $f .ko`.ko.gz |
| done |
| |
| |
| rm -rf tests/tmp/* |
| |
| # Copy modules instead of linking, so we can compress them |
| MODULE_DIR=tests/tmp/lib/modules/$MODTEST_UNAME |
| mkdir -p $MODULE_DIR |
| cp tests/data/$BITNESS$ENDIAN/map/ccw_map-$BITNESS.ko \ |
| tests/data/$BITNESS$ENDIAN/map/pci_map-$BITNESS.ko \ |
| tests/data/$BITNESS$ENDIAN/map/usb_map-$BITNESS.ko \ |
| tests/data/$BITNESS$ENDIAN/map/ieee1394_map-$BITNESS.ko \ |
| tests/data/$BITNESS$ENDIAN/map/pnp_map-$BITNESS.ko \ |
| tests/data/$BITNESS$ENDIAN/map/input_map-$BITNESS.ko \ |
| tests/data/$BITNESS$ENDIAN/map/of_map-$BITNESS.ko \ |
| tests/data/$BITNESS$ENDIAN/map/input_map_new-$BITNESS.ko \ |
| $MODULE_DIR |
| gzip `find $MODULE_DIR -name '*.ko'` |
| |
| # Expect no output. |
| [ "`depmod`" = "" ] |
| |
| # Check PCI: expect 2 lines |
| [ `grep -vc '^#' < $MODULE_DIR/modules.pcimap` = 2 ] |
| |
| [ "`grep pci_map $MODULE_DIR/modules.pcimap`" = "pci_map-$BITNESS 0x00000001 0x00000002 0x00000003 0x00000004 0x00000005 0x00000006 0x0 |
| pci_map-$BITNESS 0x0000000b 0x0000000c 0x0000000d 0x0000000e 0x0000000f 0x00000010 0x0" ] |
| |
| # Check USB: expect 2 lines |
| [ `grep -vc '^#' < $MODULE_DIR/modules.usbmap` = 2 ] |
| |
| [ "`grep usb_map $MODULE_DIR/modules.usbmap`" = "usb_map-$BITNESS 0x0001 0x0002 0x0003 0x0004 0x0005 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0 |
| usb_map-$BITNESS 0x000b 0x000c 0x000d 0x000e 0x000f 0x10 0x11 0x12 0x13 0x14 0x15 0x0" ] |
| |
| # Check CCW: expect 2 lines |
| [ `grep -vc '^#' < $MODULE_DIR/modules.ccwmap` = 2 ] |
| |
| [ "`grep ccw_map $MODULE_DIR/modules.ccwmap`" = "ccw_map-$BITNESS 0x000f 0x0001 0x03 0x0002 0x04 |
| ccw_map-$BITNESS 0x000f 0x000b 0x0d 0x000c 0x0e" ] |
| |
| # Check ieee1394: expect 2 lines |
| [ `grep -vc '^#' < $MODULE_DIR/modules.ieee1394map` = 2 ] |
| |
| #%-20s 0x%08x 0x%06x 0x%06x 0x%06x 0x%06x\n", |
| #+ name, fw->match_flags, fw->vendor_id, fw->model_id, |
| #+ fw->specifier_id, fw->version); |
| [ "`grep ieee1394_map $MODULE_DIR/modules.ieee1394map`" = "ieee1394_map-$BITNESS 0x0000000c 0x000000 0x000000 0x00a02d 0x010001 |
| ieee1394_map-$BITNESS 0x0000000c 0x000000 0x000000 0x00a02d 0x000100" ] |
| |
| # Check input: expect 4 lines |
| [ `grep -vc '^#' < $MODULE_DIR/modules.inputmap` = 4 ] |
| |
| # module matchBits bustype vendor product version evBits keyBits relBits absBits mscBits ledBits sndBits ffBits [swBits] driver_info |
| [ "`grep input_map $MODULE_DIR/modules.inputmap`" = "input_map_new-$BITNESS 0x1010 0x0 0x0 0x0 0x0 2 0 0 0 0 0 0 0 1 0x0 |
| input_map_new-$BITNESS 0x10 0x0 0x0 0x0 0x0 40000 0 0 0 0 0 0 0 0 0x0 |
| input_map-$BITNESS 0x10 0x0 0x0 0x0 0x0 2 0 0 0 0 0 0 0 0x0 |
| input_map-$BITNESS 0x10 0x0 0x0 0x0 0x0 40000 0 0 0 0 0 0 0 0x0" ] || [ "`grep input_map $MODULE_DIR/modules.inputmap`" = "input_map-$BITNESS 0x10 0x0 0x0 0x0 0x0 2 0 0 0 0 0 0 0 0x0 |
| input_map-$BITNESS 0x10 0x0 0x0 0x0 0x0 40000 0 0 0 0 0 0 0 0x0 |
| input_map_new-$BITNESS 0x1010 0x0 0x0 0x0 0x0 2 0 0 0 0 0 0 0 1 0x0 |
| input_map_new-$BITNESS 0x10 0x0 0x0 0x0 0x0 40000 0 0 0 0 0 0 0 0 0x0" ] |
| |
| # Check of: expect 7 lines |
| [ `grep -vc '^#' < $MODULE_DIR/modules.ofmap` = 7 ] |
| |
| # of module name type compatible |
| [ "`grep of_map $MODULE_DIR/modules.ofmap`" = "of_map-$BITNESS test_name_1 * * |
| of_map-$BITNESS * test_type_1 * |
| of_map-$BITNESS * * test_compat_1 |
| of_map-$BITNESS test_name_2 test_type_2 * |
| of_map-$BITNESS test_name_3 * test_compat_2 |
| of_map-$BITNESS * test_type_3 test_compat_3 |
| of_map-$BITNESS test_name_4 test_type_4 test_compat_4" ] |
| |
| mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old |
| mv $MODULE_DIR/modules.pcimap $MODULE_DIR/modules.pcimap.old |
| mv $MODULE_DIR/modules.usbmap $MODULE_DIR/modules.usbmap.old |
| mv $MODULE_DIR/modules.ccwmap $MODULE_DIR/modules.ccwmap.old |
| mv $MODULE_DIR/modules.ieee1394map $MODULE_DIR/modules.ieee1394map.old |
| mv $MODULE_DIR/modules.isapnpmap $MODULE_DIR/modules.isapnpmap.old |
| mv $MODULE_DIR/modules.inputmap $MODULE_DIR/modules.inputmap.old |
| mv $MODULE_DIR/modules.ofmap $MODULE_DIR/modules.ofmap.old |
| |
| # Synonyms |
| [ "`depmod -a`" = "" ] |
| diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep |
| diff -u $MODULE_DIR/modules.pcimap.old $MODULE_DIR/modules.pcimap |
| diff -u $MODULE_DIR/modules.usbmap.old $MODULE_DIR/modules.usbmap |
| diff -u $MODULE_DIR/modules.ccwmap.old $MODULE_DIR/modules.ccwmap |
| diff -u $MODULE_DIR/modules.ieee1394map.old $MODULE_DIR/modules.ieee1394map |
| diff -u $MODULE_DIR/modules.isapnpmap.old $MODULE_DIR/modules.isapnpmap |
| diff -u $MODULE_DIR/modules.inputmap.old $MODULE_DIR/modules.inputmap |
| diff -u $MODULE_DIR/modules.ofmap.old $MODULE_DIR/modules.ofmap |
| |
| [ "`depmod -A`" = "" ] |
| diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep |
| diff -u $MODULE_DIR/modules.pcimap.old $MODULE_DIR/modules.pcimap |
| diff -u $MODULE_DIR/modules.usbmap.old $MODULE_DIR/modules.usbmap |
| diff -u $MODULE_DIR/modules.ccwmap.old $MODULE_DIR/modules.ccwmap |
| diff -u $MODULE_DIR/modules.ieee1394map.old $MODULE_DIR/modules.ieee1394map |
| diff -u $MODULE_DIR/modules.isapnpmap.old $MODULE_DIR/modules.isapnpmap |
| diff -u $MODULE_DIR/modules.inputmap.old $MODULE_DIR/modules.inputmap |
| diff -u $MODULE_DIR/modules.ofmap.old $MODULE_DIR/modules.ofmap |
| |
| [ "`depmod -e -A`" = "" ] |
| diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep |
| diff -u $MODULE_DIR/modules.pcimap.old $MODULE_DIR/modules.pcimap |
| diff -u $MODULE_DIR/modules.usbmap.old $MODULE_DIR/modules.usbmap |
| diff -u $MODULE_DIR/modules.ccwmap.old $MODULE_DIR/modules.ccwmap |
| diff -u $MODULE_DIR/modules.ieee1394map.old $MODULE_DIR/modules.ieee1394map |
| diff -u $MODULE_DIR/modules.isapnpmap.old $MODULE_DIR/modules.isapnpmap |
| diff -u $MODULE_DIR/modules.inputmap.old $MODULE_DIR/modules.inputmap |
| diff -u $MODULE_DIR/modules.ofmap.old $MODULE_DIR/modules.ofmap |
| |
| [ "`depmod -e -A $MODTEST_VERSION`" = "" ] |
| diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep |
| diff -u $MODULE_DIR/modules.pcimap.old $MODULE_DIR/modules.pcimap |
| diff -u $MODULE_DIR/modules.usbmap.old $MODULE_DIR/modules.usbmap |
| diff -u $MODULE_DIR/modules.ccwmap.old $MODULE_DIR/modules.ccwmap |
| diff -u $MODULE_DIR/modules.ieee1394map.old $MODULE_DIR/modules.ieee1394map |
| diff -u $MODULE_DIR/modules.isapnpmap.old $MODULE_DIR/modules.isapnpmap |
| diff -u $MODULE_DIR/modules.inputmap.old $MODULE_DIR/modules.inputmap |
| diff -u $MODULE_DIR/modules.ofmap.old $MODULE_DIR/modules.ofmap |
| |
| # We expect the same from -n. |
| grep -hv '^#' $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.pcimap.old $MODULE_DIR/modules.usbmap.old $MODULE_DIR/modules.ccwmap.old $MODULE_DIR/modules.ieee1394map.old $MODULE_DIR/modules.isapnpmap.old $MODULE_DIR/modules.inputmap.old $MODULE_DIR/modules.ofmap.old > tests/tmp/out |
| |
| # Stdout versions. |
| depmod -n | grep -v '^#' > tests/tmp/stdout |
| diff -u tests/tmp/out tests/tmp/stdout |
| |
| depmod -a -n | grep -v '^#' > $MODULE_DIR/modules.dep |
| diff -u tests/tmp/out tests/tmp/stdout |
| |
| depmod -n -a $MODTEST_VERSION | grep -v '^#' > $MODULE_DIR/modules.dep |
| diff -u tests/tmp/out tests/tmp/stdout |
| |
| depmod -e -n -A $MODTEST_VERSION | grep -v '^#' > $MODULE_DIR/modules.dep |
| diff -u tests/tmp/out tests/tmp/stdout |
| |
| done |
| done |