diff options
author | Alan Jenkins <alan-jenkins@tuffmail.co.uk> | 2009-09-30 17:35:50 +0100 |
---|---|---|
committer | Alan Jenkins <alan-jenkins@tuffmail.co.uk> | 2009-10-01 10:15:40 +0100 |
commit | 5579f326d02d014bb811f77e418150df887b9c7b (patch) | |
tree | 822bab67d90bbe4abd9057760697dffccca8d84f | |
parent | 804e5b4039f808b44beb04bc0fa11f47d5f68621 (diff) | |
download | module-init-tools-5579f326d02d014bb811f77e418150df887b9c7b.tar.gz |
testsuite: fix tests for install/remove commands
install and remove commands for real modules will now refuse to run,
if we don't provide a mockup of /sys/module.
Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
-rwxr-xr-x | tests/test-modprobe/04config.sh | 72 | ||||
-rwxr-xr-x | tests/test-modprobe/12whitespace.sh | 57 | ||||
-rwxr-xr-x | tests/test-modprobe/22recursiveinstall.sh | 6 | ||||
-rwxr-xr-x | tests/test-modprobe/27cmdline-install-remove.sh | 3 |
4 files changed, 103 insertions, 35 deletions
diff --git a/tests/test-modprobe/04config.sh b/tests/test-modprobe/04config.sh index cb85422..342cc18 100755 --- a/tests/test-modprobe/04config.sh +++ b/tests/test-modprobe/04config.sh @@ -88,38 +88,29 @@ SIZE_NOEXPORT_DEP=`wc -c < tests/data/$BITNESS/normal/noexport_dep-$BITNESS.ko` SIZE_EXPORT_DEP=`wc -c < tests/data/$BITNESS/normal/export_dep-$BITNESS.ko` SIZE_NOEXPORT_DOUBLEDEP=`wc -c < tests/data/$BITNESS/normal/noexport_doubledep-$BITNESS.ko` -# Test ignoring install & remove. +# Empty /sys/module/ for install commands +mkdir -p tests/tmp/sys/module +# Test ignoring install commands [ "`modprobe --ignore-install export_nodep-$BITNESS 2>&1`" = "INIT_MODULE: $SIZE_EXPORT_NODEP " ] [ "`modprobe -i export_nodep-$BITNESS 2>&1`" = "INIT_MODULE: $SIZE_EXPORT_NODEP " ] [ "`modprobe -i foo 2>&1`" = "FATAL: Module foo not found." ] -[ "`modprobe -r --ignore-remove export_nodep-$BITNESS 2>&1`" = "DELETE_MODULE: export_nodep_$BITNESS EXCL " ] -[ "`modprobe -r -i export_nodep-$BITNESS 2>&1`" = "DELETE_MODULE: export_nodep_$BITNESS EXCL " ] -[ "`modprobe -i -r foo 2>&1`" = "FATAL: Module foo not found." ] -# Test install & remove (fake modules) +# Test install commands (fake modules) [ "`modprobe foo 2>&1`" = "SYSTEM: echo Installing foo" ] [ "`modprobe bar 2>&1`" = "SYSTEM: echo Installing bar" ] [ "`modprobe baz 2>&1`" = "SYSTEM: echo Installing baz" ] -[ "`modprobe -r foo 2>&1`" = "SYSTEM: echo Removing foo" ] -[ "`modprobe -r bar 2>&1`" = "SYSTEM: echo Removing bar" ] -[ "`modprobe -r baz 2>&1`" = "SYSTEM: echo Removing baz" ] -# Test install & remove of a what is also a real module. +# Test install of a what is also a real module. [ "`modprobe export_nodep-$BITNESS 2>&1`" = "SYSTEM: echo Installing export_nodep" ] -[ "`modprobe -r export_nodep-$BITNESS 2>&1`" = "SYSTEM: echo Removing export_nodep" ] -# Test install & remove of what is also a real module via dependency. +# Test install of what is also a real module via dependency. [ "`modprobe noexport_dep-$BITNESS 2>&1`" = "SYSTEM: echo Installing export_nodep INIT_MODULE: $SIZE_NOEXPORT_DEP I am noexport_dep" ] -[ "`modprobe -r noexport_dep-$BITNESS 2>&1`" = "DELETE_MODULE: noexport_dep_$BITNESS EXCL -SYSTEM: echo Removing export_nodep" ] -# Test ignoring install & remove: only effects commandline. +# Test ignoring install commands: only effects commandline. [ "`modprobe -i noexport_dep-$BITNESS 2>&1`" = "SYSTEM: echo Installing export_nodep INIT_MODULE: $SIZE_NOEXPORT_DEP I am noexport_dep" ] -[ "`modprobe -r -i noexport_dep-$BITNESS 2>&1`" = "DELETE_MODULE: noexport_dep_$BITNESS EXCL -SYSTEM: echo Removing export_nodep" ] # Test options [ "`modprobe noexport_nodep-$BITNESS 2>&1`" = "INIT_MODULE: $SIZE_NOEXPORT_NODEP I am noexport_nodep" ] @@ -173,6 +164,39 @@ INIT_MODULE: $SIZE_NOEXPORT_DOUBLEDEP I am noexport_doubledep I am alias to noex # Test tab-to-spaces conversion, and \ wrapping. [ "`modprobe alias_to_noexport_nodep-$BITNESS_with_tabbed_options 2>&1`" = "INIT_MODULE: $SIZE_NOEXPORT_NODEP I am noexport_nodep index=0 id=\"Thinkpad\" isapnp=0 port=0x530 cport=0x538 fm_port=0x388 mpu_port=-1 mpu_irq=-1 irq=9 dma1=1 dma2=3 enable=1 isapnp=0" ] +# Populate /sys/module/ for remove commands +mkdir -p tests/tmp/sys/module/noexport_nodep_$BITNESS +mkdir -p tests/tmp/sys/module/noexport_dep_$BITNESS +mkdir -p tests/tmp/sys/module/noexport_doubledep_$BITNESS +mkdir -p tests/tmp/sys/module/export_nodep_$BITNESS +mkdir -p tests/tmp/sys/module/export_dep_$BITNESS +echo live > tests/tmp/sys/module/noexport_nodep_$BITNESS/initstate +echo live > tests/tmp/sys/module/noexport_dep_$BITNESS/initstate +echo live > tests/tmp/sys/module/noexport_doubledep_$BITNESS/initstate +echo live > tests/tmp/sys/module/export_nodep_$BITNESS/initstate +echo live > tests/tmp/sys/module/export_dep_$BITNESS/initstate + +# Test ignoring remove commands. +[ "`modprobe -r --ignore-remove export_nodep-$BITNESS 2>&1`" = "DELETE_MODULE: export_nodep_$BITNESS EXCL " ] +[ "`modprobe -r -i export_nodep-$BITNESS 2>&1`" = "DELETE_MODULE: export_nodep_$BITNESS EXCL " ] +[ "`modprobe -i -r foo 2>&1`" = "FATAL: Module foo not found." ] + +# Test remove commands (fake modules) +[ "`modprobe -r foo 2>&1`" = "SYSTEM: echo Removing foo" ] +[ "`modprobe -r bar 2>&1`" = "SYSTEM: echo Removing bar" ] +[ "`modprobe -r baz 2>&1`" = "SYSTEM: echo Removing baz" ] + +# Test remove of a what is also a real module. +[ "`modprobe -r export_nodep-$BITNESS 2>&1`" = "SYSTEM: echo Removing export_nodep" ] + +# Test remove of what is also a real module via dependency. +[ "`modprobe -r noexport_dep-$BITNESS 2>&1`" = "DELETE_MODULE: noexport_dep_$BITNESS EXCL +SYSTEM: echo Removing export_nodep" ] + +# Test ignoring remove commands: only effects commandline. +[ "`modprobe -r -i noexport_dep-$BITNESS 2>&1`" = "DELETE_MODULE: noexport_dep_$BITNESS EXCL +SYSTEM: echo Removing export_nodep" ] + # Test aliases doing removal. [ "`modprobe -r alias_to_noexport_nodep-$BITNESS 2>&1`" = "DELETE_MODULE: noexport_nodep_$BITNESS EXCL " ] [ "`modprobe -r alias_to_noexport_dep-$BITNESS 2>&1`" = "DELETE_MODULE: noexport_dep_$BITNESS EXCL @@ -186,3 +210,19 @@ SYSTEM: echo Removing export_nodep" ] [ "`modprobe -r alias_to_foo 2>&1`" = "SYSTEM: echo Removing foo" ] [ "`modprobe -r alias_to_bar 2>&1`" = "SYSTEM: echo Removing bar" ] [ "`modprobe -r alias_to_baz 2>&1`" = "SYSTEM: echo Removing baz" ] + +# Now test install precaution in the absence of /sys/modules +rm -r tests/tmp/sys/module + +# Test install and remove commands (fake modules) +# No caution necessary here +[ "`modprobe foo 2>&1`" = "SYSTEM: echo Installing foo" ] +[ "`modprobe -r foo 2>&1`" = "SYSTEM: echo Removing foo" ] + +# Test install and remove of a what is also a real module. +[ "`modprobe export_nodep-$BITNESS 2>&1`" = "WARNING: /sys/module/ not present or too old, and /proc/modules does not exist. +WARNING: Ignoring install commands for export_nodep_$BITNESS in case it is already loaded. +INIT_MODULE: $SIZE_EXPORT_NODEP " ] +[ "`modprobe -r export_nodep-$BITNESS 2>&1`" = "WARNING: /sys/module/ not present or too old, and /proc/modules does not exist. +WARNING: Ignoring remove commands for export_nodep_$BITNESS in case it is not loaded. +DELETE_MODULE: export_nodep_32 EXCL " ] diff --git a/tests/test-modprobe/12whitespace.sh b/tests/test-modprobe/12whitespace.sh index 159c4c2..5a1d817 100755 --- a/tests/test-modprobe/12whitespace.sh +++ b/tests/test-modprobe/12whitespace.sh @@ -82,38 +82,29 @@ SIZE_NOEXPORT_DEP=`wc -c < tests/data/$BITNESS/normal/noexport_dep-$BITNESS.ko` SIZE_EXPORT_DEP=`wc -c < tests/data/$BITNESS/normal/export_dep-$BITNESS.ko` SIZE_NOEXPORT_DOUBLEDEP=`wc -c < tests/data/$BITNESS/normal/noexport_doubledep-$BITNESS.ko` -# Test ignoring install & remove. +# Empty /sys/module/ for install commands +mkdir -p tests/tmp/sys/module +# Test ignoring install commands. [ "`modprobe --ignore-install export_nodep-$BITNESS 2>&1`" = "INIT_MODULE: $SIZE_EXPORT_NODEP " ] [ "`modprobe -i export_nodep-$BITNESS 2>&1`" = "INIT_MODULE: $SIZE_EXPORT_NODEP " ] [ "`modprobe -i foo 2>&1`" = "FATAL: Module foo not found." ] -[ "`modprobe -r --ignore-remove export_nodep-$BITNESS 2>&1`" = "DELETE_MODULE: export_nodep_$BITNESS EXCL " ] -[ "`modprobe -r -i export_nodep-$BITNESS 2>&1`" = "DELETE_MODULE: export_nodep_$BITNESS EXCL " ] -[ "`modprobe -i -r foo 2>&1`" = "FATAL: Module foo not found." ] -# Test install & remove (fake modules) +# Test install commands (fake modules) [ "`modprobe foo 2>&1`" = "SYSTEM: echo Installing foo" ] [ "`modprobe bar 2>&1`" = "SYSTEM: echo Installing bar" ] [ "`modprobe baz 2>&1`" = "SYSTEM: echo Installing baz" ] -[ "`modprobe -r foo 2>&1`" = "SYSTEM: echo Removing foo" ] -[ "`modprobe -r bar 2>&1`" = "SYSTEM: echo Removing bar" ] -[ "`modprobe -r baz 2>&1`" = "SYSTEM: echo Removing baz" ] -# Test install & remove of a what is also a real module. +# Test install of a what is also a real module. [ "`modprobe export_nodep-$BITNESS 2>&1`" = "SYSTEM: echo Installing export_nodep" ] -[ "`modprobe -r export_nodep-$BITNESS 2>&1`" = "SYSTEM: echo Removing export_nodep" ] -# Test install & remove of what is also a real module via dependency. +# Test install of what is also a real module via dependency. [ "`modprobe noexport_dep-$BITNESS 2>&1`" = "SYSTEM: echo Installing export_nodep INIT_MODULE: $SIZE_NOEXPORT_DEP I am noexport_dep" ] -[ "`modprobe -r noexport_dep-$BITNESS 2>&1`" = "DELETE_MODULE: noexport_dep_$BITNESS EXCL -SYSTEM: echo Removing export_nodep" ] -# Test ignoring install & remove: only effects commandline. +# Test ignoring install commands: only effects commandline. [ "`modprobe -i noexport_dep-$BITNESS 2>&1`" = "SYSTEM: echo Installing export_nodep INIT_MODULE: $SIZE_NOEXPORT_DEP I am noexport_dep" ] -[ "`modprobe -r -i noexport_dep-$BITNESS 2>&1`" = "DELETE_MODULE: noexport_dep_$BITNESS EXCL -SYSTEM: echo Removing export_nodep" ] # Test options [ "`modprobe noexport_nodep-$BITNESS 2>&1`" = "INIT_MODULE: $SIZE_NOEXPORT_NODEP I am noexport_nodep" ] @@ -164,6 +155,40 @@ INIT_MODULE: $SIZE_NOEXPORT_DOUBLEDEP I am noexport_doubledep I am alias to noex [ "`modprobe alias_to_bar 2>&1`" = "SYSTEM: echo Installing bar" ] [ "`modprobe alias_to_baz 2>&1`" = "SYSTEM: echo Installing baz" ] +# Populate /sys/module/ for remove commands +mkdir -p tests/tmp/sys/module/noexport_nodep_$BITNESS +mkdir -p tests/tmp/sys/module/noexport_dep_$BITNESS +mkdir -p tests/tmp/sys/module/noexport_doubledep_$BITNESS +mkdir -p tests/tmp/sys/module/export_nodep_$BITNESS +mkdir -p tests/tmp/sys/module/export_dep_$BITNESS +echo live > tests/tmp/sys/module/noexport_nodep_$BITNESS/initstate +echo live > tests/tmp/sys/module/noexport_dep_$BITNESS/initstate +echo live > tests/tmp/sys/module/noexport_doubledep_$BITNESS/initstate +echo live > tests/tmp/sys/module/export_nodep_$BITNESS/initstate +echo live > tests/tmp/sys/module/export_dep_$BITNESS/initstate + +# Test ignoring remove commands. + +[ "`modprobe -r --ignore-remove export_nodep-$BITNESS 2>&1`" = "DELETE_MODULE: export_nodep_$BITNESS EXCL " ] +[ "`modprobe -r -i export_nodep-$BITNESS 2>&1`" = "DELETE_MODULE: export_nodep_$BITNESS EXCL " ] +[ "`modprobe -i -r foo 2>&1`" = "FATAL: Module foo not found." ] + +# Test remove commands (fake modules) +[ "`modprobe -r foo 2>&1`" = "SYSTEM: echo Removing foo" ] +[ "`modprobe -r bar 2>&1`" = "SYSTEM: echo Removing bar" ] +[ "`modprobe -r baz 2>&1`" = "SYSTEM: echo Removing baz" ] + +# Test remove of a what is also a real module. +[ "`modprobe -r export_nodep-$BITNESS 2>&1`" = "SYSTEM: echo Removing export_nodep" ] + +# Test remove of what is also a real module via dependency. +[ "`modprobe -r noexport_dep-$BITNESS 2>&1`" = "DELETE_MODULE: noexport_dep_$BITNESS EXCL +SYSTEM: echo Removing export_nodep" ] + +# Test ignoring remove commands: only effects commandline. +[ "`modprobe -r -i noexport_dep-$BITNESS 2>&1`" = "DELETE_MODULE: noexport_dep_$BITNESS EXCL +SYSTEM: echo Removing export_nodep" ] + # Test aliases doing removal. [ "`modprobe -r alias_to_noexport_nodep-$BITNESS 2>&1`" = "DELETE_MODULE: noexport_nodep_$BITNESS EXCL " ] [ "`modprobe -r alias_to_noexport_dep-$BITNESS 2>&1`" = "DELETE_MODULE: noexport_dep_$BITNESS EXCL diff --git a/tests/test-modprobe/22recursiveinstall.sh b/tests/test-modprobe/22recursiveinstall.sh index 0c98e1a..53b0c60 100755 --- a/tests/test-modprobe/22recursiveinstall.sh +++ b/tests/test-modprobe/22recursiveinstall.sh @@ -28,7 +28,7 @@ mkdir -p tests/tmp/sys/module [ "`modprobe noexport_dep-$BITNESS 2>&1`" = "INIT_MODULE: $SIZE_EXPORT_NODEP INIT_MODULE: $SIZE_NOEXPORT_DEP " ] -# Check it's happy if we tell it dep is already instealled +# Check it's happy if we tell it dep is already installed mkdir -p tests/tmp/sys/module mkdir -p tests/tmp/sys/module/export_nodep_$BITNESS echo "live" >tests/tmp/sys/module/export_nodep_$BITNESS/initstate @@ -37,7 +37,7 @@ echo "live" >tests/tmp/sys/module/export_nodep_$BITNESS/initstate # If there's an install command, it will be done. # Clean up sysfs (so we don't think it's loaded) -rm -rf tests/tmp/sys +rm -rf tests/tmp/sys/module/* mkdir -p tests/tmp/etc/modprobe.d echo "install export_nodep-$BITNESS COMMAND" > tests/tmp/etc/modprobe.d/modprobe.conf @@ -53,7 +53,7 @@ echo "live" >tests/tmp/sys/module/export_nodep_$BITNESS/initstate # Do dependencies even if install command. # clean up sysfs (so we don't think it's loaded) -rm -rf tests/tmp/sys +rm -rf tests/tmp/sys/module/* echo "install noexport_dep-$BITNESS COMMAND" > tests/tmp/etc/modprobe.d/modprobe.conf diff --git a/tests/test-modprobe/27cmdline-install-remove.sh b/tests/test-modprobe/27cmdline-install-remove.sh index fef02ff..9411222 100755 --- a/tests/test-modprobe/27cmdline-install-remove.sh +++ b/tests/test-modprobe/27cmdline-install-remove.sh @@ -19,6 +19,9 @@ echo "options noexport_nodep-$BITNESS file-options" > tests/tmp/etc/modprobe.d/m echo "install noexport_nodep-$BITNESS modprobe --ignore-install noexport_nodep-$BITNESS \$CMDLINE_OPTS" >> tests/tmp/etc/modprobe.d/modprobe.conf echo "install othertarget echo \$CMDLINE_OPTS otheropts" >> tests/tmp/etc/modprobe.d/modprobe.conf +# Empty /sys/module/ for install commands +mkdir -p tests/tmp/sys/module + # With quoted args [ "`modprobe noexport_nodep-$BITNESS 'foo="bar baz"' 2>&1`" = "SYSTEM: modprobe --ignore-install noexport_nodep-$BITNESS foo=\"bar baz\"" ] # With unquoted args |