Exemple #1
0
def_module = imp.load_source('', definitions_scriptname)
logfile = None
if hasattr(def_module, 'logfile'):
    logfile = def_module.logfile

#spawn an instance of the shell
c = pexpect.spawn(def_module.shell, drainpty=True, logfile=logfile)
atexit.register(force_shell_termination, shell_process=c)

# ensure that shell prints expected prompt
assert c.expect(def_module.prompt) == 0, "Shell did not print expected prompt"

#create a new file
c.sendline("echo -n test input... > in_test.txt")

# print the contents of the in_test
c.sendline("cat in_test.txt")

# make sure the test file was created correctly
assert c.expect_exact(
    "test input...") == 0, "Shell did not print the expected prompt"

# remove the test file
c.sendline("rm in_test.txt")

#exit
c.sendline("exit")
assert c.expect("exit\r\n") == 0, "Shell output extraneous characters"

shellio.success()
def force_shell_termination(shell_process):
	c.close(force=True)

#pulling in the regular expression and other definitions
definitions_scriptname = sys.argv[1]
def_module = imp.load_source('', definitions_scriptname)
logfile = None
if hasattr(def_module, 'logfile'):
    logfile = def_module.logfile

# spawn an instance of the shell
c = pexpect.spawn(def_module.shell, drainpty=True, logfile=logfile, args=['-p','plugins/'])
atexit.register(force_shell_termination, shell_process=c)

# set timeout for all following 'expect*' calls to 2 seconds
c.timeout = 2

#test with valid numbers
c.sendline("reverse hello")
assert c.expect("olleh") == 0, "Wrong answer!"

#test with invalid numbers

# end the shell program by sending it an end-of-file character
c.sendline("exit");
# ensure that no extra characters are output after exiting
assert c.expect_exact("exit\r\n") == 0, "Shell output extraneous characters"

# the test was successful
shellio.success()