def test_truncate(): K = KVFS(dict()) K.create("/blub") K.write("/blub", "hello world") K.truncate("/blub", 5) data = K.read("/blub", 10) assert data == "hello"
def test_basic_readwrite(): msg = "Hello Wörld!" K = KVFS(dict()) K.create("/blub") K.write("/blub", msg, 0) msg2 = K.read("/blub", len(msg), 0) assert msg == msg2, (msg, msg2)
def test_sizes(): msg = "tis is äi dest mässätsch" K = KVFS(dict()) K.create("/blub") attr = K.getattr("/blub") assert attr['st_size'] == 0, attr['st_size'] K.write("/blub", msg) attr = K.getattr("/blub") assert attr['st_size'] == len(msg), (attr['st_size'], len(msg))
def test_hardlink(): msg = "Hello Wörld!" K = KVFS(dict()) K.create("/blub") K.write("/blub", msg) K.link("/bla", "/blub") # This doesn't work if 'write' and 'link' order is changed, # but that problem is a deeper one. msg2 = K.read("/bla", len(msg)) assert msg == msg2, (msg, msg2)
def test_dir_operations(): K = KVFS(dict()) assert stat.S_ISDIR(K.getattr("/")['st_mode']) K.mkdir("/bla") assert "bla" in K.readdir("/") K.create("/bla/blub") assert "blub" in K.readdir("/bla") assert stat.S_ISREG(K.getattr("/bla/blub")['st_mode']) K.remove("/bla") assert not "bla" in K.readdir("/") assert stat.S_ISDIR(K.getattr("/")['st_mode'])
def test_basic_file(): """testing basic file properties""" K = KVFS(dict()) K.create("/blub") assert "blub" in K.readdir("/") attr = K.getattr("/blub") assert stat.S_ISREG(attr['st_mode']) K.remove("/blub") print list(K.readdir("/")) assert not "blub" in K.readdir("/") K.flush()
def test_rename(): K = KVFS(dict()) K.mkdir("/sub") K.rename("/sub", "/dir") assert "dir" in K.readdir("/") assert not "sub" in K.readdir("/") # and again with changing directory K.create("/dir/sub") assert "sub" in K.readdir("/dir") K.rename("/dir/sub", "/blub") assert "blub" in K.readdir("/") assert not "sub" in K.readdir("/dir")
def test_attributes(): K = KVFS(dict()) K.create("/blub") attr = K.getattr("/blub") assert not 'extended' in attr attr['extended'] = "grins" K.setattr("/blub", attr) attr = K.getattr("/blub") assert 'extended' in attr assert attr['extended'] == "grins" del attr['extended'] K.setattr("/blub", attr) attr = K.getattr("/blub") assert not 'extended' in attr
def test_exists_symlink(): K = KVFS(dict()) K.create("/blub") K.create("/bla") K.symlink("/bla", "/blub")
def test_regular_readlink(): K = KVFS(dict()) K.create("/blub") K.readlink("/blub")
def test_double_create(): K = KVFS(dict()) K.create("/blub") K.create("/blub")
def test_symlink(): K = KVFS(dict()) K.create("/blub") K.symlink("/bla", "/blub") assert stat.S_ISLNK(K.getattr("/bla")['st_mode']) assert K.readlink("/bla") == "/blub"