tstInstallerLinux.sh revision cf0c5109e04ca2939c011edb5ac034987591fd9e
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrse# Oracle VM VirtualBox
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrse# VirtualBox linux installation script unit test
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrse# Copyright (C) 2007-2011 Oracle Corporation
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrse# This file is part of VirtualBox Open Source Edition (OSE), as
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrse# available from http://www.virtualbox.org. This file is free software;
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrse# you can redistribute it and/or modify it under the terms of the GNU
d86ef5503dcbc38e87c0e03cd3e1f16458cb6323rse# General Public License (GPL) as published by the Free Software
d86ef5503dcbc38e87c0e03cd3e1f16458cb6323rse# Foundation, in version 2 as it comes in the "COPYING" file of the
bc8fd1b0b1afdf89b8d28eefa8cd74e26ba97986fielding# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
d86ef5503dcbc38e87c0e03cd3e1f16458cb6323rse# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrseecho "Testing udev rule generation"
d86ef5503dcbc38e87c0e03cd3e1f16458cb6323rse *) echo Unknown command $command >&2; exit 1;;
d86ef5503dcbc38e87c0e03cd3e1f16458cb6323rse # Set up unit testing environment for the "install_udev" function below.
d86ef5503dcbc38e87c0e03cd3e1f16458cb6323rse eval 'my_rm() { case "$2" in "/etc/udev/rules.d/60-vboxdrv.rules") true ;; *) echo "rm: bad file name \"$2\"!"; false ;; esac ; }'
d86ef5503dcbc38e87c0e03cd3e1f16458cb6323rseKERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="vboxusers", MODE="0660"
d86ef5503dcbc38e87c0e03cd3e1f16458cb6323rseSUBSYSTEM=="usb_device", ACTION=="add", RUN+="/opt/VirtualBox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}"
d86ef5503dcbc38e87c0e03cd3e1f16458cb6323rseSUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", RUN+="/opt/VirtualBox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}"
d86ef5503dcbc38e87c0e03cd3e1f16458cb6323rseSUBSYSTEM=="usb_device", ACTION=="remove", RUN+="/opt/VirtualBox/VBoxCreateUSBNode.sh --remove $major $minor"
d86ef5503dcbc38e87c0e03cd3e1f16458cb6323rseSUBSYSTEM=="usb", ACTION=="remove", ENV{DEVTYPE}=="usb_device", RUN+="/opt/VirtualBox/VBoxCreateUSBNode.sh --remove $major $minor"
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrseinstall_udev_output="`install_udev vboxusers 0660 /opt/VirtualBox`"
a943533fd4d91d114af622731a405407990c4fb1rse echo "Bad output for udev version 59. Expected:"
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrse echo "Actual:"
7933d4a963def02417113b6798d87a36395053b0rseKERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="vboxusers", MODE="0660"
71c00f988beb28388702e14cb7fe06f08bd792bbdougminstall_udev_output="`install_udev vboxusers 0660 /opt/VirtualBox`"
71c00f988beb28388702e14cb7fe06f08bd792bbdougm echo "Bad output for udev version 55. Expected:"
7933d4a963def02417113b6798d87a36395053b0rse echo "Actual:"
7933d4a963def02417113b6798d87a36395053b0rseKERNEL="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="root", MODE="0600"
7933d4a963def02417113b6798d87a36395053b0rseinstall_udev_output="`install_udev root 0600 /usr/lib/virtualbox`"
7933d4a963def02417113b6798d87a36395053b0rse echo "Bad output for udev version 54. Expected:"
7933d4a963def02417113b6798d87a36395053b0rse echo "Actual:"
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrseecho "Testing device node setup"
7933d4a963def02417113b6798d87a36395053b0rse echo Unknown command $command >&2; exit 1;;
7933d4a963def02417113b6798d87a36395053b0rse # Set up unit testing environment for the "install_udev" function below.
7933d4a963def02417113b6798d87a36395053b0rse test_inst_dir="$3" # The expected installation directory
7933d4a963def02417113b6798d87a36395053b0rse eval 'do_install_udev() { test "$1" = "${test_drv_grp}" \
7933d4a963def02417113b6798d87a36395053b0rse -a "$2" = "${test_drv_mode}" \
7933d4a963def02417113b6798d87a36395053b0rse -a "$3" = "${test_inst_dir}" \
7933d4a963def02417113b6798d87a36395053b0rse -a "$4" = "${test_usb_grp}" \
7933d4a963def02417113b6798d87a36395053b0rse -a "$5" = "${INSTALL_NO_UDEV}" \
7933d4a963def02417113b6798d87a36395053b0rse || echo "do_install_udev: bad parameters: $@" >&2 ; }'
7933d4a963def02417113b6798d87a36395053b0rse test "$1" = "${sysfs_usb_devices}" \
7933d4a963def02417113b6798d87a36395053b0rse -a "$2" = "${test_inst_dir}/VBoxCreateUSBNode.sh" \
7933d4a963def02417113b6798d87a36395053b0rse -a "$3" = "${test_usb_grp}" \
7933d4a963def02417113b6798d87a36395053b0rse || echo "do_install_create_usb_node_for_sysfs: \
7933d4a963def02417113b6798d87a36395053b0rsebad parameters: $@" >&2 ; }'
7933d4a963def02417113b6798d87a36395053b0rsesetup_test_input_install_device_node_setup vboxusers 0660 /opt/VirtualBox \
7933d4a963def02417113b6798d87a36395053b0rsecommand="install_device_node_setup vboxusers 0660 /opt/VirtualBox vboxusb"
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrsesetup_test_input_install_device_node_setup root 0660 /opt/VirtualBox root
7933d4a963def02417113b6798d87a36395053b0rsecommand="install_device_node_setup vboxusers 0660 /opt/VirtualBox vboxusb"
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrsesetup_test_input_install_device_node_setup vboxusers 0660 /opt/VirtualBox \
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrsecommand="install_device_node_setup vboxusers 0660 /opt/VirtualBox vboxusb"
cc003103e52ff9d5fe9bed567ef9438613ab4fbfrseecho "Done. Error count $CERRS."