# pull the jobid and pid from the background process printout (jobid, pid) = shellio.parse_regular_expression(c, def_module.bgjob_regex) # ensure that the shell prints the expected prompt assert c.expect(def_module.prompt) == 0, "Shell did not print expected prompt" #The job needs to be running when we call stop proc_check.count_children_timeout(c, 1, 1) # send the stop command to the process c.sendline(def_module.builtin_commands['stop'] % jobid) #Ensure that sleep has enough time to stop before we read its #/proc/ pid /stat file. time.sleep(.5) #Ensure that sleep is now stopped in the background, and is not #the foreground process. assert not proc_check.check_pid_fgpgrp(pid), \ 'Error: process is in the foreground' assert proc_check.check_pid_status(pid, 'T'), 'Error: process not stopped' #check the prompt prints assert c.expect(def_module.prompt) == 0, "Shell did not print expected prompt" c.sendline("exit") assert c.expect_exact("exit\r\n") == 0, "Shell output extraneous characters" shellio.success()
# ensure that shell prints expected prompt assert c.expect(def_module.prompt) == 0, "Shell did not print expected prompt" # send the stop command to the process c.sendline(def_module.builtin_commands["stop"] % jobid) # Ensure that sleep has enough time to stop before we read its # /proc/ /stat file. proc_check.count_children_timeout(c, 1, 1) # Ensure that sleep is now stopped in the background, and is not # the foreground process. assert not proc_check.check_pid_fgpgrp(pid), "Error: process is in the foreground" assert proc_check.check_pid_status(pid, "T"), "Error: process not stopped" # check the prompt prints assert c.expect(def_module.prompt) == 0, "Shell did not print expected prompt" # resume the sleep program c.sendline(def_module.builtin_commands["bg"] % jobid) # check the prompt prints assert c.expect(def_module.prompt) == 0, "Shell did not print expected prompt" # Ensure that sleep has enough time to start before we read its # /proc/ /stat file. proc_check.count_children_timeout(c, 1, 1)
#The job needs to be running when we call stop proc_check.count_children_timeout(c, 1, 1) # send the stop command to the process c.sendline(def_module.builtin_commands['stop'] % jobid) #Ensure that sleep has enough time to stop before we read its #/proc/ pid /stat file. time.sleep(.5) #Ensure that sleep is now stopped in the background, and is not #the foreground process. assert not proc_check.check_pid_fgpgrp(pid), \ 'Error: process is in the foreground' assert proc_check.check_pid_status(pid, 'T'), 'Error: process not stopped' #check the prompt prints assert c.expect(def_module.prompt) == 0, "Shell did not print expected prompt" c.sendline("exit"); assert c.expect_exact("exit\r\n") == 0, "Shell output extraneous characters" shellio.success()