1 import sys, os, time, random, subprocess
2 from bup import client, git
8 s += chr(random.randrange(0,256))
15 def test_server_split_with_indexes():
16 os.environ['BUP_MAIN_EXE'] = '../../../bup'
17 os.environ['BUP_DIR'] = bupdir = 'buptest_tclient.tmp'
18 subprocess.call(['rm', '-rf', bupdir])
21 c = client.Client(bupdir, create=True)
22 rw = c.new_packwriter()
33 def test_dumb_client_server():
34 os.environ['BUP_MAIN_EXE'] = '../../../bup'
35 os.environ['BUP_DIR'] = bupdir = 'buptest_tclient.tmp'
36 subprocess.call(['rm', '-rf', bupdir])
38 os.mknod(git.repo('bup-dumb-server'))
44 c = client.Client(bupdir, create=True)
45 rw = c.new_packwriter()
46 WVPASSEQ(len(os.listdir(c.cachedir)), 1)
48 WVPASSEQ(len(os.listdir(c.cachedir)), 1)
51 WVPASSEQ(len(os.listdir(c.cachedir)), 2)
55 def test_midx_refreshing():
56 os.environ['BUP_MAIN_EXE'] = bupmain = '../../../bup'
57 os.environ['BUP_DIR'] = bupdir = 'buptest_tmidx.tmp'
58 subprocess.call(['rm', '-rf', bupdir])
65 pi = git.PackIdxList(bupdir + '/objects/pack')
66 WVPASSEQ(len(pi.packs), 2)
68 WVPASSEQ(len(pi.packs), 2)
69 subprocess.call([bupmain, 'midx', '-f'])
71 WVPASSEQ(len(pi.packs), 1)
72 pi.refresh(skip_midx=True)
73 WVPASSEQ(len(pi.packs), 2)
74 pi.refresh(skip_midx=False)
75 WVPASSEQ(len(pi.packs), 1)
78 def test_remote_parsing():
80 (':/bup', ('file', None, None, '/bup')),
81 ('file:///bup', ('file', None, None, '/bup')),
82 ('192.168.1.1:/bup', ('ssh', '192.168.1.1', None, '/bup')),
83 ('ssh://192.168.1.1:2222/bup', ('ssh', '192.168.1.1', '2222', '/bup')),
84 ('ssh://[ff:fe::1]:2222/bup', ('ssh', 'ff:fe::1', '2222', '/bup')),
85 ('bup://foo.com:1950', ('bup', 'foo.com', '1950', None)),
86 ('bup://foo.com:1950/bup', ('bup', 'foo.com', '1950', '/bup')),
87 ('bup://[ff:fe::1]/bup', ('bup', 'ff:fe::1', None, '/bup')),
89 for remote, values in tests:
90 WVPASSEQ(client.parse_remote(remote), values)
92 client.parse_remote('http://asdf.com/bup')
94 except AssertionError: