/
devmod.py
67 lines (49 loc) · 1.65 KB
/
devmod.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
from remand import log, remote
def run():
log.warning('Running testing module. Do not run this on a real machine!')
log.debug('Testing popen')
proc = remote.popen(['uname'])
stdout, stderr = proc.communicate()
assert 'Linux' == stdout.strip()
log.debug('Testing getcwd()')
assert '/home/vagrant' == remote.getcwd()
log.debug('Testing chdir()')
remote.chdir('/')
assert '/' == remote.getcwd()
remote.chdir('/home/vagrant')
# create a sample file
TESTFN = 'testfile'
TESTDN = 'TESTDIR'
log.debug('Testing file')
with remote.file(TESTFN, mode='w') as out:
out.write('test')
log.debug('Testing chmod')
remote.chmod(TESTFN, 0732)
log.debug('Testing mkdir')
# FIXME: umask?
# FIXME: on exists/conflict?
remote.mkdir(TESTDN, 0700)
log.debug('Testing listdir')
assert TESTFN in remote.listdir('.')
assert TESTDN in remote.listdir('.')
log.debug('Testing rmdir')
remote.rmdir(TESTDN)
# FIXME: can't test chown without root access
log.debug('Testing normalize')
assert '/home' == remote.normalize('./..')
log.debug('Testing symlink')
remote.symlink('to', 'from')
log.debug('Testing lstat')
remote.lstat('from')
log.debug('Testing readlink')
assert remote.readlink('/home/vagrant/from') == 'to'
log.debug('Testing rename')
remote.rename('from', 'from2')
assert remote.readlink('/home/vagrant/from2') == 'to'
log.debug('Testing unlink')
remote.unlink('/home/vagrant/from2')
log.debug('Testing stat')
s = remote.stat(TESTFN)
assert s.st_uid == 1000
assert s.st_gid == 1000
remote.unlink(TESTFN)