]> arthur.barton.de Git - bup.git/blob - lib/bup/t/tclient.py
Add optional dumb-server mode
[bup.git] / lib / bup / t / tclient.py
1 import sys, os, time, random, subprocess
2 from bup import client, git
3 from wvtest import *
4
5 def randbytes(sz):
6     s = ''
7     for i in xrange(sz):
8         s += chr(random.randrange(0,256))
9     return s
10
11 s1 = randbytes(10000)
12 s2 = randbytes(10000)
13     
14 @wvtest
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])
19     git.init_repo(bupdir)
20     lw = git.PackWriter()
21     c = client.Client(bupdir, create=True)
22     rw = c.new_packwriter()
23
24     lw.new_blob(s1)
25     lw.close()
26
27     rw.new_blob(s2)
28     rw.breakpoint()
29     rw.new_blob(s1)
30     
31
32 @wvtest
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])
37     git.init_repo(bupdir)
38     os.mknod(git.repo('bup-dumb-server'))
39
40     lw = git.PackWriter()
41     lw.new_blob(s1)
42     lw.close()
43
44     c = client.Client(bupdir, create=True)
45     rw = c.new_packwriter()
46     WVPASSEQ(len(os.listdir(c.cachedir)), 1)
47     rw.new_blob(s1)
48     WVPASSEQ(len(os.listdir(c.cachedir)), 1)
49     rw.new_blob(s2)
50     rw.close()
51     WVPASSEQ(len(os.listdir(c.cachedir)), 2)
52
53
54 @wvtest
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])
59     git.init_repo(bupdir)
60     lw = git.PackWriter()
61     lw.new_blob(s1)
62     lw.breakpoint()
63     lw.new_blob(s2)
64     del lw
65     pi = git.PackIdxList(bupdir + '/objects/pack')
66     WVPASSEQ(len(pi.packs), 2)
67     pi.refresh()
68     WVPASSEQ(len(pi.packs), 2)
69     subprocess.call([bupmain, 'midx', '-f'])
70     pi.refresh()
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)