]> arthur.barton.de Git - bup.git/blob - t/tclient.py
PackIdxList.refresh(): remember to exclude old midx files.
[bup.git] / t / tclient.py
1 import os, time, random, subprocess
2 from bup import client, git, hashsplit
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     git.init_repo(bupdir)
19     lw = git.PackWriter()
20     c = client.Client(bupdir, create=True)
21     rw = c.new_packwriter()
22
23     lw.new_blob(s1)
24     lw.close()
25
26     rw.new_blob(s2)
27     rw.breakpoint()
28     rw.new_blob(s1)
29     
30
31 @wvtest
32 def test_midx_refreshing():
33     os.environ['BUP_MAIN_EXE'] = bupmain = './bup'
34     os.environ['BUP_DIR'] = bupdir = 'buptest_tmidx.tmp'
35     subprocess.call(['rm', '-rf', bupdir])
36     git.init_repo(bupdir)
37     lw = git.PackWriter()
38     lw.new_blob(s1)
39     lw.breakpoint()
40     lw.new_blob(s2)
41     del lw
42     pi = git.PackIdxList(bupdir + '/objects/pack')
43     WVPASSEQ(len(pi.packs), 2)
44     pi.refresh()
45     WVPASSEQ(len(pi.packs), 2)
46     subprocess.call([bupmain, 'midx', '-f'])
47     pi.refresh()
48     WVPASSEQ(len(pi.packs), 1)
49     pi.refresh(skip_midx=True)
50     WVPASSEQ(len(pi.packs), 2)
51     pi.refresh(skip_midx=False)
52     WVPASSEQ(len(pi.packs), 1)