From 3789ba2654fe958b80ebafeb380a1a2258dc9e32 Mon Sep 17 00:00:00 2001 From: Matthieu Patou Date: Fri, 8 Jan 2010 13:10:30 +0300 Subject: s4-python: add more unit tests for xattr manipulation in python --- source4/scripting/python/samba/tests/xattr.py | 50 +++++++++++++++++++++------ 1 file changed, 39 insertions(+), 11 deletions(-) (limited to 'source4/scripting') diff --git a/source4/scripting/python/samba/tests/xattr.py b/source4/scripting/python/samba/tests/xattr.py index f0e6f31515..9beff93933 100644 --- a/source4/scripting/python/samba/tests/xattr.py +++ b/source4/scripting/python/samba/tests/xattr.py @@ -17,34 +17,62 @@ # along with this program. If not, see . # -from samba.xattr import wrap_getxattr, wrap_setxattr, is_xattr_supported +import samba.xattr_native, samba.xattr_tdb from samba.dcerpc import xattr from samba.ndr import ndr_pack, ndr_unpack from unittest import TestCase import random import os +import tdb class XattrTests(TestCase): - def test_set_packeddata(self): - if is_xattr_supported(): + def test_set_xattr_native(self): + if samba.xattr_native.is_xattr_supported(): random.seed() - - tempf=os.path.join(os.environ("SELFTEST_PREFIX"),"pytests"+str(int(100000*random.random()))) + path=os.environ['SELFTEST_PREFIX'] + tempf=os.path.join(path,"pytests"+str(int(100000*random.random()))) ntacl=xattr.NTACL() ntacl.version = 1 open(tempf, 'w').write("empty") - wrap_setxattr(tempf,"user.unittests",ndr_pack(ntacl)) + samba.xattr_native.wrap_setxattr(tempf,"user.unittests",ndr_pack(ntacl)) os.unlink(tempf) - def test_set_and_get(self): - if is_xattr_supported(): + def test_set_and_get_native(self): + if samba.xattr_native.is_xattr_supported(): random.seed() - tempf=os.path.join(os.environ("SELFTEST_PREFIX"),"pytests"+str(int(100000*random.random()))) + path=os.environ['SELFTEST_PREFIX'] + tempf=os.path.join(path,"pytests"+str(int(100000*random.random()))) reftxt="this is a test" open(tempf, 'w').write("empty") - wrap_setxattr(tempf,"user.unittests",reftxt) - text = wrap_getxattr(tempf,"user.unittests") + samba.xattr_native.wrap_setxattr(tempf,"user.unittests",reftxt) + text = samba.xattr_native.wrap_getxattr(tempf,"user.unittests") self.assertEquals(text,reftxt) os.unlink(tempf) + def test_set_xattr_tdb(self): + path=os.environ['SELFTEST_PREFIX'] + eadb=tdb.Tdb(os.path.join(path,"eadb.tdb"), 50000, tdb.DEFAULT, os.O_CREAT|os.O_RDWR) + random.seed() + tempf=os.path.join(path,"pytests"+str(int(100000*random.random()))) + ntacl=xattr.NTACL() + ntacl.version = 1 + open(tempf, 'w').write("empty") + samba.xattr_tdb.wrap_setxattr(eadb,tempf,"user.unittests",ndr_pack(ntacl)) + os.unlink(tempf) + os.unlink(os.path.join(path,"eadb.tdb")) + + def test_set_and_get_tdb(self): + path=os.environ['SELFTEST_PREFIX'] + eadb=tdb.Tdb(os.path.join(path,"eadb.tdb"), 50000, tdb.DEFAULT, os.O_CREAT|os.O_RDWR) + random.seed() + tempf=os.path.join(path,"pytests"+str(int(100000*random.random()))) + reftxt="this is a test" + open(tempf, 'w').write("empty") + samba.xattr_tdb.wrap_setxattr(eadb,tempf,"user.unittests",reftxt) + text = samba.xattr_tdb.wrap_getxattr(eadb,tempf,"user.unittests") + self.assertEquals(text,reftxt) + os.unlink(tempf) + os.unlink(os.path.join(path,"eadb.tdb")) + + -- cgit