CS-PROJECTS / job_control / tests / src
src
Raw
#!/usr/bin/python
#
# cmd_hist_test: tests the functionality of the command hiistoy
# 
# Test the ability to display the history and run previous commands from the history 
#
# Requires the following commands to be implemented
# or otherwise usable:
#
#	N/A. One must also be able to handle porperly running jobs in the background
#

import sys, imp, atexit, signal, time, threading
from testutils import *

console = setup_tests()

# ensure that shell prints expected prompt
expect_prompt()

# run a command
sendline("sleep 60 &")

#Used to get the jobid and pid of the sleep process
(jobid, pid) = parse_bg_status()

sendline("history")

expect_exact("1: sleep 60 &")
expect_exact("2: history")

# ensure that shell prints expected prompt
expect_prompt("Shell did not print expected prompt (2)")

# run a command
sendline("history 1")

expect_exact("3: history 1")

# ensure that shell prints expected prompt
expect_prompt("Shell did not print expected prompt (2)")

# # run a command
sendline("sleep 60 &")

# #Used to get the jobid and pid of the sleep process
(jobid, pid) = parse_bg_status()

# # run a command
sendline("!!")

# #Used to get the jobid and pid of the sleep process
(jobid, pid) = parse_bg_status()

# # ensure that shell prints expected prompt
expect_prompt("Shell did not print expected prompt (2)")

# # run a command
sendline("!1")

# #Used to get the jobid and pid of the sleep process
(jobid, pid) = parse_bg_status()

# # run a command
sendline("!sleep")

# #Used to get the jobid and pid of the sleep process
(jobid, pid) = parse_bg_status()

# ensure that shell prints expected prompt
expect_prompt("Shell did not print expected prompt (2)")

test_success()