Changeset 44070 in vbox for trunk/src/VBox/Installer/linux/testcase/tstInstallInit.sh
- Timestamp:
- Dec 9, 2012 10:16:25 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Installer/linux/testcase/tstInstallInit.sh
r44049 r44070 19 19 20 20 tab=" " 21 tmpbase="/tmp/tstInstallInit 99"21 tmpbase="/tmp/tstInstallInit 99" # Space in the name for a little stress... 22 22 23 23 ## The function definition at the start of every non-trivial shell script! … … 92 92 esac 93 93 94 # Test an init script installation 94 # Create a simulated init system layout. 95 create_simulated_init_tree() 96 { 97 tmpdir="${1}" 98 rm -rf "${tmpdir}" 99 mkdir -m 0700 "${tmpdir}" || abort "Failed to create a temporary folder." 100 mkdir -p "${tmpdir}/init.d/" "${tmpdir}/rc.d/init.d/" 101 for i in 0 1 2 3 4 5 6; do 102 mkdir "${tmpdir}/rc${i}.d/" "${tmpdir}/rc.d/rc${i}.d/" 103 done 104 mkdir "${tmpdir}/run" 105 } 106 107 # Test an init script installation. 95 108 print_line "installing an init script." 96 109 failed="" 97 110 # Create a simulated init system layout. 98 111 tmpdir="${tmpbase}0" 99 rm -rf "${tmpdir}" 100 mkdir -m 0700 "${tmpdir}" || abort "Failed to create a temporary folder." 101 mkdir -p "${tmpdir}/init.d/" "${tmpdir}/rc.d/init.d/" 102 for i in 0 1 2 3 4 5 6; do 103 mkdir "${tmpdir}/rc${i}.d/" "${tmpdir}/rc.d/rc${i}.d/" 104 done 105 mkdir "${tmpdir}/run" 112 create_simulated_init_tree "${tmpdir}" 106 113 # Create the service binary. 107 114 test_service "${tmpdir}" "service" 108 115 # And install it. 109 helpers/install_service --command "${tmpdir}/service" --arguments "test of my\ arguments" --description "My description" --prefix "${tmpdir}" --enabled 116 helpers/install_service --command "${tmpdir}/service" --arguments "test of my\ arguments" --description "My description" --prefix "${tmpdir}" --enable || 117 fail_msg "\"helpers/install_service\" failed." 110 118 # Check that the main service file was created as specified. 111 119 if test -x "${tmpdir}/init.d/service"; then … … 119 127 # Try to start the service using the symbolic links which should have been 120 128 # created. 121 if "${tmpdir}/rc3.d/S20service" --prefix "${tmpdir}" --lsb-functions "" start >/dev/null ; then129 if "${tmpdir}/rc3.d/S20service" --prefix "${tmpdir}" --lsb-functions "" start >/dev/null 2>&1; then 122 130 if grep "1: test 2: of 3: my arguments" "${tmpdir}/started" >/dev/null; then 123 131 test -f "${tmpdir}/stopped" && … … 130 138 fi 131 139 # Check the status. 132 "${tmpdir}/rc.d/rc5.d/S20service" --prefix "${tmpdir}" --lsb-functions "" status >/dev/null ||140 "${tmpdir}/rc.d/rc5.d/S20service" --prefix "${tmpdir}" --lsb-functions "" status >/dev/null 2>&1 || 133 141 fail_msg "\"${tmpdir}/rc.d/rc5.d/S20service\" reported the wrong status." 134 142 # Try to stop the service using the symbolic links which should have been 135 143 # created. 136 if "${tmpdir}/rc.d/rc6.d/K80service" --prefix "${tmpdir}" --lsb-functions "" stop >/dev/null ; then144 if "${tmpdir}/rc.d/rc6.d/K80service" --prefix "${tmpdir}" --lsb-functions "" stop >/dev/null 2>&1; then 137 145 test -f "${tmpdir}/stopped" || 138 146 echo "\"${tmpdir}/rc.d/rc6.d/K80service\" did not stop correctly." … … 141 149 fi 142 150 # Check the status again - now it should be stopped. 143 "${tmpdir}/rc.d/rc3.d/S20service" --prefix "${tmpdir}" --lsb-functions "" status >/dev/null &&151 "${tmpdir}/rc.d/rc3.d/S20service" --prefix "${tmpdir}" --lsb-functions "" status >/dev/null 2>&1 && 144 152 fail_msg "\"${tmpdir}/rc.d/rc3.d/S20service\" reported the wrong status." 145 153 # Final summary. … … 149 157 echo SUCCESS 150 158 fi 159 160 # Test an init script removal. 161 print_line "removing an init script." 162 failed="" 163 # Create a simulated init system layout. 164 tmpdir="${tmpbase}0" 165 create_simulated_init_tree "${tmpdir}" 166 # Create the service binary. 167 test_service "${tmpdir}" "service" 168 # Install it. 169 helpers/install_service --command "${tmpdir}/service" --arguments "test of my\ arguments" --description "My description" --prefix "${tmpdir}" --enable || 170 fail_msg "\"helpers/install_service\" failed." 171 # And remove it again. 172 helpers/install_service --command "${tmpdir}/service" --prefix "${tmpdir}" --remove || 173 fail_msg "\"helpers/install_service\" failed." 174 # After uninstallation this should be the only file left in the init tree. 175 rm "${tmpdir}/service" 176 test "x`find "${tmpdir}" -type f -o -type l`" = "x" || 177 fail_msg "not all files were removed." 178 # Final summary. 179 if test -n "${failed}"; then 180 echo "${failed}" 181 else 182 echo SUCCESS 183 fi 184 185 # Test an enabled init script update with --disable. 186 print_line "updating an enabled init script with --disable." 187 failed="" 188 # Create a simulated init system layout. 189 tmpdir="${tmpbase}1" 190 create_simulated_init_tree "${tmpdir}" 191 # Create the service binary. 192 test_service "${tmpdir}" "service" 193 # Install it. 194 helpers/install_service --command "${tmpdir}/service" --arguments "test of my\ arguments" --description "My description" --prefix "${tmpdir}" --enable || 195 fail_msg "\"helpers/install_service\" failed." 196 # Install it disabled without forcing. 197 helpers/install_service --command "${tmpdir}/service" --arguments "test of my\ arguments" --description "My description" --prefix "${tmpdir}" --disable || 198 fail_msg "\"helpers/install_service\" failed." 199 test "x`find "${tmpdir}"/rc*.d -type l | wc -l`" = "x12" || 200 fail_msg "links were removed on non-forced disable." 201 # Final summary. 202 if test -n "${failed}"; then 203 echo "${failed}" 204 else 205 echo SUCCESS 206 fi 207 208 # Test updating a disabled init script with --enable. 209 print_line "updating a disabled init script with --enable." 210 failed="" 211 # Create a simulated init system layout. 212 tmpdir="${tmpbase}2" 213 create_simulated_init_tree "${tmpdir}" 214 # Create the service binary. 215 test_service "${tmpdir}" "service" 216 # Install it. 217 helpers/install_service --command "${tmpdir}/service" --arguments "test of my\ arguments" --description "My description" --prefix "${tmpdir}" --disable || 218 fail_msg "\"helpers/install_service\" failed." 219 # Install it disabled without forcing. 220 helpers/install_service --command "${tmpdir}/service" --arguments "test of my\ arguments" --description "My description" --prefix "${tmpdir}" --enable || 221 fail_msg "\"helpers/install_service\" failed." 222 test "x`find "${tmpdir}"/rc*.d -type l`" = "x" || 223 fail_msg "files were installed on non-forced enable." 224 # Final summary. 225 if test -n "${failed}"; then 226 echo "${failed}" 227 else 228 echo SUCCESS 229 fi 230 231 # Test an enabled init script update with --force-disable. 232 print_line "updating an enabled init script with --force-disable." 233 failed="" 234 # Create a simulated init system layout. 235 tmpdir="${tmpbase}3" 236 create_simulated_init_tree "${tmpdir}" 237 # Create the service binary. 238 test_service "${tmpdir}" "service" 239 # Install it. 240 helpers/install_service --command "${tmpdir}/service" --arguments "test of my\ arguments" --description "My description" --prefix "${tmpdir}" --enable || 241 fail_msg "\"helpers/install_service\" failed." 242 # Install it disabled without forcing. 243 helpers/install_service --command "${tmpdir}/service" --arguments "test of my\ arguments" --description "My description" --prefix "${tmpdir}" --force-disable || 244 fail_msg "\"helpers/install_service\" failed." 245 test "x`find "${tmpdir}"/rc*.d -type l`" = "x" || 246 fail_msg "links were not removed on forced disable." 247 # Final summary. 248 if test -n "${failed}"; then 249 echo "${failed}" 250 else 251 echo SUCCESS 252 fi 253 254 # Test updating a disabled init script with --force-enable. 255 print_line "updating a disabled init script with --force-enable." 256 failed="" 257 # Create a simulated init system layout. 258 tmpdir="${tmpbase}4" 259 create_simulated_init_tree "${tmpdir}" 260 # Create the service binary. 261 test_service "${tmpdir}" "service" 262 # Install it. 263 helpers/install_service --command "${tmpdir}/service" --arguments "test of my\ arguments" --description "My description" --prefix "${tmpdir}" --disable || 264 fail_msg "\"helpers/install_service\" failed." 265 # Install it disabled without forcing. 266 helpers/install_service --command "${tmpdir}/service" --arguments "test of my\ arguments" --description "My description" --prefix "${tmpdir}" --force-enable || 267 fail_msg "\"helpers/install_service\" failed." 268 test "x`find "${tmpdir}"/rc*.d -type l | wc -l`" = "x12" || 269 fail_msg "files were not installed on forced enable." 270 # Final summary. 271 if test -n "${failed}"; then 272 echo "${failed}" 273 else 274 echo SUCCESS 275 fi
Note:
See TracChangeset
for help on using the changeset viewer.