X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=test%2Fint%2Ftest_client.py;h=40580b33610bc462e27396ca969fde7de68a5647;hb=42c8f4f4c411b622b622a4f813b0b904e1ca23f9;hp=17e3a41af54896cf44810c9647b88a421a0115a4;hpb=53b57e5fcb1980d49c22d1fd53d992cee3b2797a;p=bup.git diff --git a/test/int/test_client.py b/test/int/test_client.py index 17e3a41..40580b3 100644 --- a/test/int/test_client.py +++ b/test/int/test_client.py @@ -4,7 +4,7 @@ import os, time, random, subprocess, glob import pytest from bup import client, git, path -from bup.compat import bytes_from_uint, environ, range +from bup.compat import bytes_from_uint, environ def randbytes(sz): s = b'' @@ -23,12 +23,10 @@ IDX_PAT = b'/*.idx' def test_server_split_with_indexes(tmpdir): environ[b'BUP_DIR'] = bupdir = tmpdir git.init_repo(bupdir) - with git.PackWriter() as lw, \ - client.Client(bupdir, create=True) as c, \ - c.new_packwriter() as rw: + with git.PackWriter() as lw: lw.new_blob(s1) - lw.close() - + with client.Client(bupdir, create=True) as c, \ + c.new_packwriter() as rw: rw.new_blob(s2) rw.breakpoint() rw.new_blob(s1) @@ -122,25 +120,26 @@ def test_midx_refreshing(tmpdir): p2base = rw.close() p2name = os.path.join(c.cachedir, p2base) - pi = git.PackIdxList(bupdir + b'/objects/pack') - assert len(pi.packs) == 2 - pi.refresh() - assert len(pi.packs) == 2 - assert sorted([os.path.basename(i.name) for i in pi.packs]) == sorted([p1base, p2base]) - - p1 = git.open_idx(p1name) - assert p1.exists(s1sha) - p2 = git.open_idx(p2name) - assert not p2.exists(s1sha) - assert p2.exists(s2sha) - - subprocess.call([path.exe(), b'midx', b'-f']) - pi.refresh() - assert len(pi.packs) == 1 - pi.refresh(skip_midx=True) - assert len(pi.packs) == 2 - pi.refresh(skip_midx=False) - assert len(pi.packs) == 1 + with git.PackIdxList(bupdir + b'/objects/pack') as pi: + assert len(pi.packs) == 2 + pi.refresh() + assert len(pi.packs) == 2 + assert sorted([os.path.basename(i.name) for i in pi.packs]) \ + == sorted([p1base, p2base]) + + with git.open_idx(p1name) as p1, \ + git.open_idx(p2name) as p2: + assert p1.exists(s1sha) + assert not p2.exists(s1sha) + assert p2.exists(s2sha) + + subprocess.call([path.exe(), b'midx', b'-f']) + pi.refresh() + assert len(pi.packs) == 1 + pi.refresh(skip_midx=True) + assert len(pi.packs) == 2 + pi.refresh(skip_midx=False) + assert len(pi.packs) == 1 def test_remote_parsing():