Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
can_execute = False
assert should_match == can_execute, (
should_match, can_execute, mode_str)
# exercise whether which(1) would match
proc = subprocess.Popen((bin_which, fname),
env={'PATH': bin_dir},
stdout=subprocess.PIPE)
bin_which_match = bool(not proc.wait())
assert should_match == bin_which_match, (
should_match, bin_which_match, mode_str)
# finally, exercise pexpect's which(1) matches
# the same.
pexpect_match = bool(pexpect.which(fname))
assert should_match == pexpect_match == bin_which_match, (
should_match, pexpect_match, bin_which_match, mode_str)
finally:
# restore,
os.environ['PATH'] = save_path
# destroy scratch files and folders,
if os.path.exists(bin_path):
os.unlink(bin_path)
if os.path.exists(bin_dir):
os.rmdir(bin_dir)
os.system("happy-node-leave node04 network03")
os.system("happy-node-leave node05 network03")
os.system("happy-node-leave node06 network03")
os.system("happy-node-delete node01")
os.system("happy-node-delete node02")
os.system("happy-node-delete node03")
os.system("happy-node-delete node04")
os.system("happy-node-delete node05")
os.system("happy-node-delete node06")
os.system("happy-network-delete network01")
os.system("happy-network-delete network02")
os.system("happy-network-delete network03")
child = pexpect.spawn("happy-state")
child.expect(' Prefixes\r\n\r\nNODES Name Interface Type IPs\r\n\r\n')
child.close(force=True)
def test_expect_setecho_off(self):
'''This tests that echo may be toggled off.
'''
p = pexpect.spawn('cat', echo=True, timeout=5)
try:
self._expect_echo_toggle(p)
except IOError:
if sys.platform.lower().startswith('sunos'):
if hasattr(unittest, 'SkipTest'):
raise unittest.SkipTest("Not supported on this platform.")
return 'skip'
raise
def test_expect_basic (self):
p = pexpect.spawnu('cat')
p.sendline('Hello')
p.sendline('there')
p.sendline('Mr. þython') # þ is more like th than p, but never mind
p.expect('Hello')
p.expect('there')
p.expect('Mr. þython')
p.sendeof ()
p.expect (pexpect.EOF)
i = 1
for d in test_config['disks']:
os.system("rm -f %s" % d)
os.system("truncate -s 10G %s" % d)
extra_disks += " -s 31:%d,virtio-blk,%s" % (i, d)
i=i+1
# Part 1: Do a clean install using the ISO
cmd = "bhyvectl --destroy --vm=%s" % test_config['vm_name']
print
ret = os.system(cmd)
cmd = "bhyveload -m %s -d %s %s" % (test_config['ram'], test_config['iso'], test_config['vm_name'])
print cmd
child1 = pexpect.spawn(cmd)
child1.logfile = sys.stdout
child1.expect(pexpect.EOF)
macaddress = ""
if test_config.has_key('mac'):
macaddress = ",mac=%s" % test_config['mac']
cmd = "bhyve -c 2 -m %s -AI -H -P -g 0 -s 0:0,hostbridge -s 1:0,lpc -s 2:0,virtio-net,%s%s -s 3:0,virtio-blk,%s -l com1,stdio -s 31:0,virtio-blk,%s %s" % (test_config['ram'], test_config['tap'], macaddress, test_config['disk_img'], test_config['iso'], test_config['vm_name'])
print cmd
child2 = pexpect.spawn(cmd)
child2.logfile = sys.stdout
child2.expect(['Install'])
child2.sendline("1")
child2.expect(['Select the drive'])
child2.sendline("\n")
child2.expect(['Proceed with the installation'])
child2.sendline("Y")
child2.expect(['Please remove'], 250000)
p.sendline('3')
p.expect(PROMPT)
print '===> %r' % p.match.group(0)
p.sendline('4')
p.expect(PROMPT)
print '===> %r' % p.match.group(0)
p.sendline('1')
p.expect(pexpect.EOF)
print '===> %r' % p.before
p = _login_duo(confs)
p.sendline('2')
p.expect(pexpect.EOF)
print '===> %r' % p.before
def test_maxread ():
fd = os.open (file, os.O_RDONLY)
s = fdpexpect.fdspawn (fd)
s.maxread = 100
s.expect('2')
s.expect ('This is the end of test data:')
s.expect (pexpect.EOF)
assert s.before == ' END\n'
def test_winsize (self):
'''
This tests that the child process can set and get the windows size.
This makes use of an external script sigwinch_report.py.
'''
p1 = pexpect.spawn('%s sigwinch_report.py' % self.PYTHONBIN)
p1.expect('READY', timeout=10)
p1.setwinsize (11,22)
index = p1.expect ([pexpect.TIMEOUT, b'SIGWINCH: \(([0-9]*), ([0-9]*)\)'],
timeout=30)
if index == 0:
self.fail("TIMEOUT -- this platform may not support sigwinch properly.\n" + str(p1))
self.assertEqual(p1.match.group(1, 2), (b"11" ,b"22"))
self.assertEqual(p1.getwinsize(), (11, 22))
time.sleep(1)
p1.setwinsize (24,80)
index = p1.expect ([pexpect.TIMEOUT, b'SIGWINCH: \(([0-9]*), ([0-9]*)\)'],
timeout=10)
if index == 0:
self.fail ("TIMEOUT -- this platform may not support sigwinch properly.\n" + str(p1))
self.assertEqual(p1.match.group(1, 2), (b"24" ,b"80"))
self.assertEqual(p1.getwinsize(), (24, 80))
p1.close()
try:
mav.wait_heartbeat()
setup_rc(mavproxy)
homeloc = mav.location()
# Arm the motors
wait_ready_to_arm(mavproxy)
if not arm_motors(mavproxy, mav):
print("Failed to arm motors")
return False
# Perform mission
return mission(mavproxy, mav)
# enforce a time limit
except pexpect.TIMEOUT:
print("Failed: time out")
return False
finally:
mav.close()
util.pexpect_close(mavproxy)
util.pexpect_close(sitl)
index = gdb.expect([u'{0}.+{1}'.format(pattern, gdb_prompt),
pexpect.TIMEOUT])
if index == 0:
# gdb.after now contains the whole match. Extract the text that
# matches 'pattern'.
match = re.match(pattern, gdb.after, re.DOTALL).group()
elif index == 1:
# We got a timeout exception. Print information on what caused it
# and bail out.
error = ('Response does not match the expected pattern.\n'
'Command: {0}\n'
'Expected pattern: {1}\n'
'Response: {2}'.format(command, pattern, gdb.before))
raise pexpect.TIMEOUT(error)
else:
# Consume just the the gdb prompt.
gdb.expect(gdb_prompt)
return match