import os
import unittest
import warnings
import sys
from test import test_support

dirpath = sys.argv[1]
class FileTests(unittest.TestCase):
    
    def setUp(self):
        pass
        
    def test_access_w(self):
        f = os.open(dirpath, os.O_CREAT)
        os.close(f)
        os.system("echo y| cacls %s /D Everyone" % dirpath)
        self.assert_(not os.access(dirpath, os.W_OK))
        self.assert_(not os.access(unicode(dirpath), os.W_OK))
        os.system("echo y| cacls %s /G Everyone:R" % dirpath)
        self.assert_(not os.access(dirpath, os.W_OK))
        self.assert_(not os.access(unicode(dirpath), os.W_OK))
        os.system("echo y| cacls %s /G Everyone:W" % dirpath)
        self.assert_(os.access(dirpath, os.W_OK))
        self.assert_(os.access(unicode(dirpath), os.W_OK))
        os.system("attrib +r %s" % dirpath)
        self.assert_(not os.access(unicode(dirpath), os.W_OK))
        os.system("attrib -r %s" % dirpath)
        os.system("echo y| cacls %s /G Everyone:C" % dirpath)
        self.assert_(os.access(dirpath, os.W_OK))
        self.assert_(os.access(unicode(dirpath), os.W_OK))
        os.system("attrib +r %s" % dirpath)
        self.assert_(not os.access(unicode(dirpath), os.W_OK))
        os.system("attrib -r %s" % dirpath)
        os.unlink(dirpath)
        self.assert_(not os.access(dirpath, os.W_OK))
        self.assert_(not os.access(unicode(dirpath), os.W_OK))
    
    
def test_main():
    test_support.run_unittest(FileTests)

if __name__ == "__main__":
    test_main()