#!/usr/bin/env python3 ''' Access Control Lists testing based on newpynfs framework Aurelien Charbon - Bull SA ''' from random_gen import * from optparse import OptionParser import subprocess import os import threading import time import random alphabet='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789_-() ~' t_alphabet=len(alphabet) def test_longacl(l,path): # mesures sur le getfacl test = RandomGen() u = subprocess.getoutput('rm ' + path + "/*") # clean directory print("test acl getfacl\n") for i in range(l): test.getUserList() testfile = 'testfile' + str(i) u = subprocess.getoutput('touch ' + path + "/" + testfile) print("setfacl with " + str(i) + " entries\n " + u) for j in range(i): user = test.uList.pop() mode = test.createRandomMode() u = subprocess.getoutput('setfacl -m u:' + user + ':' + mode + " " + path + "/" + testfile) if u != "": print("setfacl -m u:" + user + ':' + mode + " " + path + "/" + testfile) print(u) def main(): parser = OptionParser() parser.add_option("-l", "--length", dest="length",type="int",help="max lentgh of ACL") parser.add_option("-p", "--path", dest="path",help="path of test file") (options, args) = parser.parse_args() test_longacl(options.length,options.path) main()